2013-10-16 67 views
1

我查閱了一些例子GUI的米格佈局的演示應用程序下載從他們的網站爲Swing www.migcalendar.com/miglayout/swingdemoapp.jnlpMIG佈局沒有顯示正確的格式

我看了樣品,喜歡他們的格式。他們還顯示源代碼。他們表現出的源代碼提供了以下輸出

enter image description here

我用它,這是我應得的

enter image description here

我使用它是

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中的字體外觀。如何manufactturer後seaprator開始,製造商和公司的定位,更具體的我想這種樣子的,它是不是在尋找什麼,我已經取得

enter image description here

+0

大概1. frame.setBounds(200,100,733,533); - 使用pack()代替,2. pack()和setVisible(true)應該是最後的代碼行 - 在分隔符後面移動 – mKorbel

+0

addSeparator是類中的方法,因此setVisible是被調用的最後一個東西。 –

+0

@mKorbel:請參閱編輯。 –

回答

3

的伎倆是好的,同時使用跨度爲標籤/分離器對分割(你可以在演示代碼看到:-)

panel.add(label, "gapbottom 1, span, split 2, aligny center"); 
panel.add(new JSeparator(), "gapleft rel, growx"); 
+0

可能是推動,但沒有人知道 – mKorbel