gpt4 book ai didi

java - GridBagLayout 未填充所有空间

转载 作者:行者123 更新时间:2023-12-02 12:52:05 26 4
gpt4 key购买 nike

我有一个面板,用作卡片布局的一部分。该面板使用 GridBagLayout。我向其中添加了两个组件:填充设置为 BOTH 的 JTextArea 和填充设置为水平的 JTextField。它们只占据水平空间。

        // Chat card setup
JPanel chatCard = new JPanel(new GridBagLayout());
gc = new GridBagConstraints();

gc.gridx = 0;
gc.gridy = 0;
gc.fill = GridBagConstraints.BOTH;
gc.weightx = 2;
chatArea = new JTextArea();
chatCard.add(chatArea,gc);

gc.gridx = 0;
gc.gridy = 1;
gc.fill = GridBagConstraints.HORIZONTAL;
gc.anchor = GridBagConstraints.PAGE_END;
gc.weightx = 2;
JTextField msgField = new JTextField();
msgField.setActionCommand("SendText");
msgField.addActionListener(listener);
chatCard.add(msgField, gc);

目前看起来像这样

Panel with GridBagLayout

最佳答案

尝试使用gc.weighty

     ...
gc.weightx = 2;
gc.weighty=1;
chatArea = new JTextArea();

...
JScrollPane scrollPane=new JScrollPane(chatArea);
chatCard.add(scrollPane,gc);
...

...
gc.weightx = 2;
gc.weighty=0;
JTextField msgField = new JTextField();
...

JScrollPane中添加JTextArea,否则当行大于其高度时,您会得到意外的结果。

如果您想要从上/左/下/右留出一些空间,请使用 gc.insets=new Insets(5, 5, 5, 5);

快照:

enter image description here

关于java - GridBagLayout 未填充所有空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23047701/

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