gpt4 book ai didi

java - 我无法按特定顺序将 JButton 添加到 JList

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:49:39 25 4
gpt4 key购买 nike

我尝试在 JList 中添加 JButton,使其像棋盘游戏一样。

这是我的代码:

public class Board {

public Board() {
JList list = new JList();
list.setLayout(new GridLayout(10, 10));
list.setDragEnabled(true);

Container container = new Container();
JFrame frame = new JFrame();
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
frame.add(container);
container.add(panel1);

for (int j = 0; j < 99; j++) {
list.add(createButton());
}

panel2.add(list);
container.add(panel2);
panel2.setLayout(new GridLayout());
panel1.setBounds(50, 150, 150, 150);
panel1.setBackground(Color.YELLOW);
panel2.setBounds(650, 150, 500, 500);
panel2.setBackground(Color.RED);

frame.setSize(1366, 768);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}

public JButton createButton() {
JButton button = new JButton();
button.setBackground(Color.BLUE);
return button;
}
}

如果我重复 100 次,我会得到:enter image description here

如果我重复 99 次,我会得到:

enter image description here

所以我的问题是如何填写上面的表格?

最佳答案

发生这种情况的原因是因为您要将所有按钮添加到 JList,这并不是您真正打算使用 JList 的方式(通常您修改支持列表的模型以便从列表中添加/删除项目)。该列表在内部做一些占用第一个位置的事情。

如果你改变这一行:

JList list = new JList();

到:

JPanel list = new JPanel();

您的布局将起作用(您还必须删除 setDragEnabled 行,并将 99 更改为 100)。我不确定您是否需要 JList 的某些功能,但这就是您的布局无法正常工作的原因。

关于java - 我无法按特定顺序将 JButton 添加到 JList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15693929/

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