Java: таблицы, сортировка, редактирование
Работа с использованием своего варианта. Лабораторная работа 9, работа с файлами. Public static OrShcoolDeSerialize (String p) throws IOException {. System.out.print («Vvedite POL rebenka (Муж/Жен): «); До редактирования досортировки: System.out.print («Vveditevozrastshkolnika (лет): «); System.out.print («Rebenok — «+name+», Pol — «); X. setWorkAge (Integer.valueOf (textField2.getText… Читать ещё >
Java: таблицы, сортировка, редактирование (реферат, курсовая, диплом, контрольная)
Таблицы представлены классом JTable. Класс JTable соответствует шаблону MVC, т. е. модельвид-контроллер. Данные, представленные в таблице, храниться в модели, а то, что мы видим на экране есть представление данных из модели для этой таблицы. Вот это главное, что надо понять про класс JTable. Работа JTable сортировка и редактирование в самой таблице Цель Ознакомится с использованием компонента JTable.
Работа с использованием своего варианта.
Лабораторная работа 9, работа с файлами.
Скриншеты:
Рис.
До редактирования досортировки:
Рис.
После редактирования:
Рис.
После сортировки:
Рис.
Код программы:
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 textField1;
privateJTextField textField2;
privateJTextField textField3;
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 lblNewLabel1 = new JLabel («God ychebi: «);
lblNewLabel1.setBounds (20, 94, 90, 14);
getContentPane ().add (lblNewLabel1);
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);
textField1 = new JTextField ();
textField1.setBounds (102, 64, 150, 20);
getContentPane ().add (textField1);
textField1.setColumns (10);
textField2 = new JTextField ();
textField2.setBounds (102, 91, 150, 20);
getContentPane ().add (textField2);
textField2.setColumns (10);
textField3 = new JTextField ();
textField3.setBounds (102, 119, 150, 20);
getContentPane ().add (textField3);
textField3.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 (textField3.getText ());
x.setWorkAge (Integer.valueOf (textField2.getText ()));
//String sex = textField1.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);
textField1.setText (null);
textField2.setText (null);
textField3.setText (null);
}.
}.
importjava.io.Serializable;
importjava.util.*;
public class EmChild implements Serializable {.
private static final long serialVersionUID = 303 816 233 337 758 1446L;
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, Serializable {.
private static final long serialVersionUID = -222 075 019 862 015 9042L;
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 = 864 124 278 948 780 5448L;
private String musicType;
//private int N, i;
//private Musician[] nMus;
ArrayListnMus = new ArrayList ();
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.
{.
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/2 218 588.flat
- 2. http://docs.oracle.com/javase/7/docs/api/javax/swing/table/TableRowSorter.html