Почему я получаю это исключение? Пытаюсь создать простой графический интерфейс на Java

#java #user-interface #exception

#java #пользовательский интерфейс #исключение

Вопрос:

 import java.awt.*;


import javax.swing.*;




public class userInput extends JFrame {


private JButton newEntry;
private JButton deleteEntry;
private JButton editEntry;
private JButton saveEntry;
private JButton cancelEntry;
private FlowLayout layout;





public userInput() {

    super("My Address Book"); //sets the title!
    JTextField field = new JTextField(20);
    Container content = getContentPane();
    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(new FlowLayout());

    buttonPanel.add(newEntry);
    buttonPanel.add(deleteEntry);
    buttonPanel.add(editEntry);
    buttonPanel.add(saveEntry);
    buttonPanel.add(cancelEntry);

    add(buttonPanel, BorderLayout.SOUTH);
    content.setLayout(new BorderLayout());
    content.add(buttonPanel, "South");

    setVisible(true);





}
}
  

Вот моя программа-драйвер:

 import javax.swing.*;



public class AddressBookGui {
   public static void main (String[] args)
   {
        userInput addressBook = new userInput();
        addressBook.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //whenever you hit x you will exit the program
        addressBook.setSize(750, 600);
        addressBook.setVisible(true);

   }
}
  

Комментарии:

1. Пожалуйста, включите исключение в ваше описание.

2. Как говорили другие, включите исключение в вопрос. Также укажите строку, в которой генерируется исключение.

Ответ №1:

вы должны инициализировать newEntry перед выполнением

 newEntry = new JButton("foo");
buttonPanel.add(newEntry);
  

наряду с другими кнопками

Ответ №2:

Вы забыли выделить свои кнопки:

 newEntry = new JButton();
deleteEntry = new JButton();
...