Java MIG布局未显示正确的格式

Java MIG布局未显示正确的格式,java,swing,miglayout,Java,Swing,Miglayout,我从MIG Layout的演示应用程序中查找了一些GUI示例,可从他们的网站下载用于Swing www.migcalendar.com/miglayout/swingdemoapp.jnlp 我看了样本,喜欢它们的格式。它们还显示了源代码。他们显示源代码给出了以下输出 我用过它,这就是我得到它的方式 我使用的代码是 frame = new JFrame(); frame.setBounds(200, 100, 733, 533); frame.setDefaultCl

我从MIG Layout的演示应用程序中查找了一些GUI示例,可从他们的网站下载用于Swing www.migcalendar.com/miglayout/swingdemoapp.jnlp

我看了样本,喜欢它们的格式。它们还显示了源代码。他们显示源代码给出了以下输出

我用过它,这就是我得到它的方式

我使用的代码是

    frame = new JFrame();
    frame.setBounds(200, 100, 733, 533);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().setLayout(new MigLayout("ins 20","[para]0[][1001p,fill][601p][951p,fill]"));

    JLabel sepLabel = new JLabel("ISD Authorization Parameters   ");
    frame.getContentPane().add(sepLabel);
    addSeparator(frame);

    JLabel label1 =  new JLabel("ISD Server Hostname");
    frame.getContentPane().add(label1,"skip");
    final JTextField field1 = new JTextField(getSystemName());
    frame.getContentPane().add(field1,"growx,span");



    JLabel label2 =  new JLabel("ISD Version");
    frame.getContentPane().add(label2,"skip");
    final JTextField field2 = new JTextField(getVersion());
    frame.getContentPane().add(field2,"growx,wrap");

    JLabel label3 =  new JLabel("ISD Port");
    frame.getContentPane().add(label3,"skip");
    final JTextField field3 = new JTextField(getSystemPort());
    frame.getContentPane().add(field3,"growx,wrap,span");

    JLabel label4 =  new JLabel("ISD UserID");
    frame.getContentPane().add(label4,"skip");
    final JTextField field4 = new JTextField(getUser());
    frame.getContentPane().add(field4,"growx,span");

    JLabel label5 =  new JLabel("ISD Password");
    frame.getContentPane().add(label5,"skip");
    final JPasswordField field5 = new JPasswordField(getSystemPassword());
    frame.getContentPane().add(field5,"growx,wrap,span,wrap para");

    JLabel sepLabel1 = new JLabel("Key Store Authorization   ");
    frame.getContentPane().add(sepLabel1);
    addSeparator(frame);

    JLabel label6 =  new JLabel("KeyStore Password");
    frame.getContentPane().add(label6,"skip");
    final JPasswordField field6 = new JPasswordField(getKeystorePassword());
    frame.getContentPane().add(field6,"growx,span,wrap para");

    JLabel sepLabel2 = new JLabel("Key Store Authorization   ");
    frame.getContentPane().add(sepLabel2);
    addSeparator(frame);

    JLabel label7 =  new JLabel("PowerVC IP Address");
    frame.getContentPane().add(label7,"skip");
    final JTextField field7 = new JTextField(getHost());
    frame.getContentPane().add(field7,"growx,wrap,span");

    JLabel label8 =  new JLabel("PowerVC User ID");
    frame.getContentPane().add(label8,"skip");
    final JTextField field8 = new JTextField(getUser());
    frame.getContentPane().add(field8,"growx,span");


    System.out.println("The value of getPassword is "+getPassword());
    JLabel label9 =  new JLabel("PowerVC password");
    frame.getContentPane().add(label9,"skip");
    final JPasswordField field9 = new JPasswordField(getPassword());
    frame.getContentPane().add(field9,"growx,span,wrap para");

    JButton cancelButton = new JButton("Cancel");
    frame.getContentPane().add(cancelButton,"span,split,align right");

    JButton updateButton = new JButton("Update");
    frame.getContentPane().add(updateButton,"");


    JButton updateAndExitButton = new JButton("Update and Exit");
    frame.getContentPane().add(updateAndExitButton,"");


    frame.setVisible(true);

    private void addSeparator(JFrame frame2) {


        JSeparator sep1 = new JSeparator(SwingConstants.HORIZONTAL);
        sep1.setBackground(Color.CYAN);
        frame2.getContentPane().add(sep1,"growx,wrap,span");


    }

}
在我的GUI外观中,比较GUI中字体的外观。seaprator是如何在制造商之后开始的,制造商和公司的一致性,更具体地说,我想要这种外观,我所做的看起来并不好看

诀窍是对标签/分隔符对同时使用span和split(如演示代码中所示:-)


大概1。框架.立根(200100733533);——使用pack()代替,2。pack()和setVisible(true)应该是最后一行代码——将其移动到separatoraddSeparator之后是类中的一个方法,因此setVisible是被调用的最后一行代码。@mKorbel:请参阅编辑。这是将jLabel移动到LEFTframe.getContentPane()的唯一方法。add(label1,“跳过”);当我写skip时,它会被跳过太多,这是skip的最小值,也是我的默认字体格式与push的不同之处,但没有人知道
panel.add(label, "gapbottom 1, span, split 2, aligny center");
panel.add(new JSeparator(), "gapleft rel, growx");