Java: таблицы, сортировка, редактирование

Знакомство с таблицами, представленными классом Java. Рассмотрение особенностей сортировки и редактирования в самой таблице. Общая характеристика программных кодов. Анализ шаблона MVC, основное его назначение. Сферы использования компонента JTable.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 02.12.2013
Размер файла 731,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

"Java: таблицы, сортировка, редактирование"

Таблицы представлены классом JTable. Класс JTable соответствует шаблону MVC, т.е. модельвид-контроллер. Данные, представленные в таблице, храниться в модели, а то, что мы видим на экране есть представление данных из модели для этой таблицы. Вот это главное, что надо понять про класс JTable. Работа JTable сортировка и редактирование в самой таблице

Цель

Ознакомится с использованием компонента JTable.

Работа с использованием своего варианта.

Лабораторная работа 9, работа с файлами.

Скриншеты:

Рис.

До редактирования досортировки:

Рис.

После редактирования:

Рис.

java редактирование программный таблица

После сортировки:

Рис.

Код программы:

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JTextField;

importjavax.swing.JButton;

importjava.awt.event.MouseAdapter;

importjava.awt.event.MouseEvent;

public class AddFrame extends JFrame {

private static final long serialVersionUID = 1L;

privateJTextFieldtextField;

privateJTextField textField_1;

privateJTextField textField_2;

privateJTextField textField_3;

publicAddFrame() {

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setBounds(150, 150, 300, 230);

getContentPane().setLayout(null);

JLabellblNewLabel = new JLabel("ДобавитьновогоШкольника");

lblNewLabel.setBounds(59, 11, 183, 14);

getContentPane().add(lblNewLabel);

JLabellblName = new JLabel("Name: ");

lblName.setBounds(20, 39, 46, 14);

getContentPane().add(lblName);

JLabellblSex = new JLabel("Pol Rebenka: ");

lblSex.setBounds(20, 67, 90, 14);

getContentPane().add(lblSex);

JLabel lblNewLabel_1 = new JLabel("God ychebi: ");

lblNewLabel_1.setBounds(20, 94, 90, 14);

getContentPane().add(lblNewLabel_1);

JLabellblInstrument = new JLabel("Napravlenie: ");

lblInstrument.setBounds(20, 122, 90, 14);

getContentPane().add(lblInstrument);

textField = new JTextField();

textField.setBounds(102, 36, 150, 20);

getContentPane().add(textField);

textField.setColumns(10);

textField_1 = new JTextField();

textField_1.setBounds(102, 64, 150, 20);

getContentPane().add(textField_1);

textField_1.setColumns(10);

textField_2 = new JTextField();

textField_2.setBounds(102, 91, 150, 20);

getContentPane().add(textField_2);

textField_2.setColumns(10);

textField_3 = new JTextField();

textField_3.setBounds(102, 119, 150, 20);

getContentPane().add(textField_3);

textField_3.setColumns(10);

JButtonbtnAdd = new JButton("Add");

btnAdd.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent arg0) {

MuShkolnik x = new MuShkolnik();

x.setName(textField.getText());

x.setInstrument(textField_3.getText());

x.setWorkAge(Integer.valueOf(textField_2.getText()));

//String sex = textField_1.getText();

//switch (sex)

{

// case "Жен": x.setSex(false); break;

//case "Муж": x.setSex(true); break;

//default:

System.out.println("Введено некорректное значение. Пол задан по умолчанию - мужской");

//break;

}

MainFrame.orch.add(x);

MainFrame.TableRefresh();

FieldsClear();

}

});

btnAdd.setBounds(153, 150, 89, 20);

getContentPane().add(btnAdd);

}

private void FieldsClear() {

textField.setText(null);

textField_1.setText(null);

textField_2.setText(null);

textField_3.setText(null);

}

}

importjava.io.Serializable;

importjava.util.*;

public class EmChild implements Serializable {

private static final long serialVersionUID = 3038162333377581226L;

private String name;

privateboolean sex=true;

private Scanner in;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

publicbooleanisSex() {

return sex;

}

public void setSex(boolean sex) {

this.sex = sex;

}

public void read() {

in = new Scanner(System.in);

System.out.print("Vvediteimyarebenka: ");

name=in.nextLine();

System.out.print("Vvedite POL rebenka(Муж/Жен): ");

/*switch (in.next())

{

case "Жен": sex=false; break;

case "Муж": sex=true; break;

default:

System.out.println("Введено некорректное значение.Пол задан по умолчанию - мужской");

break;*/

//}

}

public void show() {

System.out.print("Rebenok - "+name+", Pol - ");

if (sex) System.out.println("Мужской");

elseSystem.out.println("Женский");

}

publicEmChild copy() {

EmChildcopyOfEmChild = new EmChild();

copyOfEmChild.name=this.name;

copyOfEmChild.sex=this.sex;

returncopyOfEmChild;

}

}

importjava.util.*;

importjava.io.Serializable;

