gpt4 book ai didi

java - TableLayout 窗口中的最后一列未出现

转载 作者:行者123 更新时间:2023-12-01 10:10:06 25 4
gpt4 key购买 nike

我想制作一款类似 Jeopardy 的游戏,为了实现这一目标,我决定使用 TableLayout 布局。这就是我的代码现在的样子:

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

import layout.TableLayout;

public class JeopardyOrtho {
static JFrame j = new JFrame();
static JButton [][] buttons = new JButton [5][5];

public static void main(String[] args) {
// TODO Auto-generated method stub
int score = 0;
for (int r=0; r<5; r++)
{
score = score+10;
for (int c=0; c<5; c++)
{
buttons [c][r] = new JButton (""+score);
}
}
j.setResizable(false);
j.setBounds(100, 100, 800, 600);
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
double size[][] = {{0.20, 0.20, 0.20, 0.20, 0,20}, // Columns
{0.10, 0.16, 0.16, 0.16, 0.16, 0.16, 0.10}}; // Rows
j.getContentPane().setLayout(new TableLayout(size));
for (int r=0; r<5; r++)
{
for (int c=0; c<5; c++)
{
j.add(buttons [c][r], "" + c + ", " + (r+1));
}
}
JLabel label1 = new JLabel ("Classrooms");
j.add(label1,"0, 0");
JLabel label2 = new JLabel ("This thing");
j.add(label2,"0, 1");
JLabel label3 = new JLabel ("That thing");
j.add(label3,"0, 2");
JLabel label4 = new JLabel ("Other thing");
j.add(label4,"0, 3");
JLabel label5 = new JLabel ("Yeah");
j.add(label5,"0, 4");
j.setVisible(true);
}


}

据我所知,运行此代码应该创建一个 5 列 7 行的表,第一行具有每个类别标题的占位符名称,最后一行完全空白,中间部分填充与 5x5 网格 ala Jeopardy。然而,当它实际运行时,它看起来像这样:

enter image description here

它看起来应该是这样,除了最后一列的全部内容没有显示之外。有谁知道为什么会发生这种情况?我假设,由于当我尝试在这些空单元格中手动放置某些内容时程序不会抛出错误,因此这些单元格确实存在,只是由于某种原因不会被填充。

最佳答案

您在最后一栏中有一个拼写错误。

double size[][] = {{0.20, 0.20, 0.20, 0.20, 0,20}, // Columns
{0.10, 0.16, 0.16, 0.16, 0.16, 0.16, 0.10}}; // Rows

应该是

double size[][] = {{0.20, 0.20, 0.20, 0.20, 0.20}, // Columns
{0.10, 0.16, 0.16, 0.16, 0.16, 0.16, 0.10}}; // Rows

此外,在您粘贴的摘录中,标签的位置也不佳。它们应该添加到第 0 行

    JLabel label1 = new JLabel ("Classrooms");
j.add(label1,"0, 0");
JLabel label2 = new JLabel ("This thing");
j.add(label2,"1, 0");
JLabel label3 = new JLabel ("That thing");
j.add(label3,"2, 0");
JLabel label4 = new JLabel ("Other thing");
j.add(label4,"3, 0");
JLabel label5 = new JLabel ("Yeah");
j.add(label5,"4, 0");

关于java - TableLayout 窗口中的最后一列未出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36171971/

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