我正试图学习在Java中使用Jframes,我想从简单的开始。我想做一个JFrame,里面的按钮有不同的用法。一个按钮应该改变背景颜色的框架,但它什么也不做(我离开了进口,但我有他们在我的代码)
public class Main{
static MyFrame frame = new MyFrame("Test");;
public static void main(String[] args) {
MyButton change = new MyButton("Change Color", "changeColor");
MyButton exit = new MyButton("Exit", "exit");
frame.setSize(500, 250);
frame.setVisible(true);
frame.add(change);
frame.add(exit);
}
}
public class MyFrame extends JFrame{
MyFrame(String title){
super(title);
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
public class MyButton extends JButton implements ActionListener{
String use;
MyButton(String title, String use){
super(title);
this.use = use;
addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
if(use.equals("exit")){
System.exit(0);
}else if(use.equals("changeColor")){
Main.frame.setBackground(Color.blue);
repaint();
}
}
}
1条答案
按热度按时间luaexgnf1#
JFrame
。JPanel
并使用它来容纳组件等。static main
入口点的一个。对于像这样的小程序,只需在主公共类之后添加没有任何访问级别修饰符(public,private等)的类。它可以使调试和修改更容易。缺点是对于大型程序,您将不必要地编译所有内容。在这种情况下,请使用单独的类文件。下面是一个使用map保存Color名称和Color对象的示例,用于创建JButton及其actionListener。