Как заставить кнопки на этом графическом интерфейсе работать?
Я пытаюсь создать графический интерфейс, который увеличит число, когда вы нажмете одну кнопку, и уменьшит это число, когда вы нажмете другую кнопку. Это мой код:
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class PushCounter { static JTextField textArea; static int count = 0; public static void main(String[] args) { JFrame frame = new JFrame("PushCounter"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); JButton upButton = new JButton("Up"); JButton downButton = new JButton("Down"); JTextField textArea = new JTextField(15); JLabel label = new JLabel("Count"); upButton.addActionListener(new upButtonListener()); downButton.addActionListener(new downButtonListener()); panel.add(label); panel.add(textArea); panel.add(downButton); panel.add(upButton); frame.getContentPane().add(panel); frame.setVisible(true); frame.pack(); } private static class upButtonListener implements ActionListener { public void actionPerformed(ActionEvent event) { ++count; textArea.setText(Integer.toString(count)); } } private static class downButtonListener implements ActionListener { public void actionPerformed(ActionEvent event) { --count; textArea.setText(Integer.toString(count)); } } }
Он компилируется, но сам графический интерфейс не работает. Делать то, что случилось с ним? Как бы вы создали что-то подобное и почему?
Что я уже пробовал:
Я сделал внутренние классы статичными, чтобы исправить невозможно сделать статическую ссылку на нестатическое поле ошибка. Это должно было заставить его компилироваться. Я понятия не имею, что с ним сейчас.
Richard MacCutchan
Что вы имеете в виду - не работает"?
Member 13310143
Если вы запустите код, то увидите графический интерфейс с меткой, текстовым полем и 2 кнопками. При нажатии любой из кнопок происходит сбой программы. Не знаю почему.
Richard MacCutchan
Перейдите по ссылке, которую я дал вам ниже, и изучите статью. Он объясняет, как это сделать правильно.