Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

Update jlist

$
0
0
Which is the best way to update my jlist?

I have 4 classes
1. Contact Contact(String name,String surname,int age,String phoneNumber)
2. ContactList which is an arraylist of Contact objects
3. ContactGui a jframe with 2 buttons(add,remove) and also contains jlist
4. ContactForm is a gui form to create a new Contact object and add it to ContactList

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
 *
 * @author Chris
 */
public class ContactForm extends JFrame{
    private JPanel panel;
    private JButton bt1;
    private JButton bt2;
    private JLabel lb1;
    private JLabel lb2;
    private JLabel lb3;
    private JLabel lb4;
    private JTextField txt1;
    private JTextField txt2;
    private JTextField txt3;
    private JTextField txt4;
    
    public ContactForm(){
        setTitle("Contact form");
        setSize(322,200);
        makeLayout();
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        setVisible(true);
    }
    
    public final void makeLayout(){
        addWindowListener(new WindowListener() { 

            @Override
            public void windowClosing(WindowEvent we) {
                dispose();
            }

            @Override
            public void windowClosed(WindowEvent we) {}  
            @Override
            public void windowOpened(WindowEvent we) {}   
            @Override
            public void windowIconified(WindowEvent we) {}
            @Override
            public void windowDeiconified(WindowEvent we) {}
            @Override
            public void windowActivated(WindowEvent we) {}
            @Override
            public void windowDeactivated(WindowEvent we) {}       
        });
        
        
        panel = new JPanel(new GridLayout(5,5,12,2));
        add(panel);
        
        lb1 = new JLabel("Name");
        panel.add(lb1);
        
        txt1 = new JTextField(20);
        panel.add(txt1);
        
        lb2 = new JLabel("Surname");
        panel.add(lb2);
        
        txt2 = new JTextField(20);
        panel.add(txt2);
        
        lb3 = new JLabel("Age");
        panel.add(lb3);
        
        txt3 = new JTextField(20);
        panel.add(txt3);
        
        lb4 = new JLabel("Phone number");
        panel.add(lb4);
        
        txt4 = new JTextField(20);
        panel.add(txt4);
        
        bt1 = new JButton("Add");
        bt1.addActionListener(new ActionListener(){
            @Override
            public void actionPerformed(ActionEvent ae) 
            {
                addNewContact();
            }
            
        });
        panel.add(bt1);
        
        bt2 = new JButton("Cancel");
        panel.add(bt2);
           
    }
    
    public void addNewContact(){
       ContactList c = new ContactList();
                
       String name = txt1.getText();
       String surname = txt2.getText();
       int age = Integer.parseInt(txt3.getText());
       String phoneNumber = txt4.getText();
                
       Contact a = new Contact(name,surname,age,phoneNumber);       
       c.addContact(a);
       c.print();   
    }
}




public class ContactGui extends JFrame{
    private JButton bt1;
    private JButton bt2;
    private JButton bt3;
    private JLabel lb1;
    private JLabel lb2;
    private JLabel lb3;
    private JPanel panel;
    private JList jlist;
    private ContactList contactList;

    /**
     * 
     */
    public ContactGui(){
        setTitle("ContactBook");
        setSize(700,700);
        makeLayout();
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);
    }
    
    /**
     * 
     */
    public final void makeLayout(){
        panel = new JPanel(new FlowLayout());
        add(panel);
        
        bt1 = new JButton("Add contact");
        bt1.addActionListener(new ActionListener(){

            @Override
            public void actionPerformed(ActionEvent ae) {
               ContactForm c = new ContactForm();
            }
        
        });
        bt1.setFocusable(false);
        panel.add(bt1);
        
        bt2 = new JButton("Remove contact");
        bt2.setFocusable(false);
        panel.add(bt2);
        
        contactList = new ContactList();
        jlist = new JList(contactList.getContacts().toArray());
        panel.add(new JScrollPane(jlist));
        
    }  
}







import java.util.ArrayList;

/**
 *
 * @author Chris
 */
public class ContactList {
    private ArrayList<Contact> contacts;
    
    /**
     * 
     */
    public ContactList(){
        contacts = new ArrayList<>();
    }

    /**
     * 
     * @return 
     */
    public ArrayList<Contact> getContacts() {
        return contacts;
    }
    
    /**
     * 
     */
    public void print(){
        for(Contact c: contacts){
            System.out.println(c.toString());
        }
    }
    
    public void addContact(Contact c){
        contacts.add(c);
    }
}





public class Contact {
    private String name;
    private String surname;
    private int age;
    private String phoneNumber;

    /**
     * 
     * @param name
     * @param surname
     * @param age
     * @param phoneNumber 
     */
    public Contact(String name, String surname, int age, String phoneNumber) {
        this.name = name;
        this.surname = surname;
        this.age = age;
        this.phoneNumber = phoneNumber;
    }

    /**
     * 
     * @return 
     */
    public String getName() {
        return name;
    }

    /**
     * 
     * @param name 
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 
     * @return 
     */
    public String getSurname() {
        return surname;
    }

    /**
     * 
     * @param surname 
     */
    public void setSurname(String surname) {
        this.surname = surname;
    }

    /**
     * 
     * @return 
     */
    public int getAge() {
        return age;
    }

    /**
     * 
     * @param age 
     */
    public void setAge(int age) {
        this.age = age;
    }

    /**
     * 
     * @return 
     */
    public String getPhoneNumber() {
        return phoneNumber;
    }

    /**
     * 
     * @param phoneNumber 
     */
    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    /**
     * 
     * @return 
     */
    @Override
    public String toString() {
        return "Contact{" + "name=" + name + ", surname=" + surname + ", age=" + age + ", phoneNumber=" + phoneNumber + '}';
    }
   
}



Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>