【发布时间】:2023-03-09 14:01:01
【问题描述】:
我有一个 Swing 表单,其中包含 JScrollPane(activityScrollPane) 用于 JPanel(activityPanel)。该面板包含一个 JTextField 和一个 JButton(用于向面板添加更多字段)。现在的问题是元素从面板的中心开始,如下图所示(边界标记为activityScrollPane 边界)
以下是我目前用来制作滚动窗格和相关组件的代码。
//part of the code for creating the ScrollPane
final JPanel activityPanel = new JPanel(new GridBagLayout());
gbc.gridx=0;
gbc.gridy=0;
JScrollPane activityScrollPane = new JScrollPane(activityPanel);
//adding activity fields
activityFields = new ArrayList<JTextField>();
fieldIndex = 0;
activityFields.add(new JTextField(30));
final GridBagConstraints activityGBC = new GridBagConstraints();
activityGBC.gridx=0;
activityGBC.gridy=0;
activityGBC.anchor = GridBagConstraints.FIRST_LINE_START;
activityPanel.add(activityFields.get(fieldIndex),activityGBC);
fieldIndex++;
JButton btn_more = (new JButton("more"));
activityGBC.gridx=1;
activityPanel.add(btn_more,activityGBC);
如何使 JTextField 和 JButton 或任何组件出现在 JScrollPane 的左上角。我已经尝试过使用
activityConstraints.anchor = GridBagConstraints.NORTHWEST;
正如 SO post 中指出的那样,但它似乎根本不起作用。
【问题讨论】:
标签: java swing gridbaglayout