gpt4 book ai didi

java - 将 JTextFields 放在 Java GUI 的 JFrame 中

转载 作者:行者123 更新时间:2023-11-30 09:43:04 25 4
gpt4 key购买 nike

我有:

public class BaseStationFrame1 extends JFrame
{

JButton activateButton;
JButton deactivateButton;
BaseStation bs;

JTextField networkIdField;
JTextField portField;



public BaseStationFrame1(BaseStation _bs){

bs = _bs;

setTitle("Base Station");
setSize(600,500);
setLocation(100,200);
setVisible(true);

activateButton = new JButton("Activate");
deactivateButton = new JButton("Deactivate");
Container content = this.getContentPane();
content.setBackground(Color.white);
content.setLayout(new FlowLayout());
content.add(activateButton);
content.add(deactivateButton);

networkIdField = new JTextField("networkId : "+ bs.getNetworkId());
networkIdField.setEditable(false);

content.add(networkIdField);

portField = new JTextField("portId : "+ bs.getPort());
portField.setEditable(false);

content.add(portField);}
}

我的问题是我不希望这两个 TextField 出现在 ActivateDeactivate 按钮的右侧,而是出现在它们的下方。我该如何解决?

最佳答案

指定你的布局管理器,像这样:

content.setLayout(new GridLayout(2,2));

那将使用 Grid Layout Manager 建立一个包含 2 列和 2 行的网格,然后您的组件将被放置在其中。

您当前使用的布局管理器,FlowLayout , 仅将内容添加到当前行的末尾。不过,一旦它到达 Pane 的受限边缘,它就会环绕。您还应该检查其他布局管理器 here

您也可以使用 GridBagLayout ,但您必须指定一个 GridBagConstraints 对象,然后将其添加到各个元素旁边,如下所示:

content.add(networkIdField, gridConstraints);

在链接教程中查看更多信息。

关于java - 将 JTextFields 放在 Java GUI 的 JFrame 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8437430/

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