所以我有一个JPanel填充了白色的JButton,只有Jbutton:
当只有按钮1和按钮20可见时,按钮布局变为时,我该怎么做 如果我要使用Jbuuton 15 Visible,它将出现在JButton 1和20之间。
我正在尝试使其固定在顶部和左侧,并将间距设置为0,但这是这样做的:
我真的不能给出代码,因为它是由NetBeans生成的代码制成的,而程序设置按钮可见取决于许多其他内容,因此使其独立需要很多时间。
编辑: 使用方法通过方法将JButton添加到网格 就我而言
ManagedResource
这是将按钮添加到底部而不是顶部的网格中的方式,因此,如果要查看按钮,则需要向下滚动。
编辑2:*
由于其他按钮仍在面板中,所以按钮被放置在底部(它们原是在办公室中),因此,在将按钮放置在左上方但扩展以适合整个面板之前,先进行public static void RedoGridLayout(){
GridLayout UpgradesLayout = new GridLayout(0,5);
CookieclickerGUI.Panel_Upgrade.setLayout(UpgradesLayout);
for(int i = 0; i<upgrades.size(); i++){
Upgrades upgrade = upgrades.get(i);
JButton Button = upgrade.getJButton();
if(Button.isVisible()){
CookieclickerGUI.Panel_Upgrade.add(Button);
System.out.println("Added...\n" + Button + "\nButton to the grid");
}
}
}
。我通过在使按钮形状正确之后添加所有.removeAll();
的按钮来解决此问题。
答案 0 :(得分:0)
我的问题的答案是GridLayout。 它将我的按钮放在所需的网格中。
将网格放置在底部的解决方案是因为当我将网格添加到布局中时,它包含许多设置为.setvisible(false);
的按钮,因此我将其添加到布局中是一个简单的错误,因此程序将其放置在所有按钮之后。这是通过简单的.removeAll();
删除了存储在其中的所有JComponent来解决的。
注意,我将所有的JComponents存储在JButton数组中,因为我只有按钮,后来通过该数组进行了for循环运行,检查它是否可见以及是否被添加到网格。