Note that there are some explanatory texts on larger screens.

plurals
  1. POHow Do I get the buttons to work? Java Programming
    primarykey
    data
    text
    <p>I created an <code>Address Book GUI</code>, I just don't understand How to make the save and delete buttons to work, so when the user fills the text fields they can click save and it saves to the <code>JList</code> I have created and then they can also delete from it. How Do I Do this?</p> <pre><code>import javax.swing.*; import java.awt.event.*; import java.awt.*; public class AddressBook { private JLabel lblFirstname,lblSurname, lblMiddlename, lblPhone, lblEmail,lblAddressOne, lblAddressTwo, lblCity, lblPostCode, picture; private JTextField txtFirstName, txtSurname, txtAddressOne, txtPhone, txtMiddlename, txtAddressTwo, txtEmail, txtCity, txtPostCode; private JButton btSave, btExit, btDelete; private JList contacts; private JPanel panel; public static void main(String[] args) { new AddressBook(); } public AddressBook(){ JFrame frame = new JFrame("My Address Book"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(900,400); frame.setVisible(true); panel = new JPanel(); panel.setLayout(null); panel.setBackground(Color.cyan); lblFirstname = new JLabel("First name"); lblFirstname.setBounds(135, 50, 150, 20); Font styleOne = new Font("Arial", Font.BOLD, 13); lblFirstname.setFont(styleOne); panel.add(lblFirstname); txtFirstName = new JTextField(); txtFirstName.setBounds(210, 50, 150, 20); panel.add(txtFirstName); lblSurname = new JLabel ("Surname"); lblSurname.setBounds(385,50,150,20); Font styleTwo = new Font ("Arial",Font.BOLD,13); lblSurname.setFont(styleTwo); panel.add(lblSurname); txtSurname = new JTextField(); txtSurname.setBounds(450,50,150,20); panel.add(txtSurname); lblMiddlename = new JLabel ("Middle Name"); lblMiddlename.setBounds(620,50,150,20); Font styleThree = new Font ("Arial", Font.BOLD,13); lblMiddlename.setFont(styleThree); panel.add(lblMiddlename); txtMiddlename = new JTextField(); txtMiddlename.setBounds(710,50,150,20); panel.add(txtMiddlename); lblPhone = new JLabel("Phone"); lblPhone.setBounds(160,100,100,20); Font styleFour = new Font ("Arial", Font.BOLD,13); lblPhone.setFont(styleFour); panel.add(lblPhone); txtPhone = new JTextField(); txtPhone.setBounds(210,100,150,20); panel.add(txtPhone); lblEmail = new JLabel("Email"); lblEmail.setBounds(410,100,100,20); Font styleFive = new Font ("Arial", Font.BOLD,13); lblEmail.setFont(styleFive); panel.add(lblEmail); txtEmail = new JTextField(); txtEmail.setBounds(450,100,150,20); panel.add(txtEmail); lblAddressOne = new JLabel("Address 1"); lblAddressOne.setBounds(145,150,100,20); Font styleSix = new Font ("Arial", Font.BOLD,13); lblAddressOne.setFont(styleSix); panel.add(lblAddressOne); txtAddressOne = new JTextField(); txtAddressOne.setBounds(210,150,150,20); panel.add(txtAddressOne); lblAddressTwo = new JLabel("Address 2"); lblAddressTwo.setBounds(145,200,100,20); Font styleSeven = new Font ("Arial", Font.BOLD,13); lblAddressTwo.setFont(styleSeven); panel.add(lblAddressTwo); txtAddressTwo = new JTextField(); txtAddressTwo.setBounds(210,200,150,20); panel.add(txtAddressTwo); lblCity = new JLabel("City"); lblCity.setBounds(180,250,100,20); Font styleEight = new Font ("Arial", Font.BOLD,13); lblCity.setFont(styleEight); panel.add(lblCity); txtCity = new JTextField(); txtCity.setBounds(210,250,150,20); panel.add(txtCity); lblPostCode = new JLabel("Post Code"); lblPostCode.setBounds(380,250,100,20); Font styleNine = new Font ("Arial", Font.BOLD,13); lblPostCode.setFont(styleNine); panel.add(lblPostCode); txtPostCode = new JTextField(); txtPostCode.setBounds(450,250,150,20); panel.add(txtPostCode); //image ImageIcon image = new ImageIcon("C:\\Users\\Hassan\\Desktop\\icon.png"); picture = new JLabel(image); picture.setBounds(600,90, 330, 270); panel.add(picture); //buttons btSave = new JButton ("Save"); btSave.setBounds(380,325,100,20); panel.add(btSave); btDelete = new JButton ("Delete"); btDelete.setBounds(260,325,100,20); panel.add(btDelete); btExit = new JButton ("Exit"); btExit.setBounds(500,325,100,20); panel.add(btExit); btExit.addActionListener(new Action()); //list contacts=new JList(); contacts.setBounds(0,10,125,350); panel.add(contacts); frame.add(panel); frame.setVisible(true); } //button actions static class Action implements ActionListener { public void actionPerformed(ActionEvent e) { JFrame option = new JFrame(); int n = JOptionPane.showConfirmDialog(option, "Are you sure you want to exit?", "Exit?", JOptionPane.YES_NO_OPTION); if(n == JOptionPane.YES_OPTION){ System.exit(0); } } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload