为什么我的程序不起作用?我想使用borderlayout,每个按钮做不同的事情。我做了很多研究,但我仍然遇到错误,而且我迷失了。
提前感谢您的帮助。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Guard10 {
public static void main(String[] args)
{
new Guard10()
}
public Guard10()
{
JFrame myFrame = new JFrame();
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setTitle("Show BorderLayout");
myFrame.setSize(300, 200);
myFrame.setLocationRelativeTo(null);
// Add buttons to the frame
JButton labelButton = new JButton ("one");
labelButton.addActionListener(new LabelListener()
{
@Override
public void actionPerformed (ActionEvent event)
{
System.out.println ("You clicked it!");
}
});
////////////
JButton button2 = new JButton ("two");
button2.addActionListener(new Button2Listener()
{
@Override
public void actionPerformed (ActionEvent event)
{
System.out.println ("YAY!");
}
}
myFrame.add(labelButton,BorderLayout.SOUTH);
myFrame.add(button2,BorderLayout.NORTH)
myFrame.setVisible(true);
}
}
答案 0 :(得分:2)
你只是忘了一些分号和括号。以下更正的代码正在运行。此外,如果您不做任何事情,请使用标准ActionListener
,但要覆盖actionPerformed
。
public class Guard10 {
public static void main(String[] args)
{
new Guard10();
}
public Guard10()
{
JFrame myFrame = new JFrame();
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setTitle("Show BorderLayout");
myFrame.setSize(300, 200);
myFrame.setLocationRelativeTo(null);
// Add buttons to the frame
JButton labelButton = new JButton ("one");
labelButton.addActionListener(new ActionListener()
{
@Override
public void actionPerformed (ActionEvent event)
{
System.out.println ("You clicked it!");
}
});
////////////
JButton button2 = new JButton ("two");
button2.addActionListener(new ActionListener()
{
@Override
public void actionPerformed (ActionEvent event)
{
System.out.println ("YAY!");
}
});
myFrame.add(labelButton,BorderLayout.SOUTH);
myFrame.add(button2,BorderLayout.NORTH);
myFrame.setVisible(true);
}
}
如果您尝试编译,则会获得堆栈跟踪中的所有错误。只需看看线条就可以找出问题所在。我还建议您使用像Eclipse或IntelliJ Idea这样的IDE,它们会在您键入代码时标记语法错误。