All pastes #2093641 Raw Edit

Untitled

public text v1 · immutable
#2093641 ·published 2011-11-10 20:09 UTC
rendered paste body
import 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);
    }
}