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.2014JavaServer 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Архитектура уровня команд платформы Java, формат файла класса Java. Компилятор ассемблероподобного языка, позволяющий создавать файлы классов, корректно обрабатываемые реальной JVM, поддерживающий все команды байт-кода Java и важнейшие возможности JVM.
курсовая работа [292,6 K], добавлен 17.09.2008Понятие и функциональные особенности Java Card как версии Java-платформы для устройств с крайне ограниченными вычислительными ресурсами, оценка ее возможностей и необходимых ресурсов. Анализ степени безопасности платформы, взаимодействие компонентов.
презентация [1,0 M], добавлен 19.05.2014Кратка историческая справка развития языка Java. Анализ предметной области. Java platform, enterprise and standart edition. Апплеты, сервлеты, gui-приложения. Розработка программного кода, консольное приложение. Результаты работы апплета, сервлета.
курсовая работа [549,2 K], добавлен 23.12.2015Создание языка программирования с помощью приложения "Java". История названия и эмблемы Java. Обзор многообразия современных текстовых редакторов. Обработка строки. Методы в классе String. Java: задачи по обработке текста. Примеры программирования.
курсовая работа [276,1 K], добавлен 19.07.2014Разработка графического редактора для рисования двухмерной и трехмерной графики, используя язык программирования Java и интерфейсы прикладного программирования Java 2D и Java 3D. Создание графического редактора 3D Paint. Основные методы класса Graphics.
курсовая работа [197,5 K], добавлен 19.11.2009Ознакомление со способом вывода графики в приложениях с использованием метода paintComponent. Рассмотрение основных характеристик компонента JPanel. Правила вывода геометрических фигур в Java; выбор параметров начертания линий, шрифта и заливки.
лекция [521,5 K], добавлен 01.05.2014Трансляция как процесс перевода программного кода из текстовой формы в машинные коды. Основные категории программ Java. Основные управляющие операторы. Объявление и инициализация переменных. Основные средства разработки приложений, написанных на Java.
презентация [938,2 K], добавлен 26.10.2013Методология объектно-ориентированного программирования в Java. Понятия класса, объекта и объектной переменной. Динамическая и статическая объектные модели. Логическое структурирование приложения. Наследование в Java. Отличия интерфейсов от классов.
курс лекций [547,2 K], добавлен 01.05.2014Выполнение Java-программы. Набор программ и классов JDK. Объектно-ориентированное программирование в Java. Принципы построения графического интерфейса. Компонент и контейнер графической системы. Апплеты как программы, работающие в среде браузера.
курсовая работа [42,3 K], добавлен 08.02.2011Java RMI как тип удаленного вызова процедур, независимого от сети, основные шаги работы с ним и назначение. Сравнение распределенных и нераспределенных Java программ. Уровни архитектуры, заглушки и скелета, удаленных ссылок и транспорта Java RMI.
лабораторная работа [24,6 K], добавлен 30.06.2009