Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package invatatlab61;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.GridLayout;
- import java.awt.Toolkit;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.util.Collections;
- import java.util.Comparator;
- import java.util.Iterator;
- import java.util.Vector;
- import javax.swing.DefaultListModel;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JList;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- class Carte {
- private String Titlu;
- private String Autor;
- private int An;
- public Carte(String Titlu, String Autor, int An ){
- this.Titlu = Titlu;
- this.Autor = Autor;
- this.An = An;
- }
- public String GetTitlu(){
- return Titlu;
- }
- public String toString(){
- return Titlu + " " + Autor + " " + An;
- }
- }
- class TitluComparator implements Comparator<Carte> {
- @Override
- public int compare(Carte o1, Carte o2) {
- String name1 = o1.GetTitlu();
- String name2 = o2.GetTitlu();
- // ascending order (descending order would be: name2.compareTo(name1))
- return name1.compareTo(name2);
- }
- }
- class Fereastra extends JFrame{
- public Fereastra(String titlu){
- super(titlu);
- Toolkit t=Toolkit.getDefaultToolkit();
- Dimension d=t.getScreenSize();
- int h=d.height;
- int w=d.width;
- setSize(w/4,h/2);
- setLocation(w/4,h/4);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- }
- public class invatatlab61 {
- static Vector<Carte> listaCarti = new Vector<Carte>();
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- JFrame f = new Fereastra("Carti");
- f.getContentPane().setLayout(new GridLayout(8,1));
- JPanel p1 = new JPanel();
- JLabel lblTitlu = new JLabel("Titlu");
- JTextField txtTitlu = new JTextField(10);
- p1.add(lblTitlu);
- p1.add(txtTitlu);
- JPanel p2 = new JPanel();
- JLabel lblAutor = new JLabel("Autor");
- JTextField txtAutor = new JTextField(10);
- p2.add(lblAutor);
- p2.add(txtAutor);
- JPanel p5 = new JPanel();
- JLabel lblAn = new JLabel("An");
- JTextField txtAn = new JTextField(10);
- p5.add(lblAn);
- p5.add(txtAn);
- JPanel p3 = new JPanel();
- JButton butonAdaugare = new JButton("Adaugare");
- JButton butonAfisare = new JButton("Afisare");
- JButton butonAfisareOrdonata = new JButton("Afisare ordonata");
- p3.add(butonAdaugare);
- p3.add(butonAfisare);
- p3.add(butonAfisareOrdonata);
- JPanel p4 = new JPanel();
- DefaultListModel<String> model = new DefaultListModel<>();
- JList<String> txtRez = new JList<>(model);
- p4.add(txtRez);
- txtRez.setPreferredSize(new Dimension(120,90));
- butonAdaugare.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e) {
- String titlu = txtTitlu.getText();
- String autor = txtAutor.getText();
- int an = Integer.parseInt(txtAn.getText());
- Carte nouaCarte = new Carte(titlu, autor, an);
- listaCarti.add(nouaCarte);
- }
- });
- butonAfisare.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e) {
- model.clear();
- for (Iterator<Carte> i = listaCarti.iterator(); i.hasNext();) {
- Carte item = i.next();
- model.addElement(item.toString());
- }
- }
- });
- butonAfisareOrdonata.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e) {
- Collections.sort(listaCarti, new TitluComparator());
- model.clear();
- for (Iterator<Carte> i = listaCarti.iterator(); i.hasNext();) {
- Carte item = i.next();
- model.addElement(item.toString());
- }
- }
- });
- f.getContentPane().add(p1);
- f.getContentPane().add(p2);
- f.getContentPane().add(p5);
- f.getContentPane().add(p3);
- f.getContentPane().add(p4);
- f.setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement