java - 面板或按钮未显示在框架上

标签 java button panel frame

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);
}

}

按钮应该放在面板上,然后面板放在框架上。但是当它运行时,框架上没有显示任何内容 感谢您的帮助

最佳答案

  1. 查看您将 JFrame 设置为可见的位置。然后查看要添加按钮的位置。有点不正常,你不觉得吗?这就像给一张椅子拍张照片,然后请某人坐在椅子上。如果您想拍摄肖像,请让他们坐在椅子上,然后然后拍照。添加所有组件后调用setVisible(true)
  2. 不要使用空布局,因为这会导致 GUI 非常不灵活,虽然它们在一个平台上看起来不错,但在大多数其他平台或屏幕分辨率上看起来很糟糕,而且很难更新和维护。相反,您需要研究和学习布局管理器,然后嵌套 JPanel,每个 JPanel 使用自己的布局管理器来创建在所有操作系统上看起来都不错的令人愉悦且复杂的 GUI。

关于java - 面板或按钮未显示在框架上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23964884/

相关文章:

Java Netty UDT 交会不起作用

python - 如何在 tkinter 中重置按钮上的图像?

javascript - 如何使用 HTML 和 javascript 上传自己的文件

java - 设置 Spring JmsListener 的 DeliveryMode

java - 无法运行 flutter doctor --android-licenses

java - Salesforce REST API 登录?

java - 通过单击按钮和 JSON 增加 TextView

css - Bootstrap - 具有相同高度和宽度的面板

c# - 如何使面板控件显示在所有其他控件下方?

ExtJS:如何使用 BorderLayout 扩展 Ext.Panel?