gpt4 book ai didi

java - Jframe帮助使用Boxlayout

转载 作者:行者123 更新时间:2023-11-29 04:45:10 25 4
gpt4 key购买 nike

大家好:我正在尝试在有人按下按钮时在 G-U-I 中放置一个按钮,我能够这样做。但我有一个问题,首先,在我的代码中,盒子布局似乎不起作用。我的意思是我希望按钮出现在添加命令按钮下方,但它出现在它的右侧(我猜是因为流式布局)。代码-

static JLabel name=new JLabel("TESTING123");
static JButton add=new JButton("Add New Command");
static JButton a=new JButton("Press Me To Set Command Number 1");
static JPanel panel=new JPanel();
static JFrame frame=new JFrame("TEST FRAME");

public static void init(){



frame.getContentPane().setBackground(Color.WHITE);
frame.setLayout(new BoxLayout(frame.getContentPane(),BoxLayout.Y_AXIS));//THIS IS NOT WORKING
//======================================================SOME FRAME PROPERTIES

panel.add(name);
panel.add(add);

//======================================================ADDING TO PANELS
add.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
panel.add(a);
frame.repaint();
frame.validate();

}
});
//======================================================LISTENERS



frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(panel);
frame.setSize(450,500);
frame.setVisible(true);


}

最佳答案

i mean i want the button to appear beneath the add command button but it appears on right side of it

panel.add(a);

JPanel 的默认布局是 FlowLayout。如果要在下面添加组件,则需要将面板的布局更改为 BoxLayout。

或者,您可以将组件添加到框架的内容 Pane ,而不是将组件添加到面板,因为它已经在使用 BoxLayout:

frame.add(a);

frame.setLayout(new BoxLayout(frame.getContentPane(),BoxLayout.Y_AXIS));//

更改框架的布局不会影响面板的布局。

关于java - Jframe帮助使用Boxlayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37486533/

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