如何使两个复选框在 Swing 中并排放置?
How to make two checkboxes sit next to each other in Swing?
我有两个 JCheckBox 和一个 JEditorPane。我正在寻找 under
的输出
但是我目前的代码有点乱,我无法做到
private void createContents()
{
JEditorPane license;
JCheckBox confirmBox;
JCheckBox declineBox;
license = new JEditorPane("text/html", "");
license.setText (buildEulaText());
license.setEditable(false);
confirmBox = new JCheckBox("I accept.", false);
declineBox = new JCheckBox("I decline.", false);
add(license, BorderLayout.CENTER);
add(confirmBox, BorderLayout.SOUTH);
add(declineBox, BorderLayout.NORTH); //I know this is wrong
}
一个简单的解决方案是使用新的 JPanel
和 FlowLayout
组合布局。
add(license, BorderLayout.CENTER);
JPanel boxes = new JPanel(new FlowLayout());
// FlowLayout is the JPanel default layout manager, so
// boxes = new JPanel(); works too :)
boxes.add(confirmBox);
boxes.add(declineBox);
add(boxes, BorderLayout.SOUTH);
不过你也可以看看 GridBagLayout
.
创建一个新的 JPanel 来保存所有复选框,然后将其添加到您的 panel/frame。
JPanel checkBoxesPane = new Panel();
checkBoxesPane.add( confirmBox );
checkBoxesPane.add( declineBox );
add( checkBoxes, BorderLayout.SOUTH );
首先,我强烈建议在 javafx 中执行此操作,而不是在 Java swing 中执行。是后来的技术,我觉得好多了。
如果你还想在 Java swing 中做,这里是代码:
JPanel panel = new Panel();
panel.add(confirmBox);
panel.add(declineBox);
add(panel, BorderLayout.SOUTH);
我没有测试代码,但它应该适用于此代码。
我有两个 JCheckBox 和一个 JEditorPane。我正在寻找 under
的输出但是我目前的代码有点乱,我无法做到
private void createContents()
{
JEditorPane license;
JCheckBox confirmBox;
JCheckBox declineBox;
license = new JEditorPane("text/html", "");
license.setText (buildEulaText());
license.setEditable(false);
confirmBox = new JCheckBox("I accept.", false);
declineBox = new JCheckBox("I decline.", false);
add(license, BorderLayout.CENTER);
add(confirmBox, BorderLayout.SOUTH);
add(declineBox, BorderLayout.NORTH); //I know this is wrong
}
一个简单的解决方案是使用新的 JPanel
和 FlowLayout
组合布局。
add(license, BorderLayout.CENTER);
JPanel boxes = new JPanel(new FlowLayout());
// FlowLayout is the JPanel default layout manager, so
// boxes = new JPanel(); works too :)
boxes.add(confirmBox);
boxes.add(declineBox);
add(boxes, BorderLayout.SOUTH);
不过你也可以看看 GridBagLayout
.
创建一个新的 JPanel 来保存所有复选框,然后将其添加到您的 panel/frame。
JPanel checkBoxesPane = new Panel();
checkBoxesPane.add( confirmBox );
checkBoxesPane.add( declineBox );
add( checkBoxes, BorderLayout.SOUTH );
首先,我强烈建议在 javafx 中执行此操作,而不是在 Java swing 中执行。是后来的技术,我觉得好多了。
如果你还想在 Java swing 中做,这里是代码:
JPanel panel = new Panel();
panel.add(confirmBox);
panel.add(declineBox);
add(panel, BorderLayout.SOUTH);
我没有测试代码,但它应该适用于此代码。