У меня возникли проблемы с реализацией ActionListener. В моем классе addbutton это не позволит мне использовать ActionListener. То, что я пытаюсь сделать, это отобразить два JFrame и нажать кнопку в качестве кнопки. У меня все остальное работает, ожидая нажатия кнопки. Кнопка появляется, но нажатие на нее ничего не делает, поэтому я добавляю ActionListener, и он не определен для моего метода. Что я делаю не так и что я могу сделать, чтобы это исправить. Спасибо.
import java.awt.event.ActionEvent;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JButton;
@SuppressWarnings("serial")
public class PictureTest extends JFrame {
public static class addbutton extends JFrame implements ActionListener{
public addbutton() {
JFrame button = new JFrame();
JButton take = new JButton("Take Please");
button.add(take);
add(take);
button.addActionListener(this); //This line is the issue
}
public void actionPerformed(ActionEvent e) {
e.getSource();
System.out.println("Here");
}
}
public PictureTest() {
ImageIcon image = new ImageIcon("c:/Vending/pepsi.jpg");
JLabel label = new JLabel(image);
JPanel soda = new JPanel();
soda.add(label);
add(soda);
}
public static void main(String[] args) {
PictureTest frame = new PictureTest();
addbutton button = new addbutton();
frame.setSize(250, 450);
frame.setTitle("Pepsi");
frame.setLocation(200, 100);
frame.setUndecorated(true);
button.setSize(105, 25);
button.setLocation(275, 550);
button.setUndecorated(true);
button.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
button.setVisible(true);
}
}