如何让两个复选框在Swing中彼此相邻?

时间:2015-09-14 11:54:47

标签: java swing layout layout-manager jcheckbox

我有两个JCheckBox&和一个JEditorPane。我正在寻找

下的输出

enter image description here

但是我现在的代码有些混乱,我无法

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 
  } 

需要帮助。 提前谢谢。

3 个答案:

答案 0 :(得分:2)

一个简单的解决方案是使用带有FlowLayout的新Notification.Builder builder = new Notification.Builder(MyRemiderService.this); ..... builder.setSmallIcon(R.drawable. notification_template_icon_bg) .setContentTitle("ContentTitle") ..... .setContentIntent(pendingNotificationIntent); Notification notification = builder.getNotification(); notificationManager.notify(R.drawable.notification_template_icon_bg, notification); 来构建布局。

JPanel

但您也可以查看GridBagLayout

答案 1 :(得分:1)

创建一个新的JPanel来保存所有复选框,然后将其添加到面板/框架中。

JPanel checkBoxesPane = new Panel();

checkBoxesPane.add( confirmBox );
checkBoxesPane.add( declineBox );

add( checkBoxes, BorderLayout.SOUTH );

答案 2 :(得分:1)

首先,我强烈建议在javafx而不是Java swing中进行。根据我的观点,这是后来的技术,而且要好得多。

如果您仍想在Java swing中执行此操作,请输入以下代码:

JPanel panel = new Panel();
panel.add(confirmBox);
panel.add(declineBox);
add(panel, BorderLayout.SOUTH);

我没有测试代码,但它应该使用此代码。