rendered paste bodyimport javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
public class Osoba extends JFrame implements ActionListener, Comparable<Osoba>{
String imie, nazwisko;
JLabel etykieta= new JLabel ("Podaj imie i nazwisko:");
JTextField wiersz = new JTextField(10);
JTextField wiersz2 = new JTextField(10);
JButton zapisz=new JButton("Zapisz");
JButton usun=new JButton("Usun");
JButton wyczysc=new JButton("Wyczysc");
JCheckBox wyswietlAuto = new JCheckBox("Wyswietl automatycznie");
JButton wyswietl=new JButton("Wyswietl");
TreeSet<String> treeset = new TreeSet();
WidokKolekcji widoktreeset;
public String toString()
{
return imie+" "+nazwisko;
}
public int hashCode()
{
int hash = 1;
hash = hash * 17 + nazwisko.hashCode();
hash = hash * 31 + imie.hashCode();
return hash;
}
public boolean equals(Osoba os)
{
if(this.imie.compareTo(os.imie)== 0)
if(this.nazwisko.compareTo(os.nazwisko) == 0)
return true;
return false;
}
public int compareTo(Osoba os)
{
int x = 0;
x = this.nazwisko.compareTo(os.nazwisko);
x = x + this.imie.compareTo(os.imie);
return x;
}
Osoba()
{
super("Osoby");
setSize(550,380);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel= new JPanel();
panel.add(etykieta);
panel.add(wiersz);
panel.add(wiersz2);
zapisz.addActionListener(this);
panel.add(zapisz);
usun.addActionListener(this);
panel.add(usun);
wyczysc.addActionListener(this);
panel.add(wyczysc);
wyswietlAuto.addActionListener(this);
panel.add(wyswietlAuto);
wyswietl.addActionListener(this);
panel.add(wyswietl);
widoktreeset = new WidokKolekcji(125,150, "tree set:");
panel.add(widoktreeset);
setContentPane(panel);
setVisible(true);
}
public void actionPerformed (ActionEvent evt)
{
String im,naz;
Object zrodlo = evt.getSource();
if (zrodlo==zapisz)
{
im = wiersz.getText();
naz = wiersz2.getText();
if (!im.equals(""))
{
treeset.add(im+" "+naz);
}
}
else
if (zrodlo==wyczysc)
{
treeset.clear();
}
else
if (zrodlo==usun)
{
im=wiersz.getText();
treeset.remove(im);
}
if((zrodlo==wyswietl) || (wyswietlAuto.isSelected()) )
{
Iterator iterator;
widoktreeset.clear();
iterator = treeset.iterator();
while(iterator.hasNext())
{
im = (String)iterator.next();
widoktreeset.addItem(im);
}
}
}
static public void main(String arg[])
{
new Osoba();
}
}
class WidokKolekcji extends JScrollPane
{
private JList lista;
private DefaultListModel modelListy;
WidokKolekcji(int szerokosc, int wysokosc, String opis)
{ super();
modelListy = new DefaultListModel();
lista = new JList(modelListy);
setViewportView(lista);
setPreferredSize(new Dimension(szerokosc, wysokosc));
setBorder(BorderFactory.createTitledBorder(opis));
}
void clear()
{ modelListy.clear();
}
void addItem(Object obj)
{ modelListy.addElement(obj);
}
}