import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Frame extends JFrame {
private JPanel buttonPanel;
private JButton[][] buttons;
private JPanel otherPanel;
public Frame() {
setSize(500, 600);
setLocation(100, 100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
setResizable(false);
setVisible(true);
buttonPanel = new JPanel();
buttonPanel.setLocation(0, 0);
buttonPanel.setSize(500, 500);
buttonPanel.setLayout(new GridLayout(8, 8));
buttons = new JButton[8][8];
for(int i = 0; i < 8; i++){
for(int j = 0; j < 8; j++){
buttons[i][j] = new JButton("" + i);
buttonPanel.add(buttons[i][j]);
}
}
add(buttonPanel);
}
}
按钮应该放在面板上,然后面板放在框架上。但是当它运行时,框架上没有显示任何内容 感谢您的帮助
最佳答案
- 查看您将 JFrame 设置为可见的位置。然后查看要添加按钮的位置。有点不正常,你不觉得吗?这就像给一张椅子拍张照片,然后请某人坐在椅子上。如果您想拍摄肖像,请先让他们坐在椅子上,然后然后拍照。添加所有组件后调用
setVisible(true)
。 - 不要使用空布局,因为这会导致 GUI 非常不灵活,虽然它们在一个平台上看起来不错,但在大多数其他平台或屏幕分辨率上看起来很糟糕,而且很难更新和维护。相反,您需要研究和学习布局管理器,然后嵌套 JPanel,每个 JPanel 使用自己的布局管理器来创建在所有操作系统上看起来都不错的令人愉悦且复杂的 GUI。
关于java - 面板或按钮未显示在框架上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23964884/