Java 我在将ActionListener实现到基于swing的GUI中时遇到问题
我想能够检测我的按钮,曾经如此方便命名的按钮被点击时,我有困难使它成为那样。这里有一些代码Java 我在将ActionListener实现到基于swing的GUI中时遇到问题,java,swing,actionlistener,Java,Swing,Actionlistener,我想能够检测我的按钮,曾经如此方便命名的按钮被点击时,我有困难使它成为那样。这里有一些代码 import java.awt.GridLayout; import java.awt.event; import javax.swing.BorderFactory; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JButton; public class Main implements ActionL
import java.awt.GridLayout;
import java.awt.event;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
public class Main implements ActionListener
//im having immense problems implementing the action listener.
{
public static void main(String[] args)
{
new GUI(); // calling in main.
System.out.print("test for bad wifi because my wifi hates me"); // I'm using a cloud based ide
}
JFrame frame1 = new JFrame();
JPanel panel1 = new JPanel();
JFrame frame2 = new JFrame(); //not in use yet
JPanel panel2 = new JPanel(); //""
public void GUI()
{
JButton button = new JButton("moment");
button.addActionListener(this);
panel1.setBorder(BorderFactory.createEmptyBorder( 30, 30, 30, 30 ));
panel1.setLayout(new GridLayout(0, 1));
panel1.add(button);
frame1.add(panel1, BorderLayout.CENTER); // frame is on the pannel or vice versa
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // funny close
frame1.setTitle("Final.");
frame1.pack();
frame1.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e)
{
}
}
非常感谢您的帮助下载并使用IDE Oracle有一个有用的教程。跳过Netbeans部分 必须按特定顺序调用
JFrame
方法。这是我用于所有Swing应用程序的顺序
这是我最后得到的完整的可运行代码
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class SimpleJButtonExample implements ActionListener {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new SimpleJButtonExample().createAndShowGUI(); // calling in main.
}
});
// I'm using a cloud based ide
System.out.println("test for bad wifi because my wifi hates me");
}
JFrame frame1 = new JFrame();
JPanel panel1 = new JPanel();
JFrame frame2 = new JFrame(); // not in use yet
JPanel panel2 = new JPanel(); // ""
public void createAndShowGUI() {
JButton button = new JButton("moment");
button.addActionListener(this);
panel1.setBorder(BorderFactory.createEmptyBorder(30, 30, 30, 30));
panel1.setLayout(new GridLayout(0, 1));
panel1.add(button);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // funny close
frame1.setTitle("Final");
frame1.add(panel1, BorderLayout.CENTER); // panel is within the frame
frame1.pack();
frame1.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Button clicked");
}
}
欢迎来到堆栈溢出。请学习如何使用堆栈溢出,并阅读如何提高问题的质量。然后检查,看看你可以问什么问题。请参阅:。根据您的代码,此语句应为button.addActionListener(this);如果您的ActionListener是一个单独的类,那么该语句将是button.addActionListener(new SeparateListener())@GilbertLeBlanc我已经试过了,它没有效果,我只是又试了一次,在你推荐了它之后,遗憾的是它仍然没有解决问题
Main.actionPerformed()
是空的。对于空方法,您希望做什么?我只是想让按钮当前正常工作
我不明白您的意思。那么告诉我们什么是目前不起作用的:什么是你期望的,什么是你得到的。收到错误消息了吗?