gpt4 book ai didi

Java - JLabel 组件仅在调整大小时显示

转载 作者:行者123 更新时间:2023-11-30 02:35:34 25 4
gpt4 key购买 nike

当我运行代码时,JFrame 窗口显示标题框架的最小可能版本,需要调整它的大小才能实际显示任何内容。通常这是由于末尾缺少 pack() 或 setVisible(true) 造成的,但在本例中并非如此。这是代码:

public static void main(String[] args) throws FileNotFoundException {
Boolean[][] maze = Exercise4.readMaze();
int row = maze.length;

JFrame f = new JFrame("Maze");
f.setLayout(new GridLayout(row, row));

for (int i = 0; i < row; i++) {
for (int j = 0; j < row; j++) {
JLabel grid = new JLabel();
grid.setOpaque(true);
if (maze[i][j].equals(false))
grid.setBackground(Color.black);
else grid.setBackground(Color.white);
f.add(grid);
}
}
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}

最佳答案

JLabel grid = new JLabel(); 正在创建一个空白标签,它的默认大小将为0x0,因此当您打包框架时,它已被压缩为首选大小,本质上是 0x0

考虑使用诸如 JLabel grid = new JLabel(""); 之类的东西来开始,但我可能会考虑使用指定大小的“空白”图标

您还可以使用一些文本并将前景(文本)颜色设置为与背景颜色相同,但我个人会使用透明图标,但这就是我

关于Java - JLabel 组件仅在调整大小时显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43197301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com