Проблема с JButton и ActionListener

#java #swing

#java #качать

Вопрос:

Эй, ребята, я действительно ценю любую помощь, но недавно я кодировал это простое программное обеспечение и столкнулся со странной проблемой. Я пытался использовать ActionListener, но я немного запутался. Прошло некоторое время с тех пор, как я это сделал. Извините, если это просто небрежная ошибка.

Код:

 import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class startScreen implements ActionListener {
    JFrame mainFrame;
    JPanel mainPanel;
    JButton gotIt;

    private final String gotItText = "Got It!";

    public static void main(String[] args) {
        startScreen a = new startScreen();

        a.screenSetup();
    }

    private void screenSetup() {
        mainFrame = new JFrame();
        mainPanel = new JPanel();
        gotIt = new JButton();

        mainFrame.add(mainPanel);
        mainPanel.add(gotIt);

        gotIt.setText(gotItText);

        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        mainFrame.setVisible(true);
        mainFrame.pack();
    }

    @Override
    public void actionPerformed(ActionEvent arg0) {
        JButton buttonPressed = (JButton) arg0.getSource();
        if (buttonPressed==gotIt) {
            System.out.println("gotIt has been pressed!");
        }

    }

}
  

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

1. В чем именно проблема? Возможно, вы просто забыли добавить ActionListener в JButton…

Ответ №1:

Вы должны добавить свой ActionListener в нужный вам компонент. Здесь проблема в том, что вы определили функцию, но не добавили ее в свою кнопку. Я думаю, что эта ссылка дает вам очень хорошее представление о том, как это работает.

http://alvinalexander.com/java/jbutton-listener-pressed-actionlistener

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

1. Ха-ха, вот что я забыл!