Java GUI显示为空(swing+;awt)
我很难让GUI包含我的任何JButton或JTextField。我有两个类,一个是包含我的主方法和框架构造函数的“Snowballfaight”类。然后我还有一个“游戏板”,它可以设置我的GUI。我的问题是,我的GUI显示为空 “打雪仗”课程: “游戏板”类别:Java GUI显示为空(swing+;awt),java,swing,user-interface,awt,Java,Swing,User Interface,Awt,我很难让GUI包含我的任何JButton或JTextField。我有两个类,一个是包含我的主方法和框架构造函数的“Snowballfaight”类。然后我还有一个“游戏板”,它可以设置我的GUI。我的问题是,我的GUI显示为空 “打雪仗”课程: “游戏板”类别: 打包打雪仗; 导入java.awt.BorderLayout; 导入javax.swing.JFrame; 导入javax.swing.JButton; 导入javax.swing.JTextField; 导入javax.swing.J
打包打雪仗;
导入java.awt.BorderLayout;
导入javax.swing.JFrame;
导入javax.swing.JButton;
导入javax.swing.JTextField;
导入javax.swing.JPanel;
导入java.awt.Color;
导入java.awt.GridLayout;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
公共类GameBoard扩展JFrame实现ActionListener{
私人JButton[][]游戏=新JButton[10][10];
私人JTextField display=newjtextfield(“欢迎参加打雪仗!”);
私人对手[]对手=新对手[4];
公共游戏板(打雪仗框架){
JPanel面板=新的JPanel();
panel.setLayout(新网格布局(10,10));
for(int row=0;row
您永远不会使游戏板
JFrame
可见
game.setVisible(true);
一些注意事项:
- 帧
没有明显的功能滚雪球
- 没有必要扩展
,因为没有添加任何功能JFrame
- 阅读
- 不确定为什么会有两个帧,但我认为您将
显示
和面板
添加到了错误的帧中
尝试更改:
add(display, BorderLayout.NORTH);
add(panel, BorderLayout.SOUTH);
致:
旁注:除非有充分的理由,否则不要扩展
JFrame
。在你的课堂上只需要一个JFrame
字段。喜欢组合而不是继承什么<代码>游戏是一个JButton[][]
。实际上,你从来没有让游戏板JFrame可见,他做到了:frame.setVisible(true)
在Snowballfaight
游戏中是扩展JFrame的类,ofc这个类可以完全消除,不,他只让frame
可见,其中不包含任何内容game
是包含组件的框架:)你修好了!非常感谢你!2帧是什么意思?我有一个打雪仗的框架,GameBoard构造器使用这个框架来添加更多内容。@DigitalSauce欢迎您!无需GameBoard
来扩展JFrame
。保持一帧。不需要两个人。看起来根本不需要打雪仗
。稍后我会为打雪仗添加更多功能,但我现在明白了为什么gameboard不必扩展JFrame。再次感谢你的帮助。
game.setVisible(true);
add(display, BorderLayout.NORTH);
add(panel, BorderLayout.SOUTH);
frame.add(display, BorderLayout.NORTH);
frame.add(panel, BorderLayout.SOUTH);