public class MuShkolnik extends EmChild implements Comparable<MuShkolnik>, Serializable {

private static final long serialVersionUID = -2220750198620159012L;

privateintworkAge;

private String instrument;

private Scanner in;

publicintgetWorkAge() {

returnworkAge;

}

public void setWorkAge(intworkAge) {

this.workAge = workAge;

}

public String getInstrument() {

return instrument;

}

public void setInstrument(String instrument) {

this.instrument = instrument;

}

public void read() {

super.read();

in = new Scanner(System.in);

System.out.print("Vveditevozrastshkolnika(лет): ");

workAge=in.nextInt();

System.out.print("Vveditepredmetshkolnika: ");

instrument=in.next();

}

public void show() {

super.show();

System.out.print("vozrastshkolnika(лет) - "+workAge+", predmetshkolnika - "+instrument);

System.out.println();

}

publicMuShkolnik copy() {

MuShkolnikcopyOfMuShkolnik = new MuShkolnik();

copyOfMuShkolnik.setName(super.copy().getName());

copyOfMuShkolnik.setSex(super.copy().isSex());

copyOfMuShkolnik.workAge=this.workAge;

copyOfMuShkolnik.instrument=this.instrument;

returncopyOfMuShkolnik;

}

@Override

publicintcompareTo(MuShkolnikobj) {

returnthis.getWorkAge()-obj.getWorkAge();

}

}

importjava.util.*;

importjava.io.FileInputStream;

importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.io.ObjectInputStream;

importjava.io.ObjectOutputStream;

importjava.io.Serializable;

public class OrShcool implements Serializable {

private static final long serialVersionUID = 8641242789487805938L;

private String musicType;

//private int N, i;

//private Musician[] nMus;

ArrayList<MuShkolnik>nMus = new ArrayList<MuShkolnik>();

publicOrShcool() {

System.out.print("Shcool world : ");

musicType = new Scanner(System.in).next();

}

public void add(MuShkolnik m) {

nMus.add(m.copy());

}

public void deleteLast() {

nMus.remove(nMus.size()-1);

}

public void sort() {

Collections.sort(nMus);

}

public void show() {

System.out.println("shcoolstil: "+musicType);

System.out.println("Sostavshcool:");

for (int j=0; j <nMus.size(); j++ )

{

System.out.print( (j+1) + ". ");

nMus.get(j).show();

System.out.println();

}

}

public void Serialize (String p) throws IOException {

FileOutputStreamoutFile = new FileOutputStream(p);

oos.flush();

oos.close();

}

public static OrShcoolDeSerialize(String p) throws IOException {

FileInputStreaminFile = new FileInputStream(p);

ObjectInputStreamoin = new ObjectInputStream(inFile);

OrShcool o = null;

try {

o = (OrShcool)oin.readObject();

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

return o;

}

public String getMusicType() {

returnmusicType;

}

public void setMusicType(String musicType) {

this.musicType = musicType;

}

publicint size() {

returnnMus.size();

}

publicMuShkolnikgetMember(int member) {

returnnMus.get(member);

}

}

Вывод

Работа с JTable, скомпилировали и улучшили лабораторную работу №8, добавили Сортировку и редактированием прямую связано с таблицей, выводится и изменяется в консоле.

Список литературы

1. http://www.rsdn.ru/forum/java/2218588.flat

2. http://docs.oracle.com/javase/7/docs/api/javax/swing/table/TableRowSorter.html

3. Размещено на Allbest.ru

...

Подобные документы

  • Архитектура Java и Java RMI, их основные свойства, базовая система и элементы. Безопасность и виртуальная Java-машина. Интерфейс Java API. Пример использования приложения RMI. Работа с программой "Calculator". Универсальность, портативность платформ.

    курсовая работа [208,6 K], добавлен 03.12.2013

  • Особенности архитектуры Java. Технология Java Database Connectivity. Кроссплатформенность Java-приложений. Преимущества языка программирования. Логическая структура базы данных. Структура программного комплекса. Верификация программных средств.

    курсовая работа [962,8 K], добавлен 13.01.2016

  • История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.

    курсовая работа [795,9 K], добавлен 14.12.2012

  • Сетевые возможности языков программирования. Преимущества использования Java-апплетов. Классы, входящие в состав библиотеки java.awt. Создание пользовательского интерфейса. Сокетное соединение с сервером. Графика в Java. Значения составляющих цвета.

    курсовая работа [508,1 K], добавлен 10.11.2014

  • JavaServer Faces как фреймворк для веб-приложений, написанных на Java. Знакомство с особенностями разработки гостевой книги с использованием технологий JSF и PrimeFaces. Общая характеристика панели редактирования текста"editor", анализ возможностей.

    дипломная работа [4,6 M], добавлен 15.05.2014

  • Преимущество использования программ, написанных на Java, требования к ним и настройки на клиентском ПК. Развертывание и последующее "автоматическое" обновление версий GUI клиента с помощью использования технологии Java Web Start в среде Windows.

    реферат [33,2 K], добавлен 16.05.2011

  • Принцип работы Java. Аплеты как особенность Java-технологии, характеристика методов их защиты. Модель безопасности JDK1.2 и концепция "песочницы". Иерархия криптографических сервисов, алгоритмов. Объектная организация криптографической подсистемы Java.

    реферат [54,8 K], добавлен 09.09.2015

  • Особенности работы с графическими изображениями Java Script. Способы динамического управления слоями. Рассмотрение примеров использования операторов цикла. Характеристика свойств объекта form: encoding, elements, checkbox. Возможности документов HTML.

    курсовая работа [167,7 K], добавлен 09.02.2013

  • Расширяемый язык разметки XML. Описание типа документа DTD. Значение XML и платформы Java. Обзор стандартных анализаторов DOM и SAX. Технология Java Servlet, Java Server Pages (JSP), JavaBeans. Общая функциональность программного продукта. Модель данных.

    курсовая работа [422,0 K], добавлен 21.02.2009

  • Основа пользовательского интерфейса. Возможности пакетов java.awt.geom, java.awt, классов java.awt.Graphics и java.awt.Graphics2D. Основные графические примитивы и работа с потоками. Листинг программы и составление композиции аффинных преобразований.

    методичка [525,3 K], добавлен 30.06.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.