【问题标题】:GridBagLayout IssuesGridBagLayout 问题
【发布时间】:2014-02-19 02:52:47
【问题描述】:

我无法让GridBagLayout 工作。

这是我想要的结果(左上)和我得到的结果(中心)的图片

我希望在同一行上有一个文本字段,后跟一个添加和删除按钮,然后有多个行,如左上角所示。

我对@9​​87654323@ 没有太多经验,而且它开始变得非常令人沮丧。这只是我的 GUI 的一小部分。 GridBagLayout 是我要使用的布局。如何让 3 个组件块在 Y 轴上对齐而不继续添加到 X 轴?

    file1_tf = new JTextField(20);
    file1_tf.setEditable(false);
    file_select_panel = new JPanel(new GridBagLayout());
    GridBagConstraints gbc = new GridBagConstraints();

    gbc.gridx = 0;
    gbc.gridy = 0;
    file_select_panel.add(file1_tf);
    gbc.gridx = 1;
    gbc.gridy = 0;
    file_select_panel.add(add_f1_button);
    gbc.gridx = 2;
    gbc.gridy = 0;
    file_select_panel.add(rem_f1_button);

    gbc.gridx = 0;
    gbc.gridy = 1;
    file_select_panel.add(file3_tf);
    gbc.gridx = 1;
    gbc.gridy = 1;
    file_select_panel.add(add_f3_button);
    gbc.gridx = 2;
    gbc.gridy = 1;
    file_select_panel.add(rem_f3_button);

【问题讨论】:

    标签: java swing layout jtextarea gridbaglayout


    【解决方案1】:

    有很多方法可以实现,但根据您的代码,最简单的方法是确保您在添加 GridBagConstraints 以及添加它们时添加的组件...

    file_select_panel.add(file1_tf, gbc);
    //...
    file_select_panel.add(add_f1_button, gbc);
    //...
    file_select_panel.add(rem_f1_button, gbc);
    //...etc...
    

    您可能会发现仔细查看How to Use GridBagLayout 会有所帮助,尤其是查看标记为“指定约束”的部分

    【讨论】:

    • 哇。太尴尬了。
    • 欢迎来到我的世界;)
    猜你喜欢
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 2014-11-14
    • 2015-06-15
    相关资源
    最近更新 更多