2011-04-22 46 views
0

我正在嘗試使用migLayout構建計算器GUI,但我對此佈局不熟悉。Java MigLayout問題

我的問題是,我的GUI是一個按鈕的直線。

1 2 3 + 4 5 6 - ... etc 

I would like to get 
1 2 3 + 
4 5 6 - 
7 8 etc... 

import net.miginfocom.swing.MigLayout; 
import javax.swing.*; 
import java.awt.*; 

public class Calculator1 { 

    public static void main(String args[]) { 
     JFrame frame = new JFrame("Calculator1"); 

     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setLayout(new MigLayout()); 

     frame.add(new JTextField("            "),"wrap"); 
     frame.add(new JButton("1")); 
     frame.add(new JButton("2")); 
     frame.add(new JButton("3")); 
     frame.add(new JButton("+")); 
     frame.add(new JButton("4")); 
     frame.add(new JButton("5")); 
     frame.add(new JButton("6")); 
     frame.add(new JButton("-")); 
     frame.add(new JButton("7")); 
     frame.add(new JButton("8")); 
     frame.add(new JButton("9")); 
     frame.add(new JButton("*")); 
     frame.add(new JButton("0")); 
     frame.add(new JButton("/")); 
     frame.add(new JButton("=")); 

     frame.pack(); 
     frame.setVisible(true); 
    } 
} 
+1

究竟什麼是你的問題? – mgbowen 2011-04-22 01:03:51

+0

你面臨的問題是什麼?請詳細說明。 – u449355 2011-04-22 01:06:14

+0

我爲我的問題添加了更多信息。問題是我連續得到所有按鈕。我想讓它看起來像一個計算器。每行4個按鈕 – Tony 2011-04-22 01:08:40

回答

2

試試這個:

import net.miginfocom.swing.MigLayout; 
import javax.swing.*; 
import java.awt.*; 

public class Calculator1 { 

    public static void main(String args[]) { 
     JFrame frame = new JFrame("Calculator1"); 

     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setLayout(new MigLayout("fill, wrap 4", "[25%][25%][25%][25%]", "[shrink]")); 

     frame.add(new JTextField("            "),"span 4, wrap"); 
     frame.add(new JButton("1")); 
     frame.add(new JButton("2")); 
     frame.add(new JButton("3")); 
     frame.add(new JButton("+")); 
     frame.add(new JButton("4")); 
     frame.add(new JButton("5")); 
     frame.add(new JButton("6")); 
     frame.add(new JButton("-")); 
     frame.add(new JButton("7")); 
     frame.add(new JButton("8")); 
     frame.add(new JButton("9")); 
     frame.add(new JButton("*")); 
     frame.add(new JButton("0")); 
     frame.add(new JButton("/")); 
     frame.add(new JButton("=")); 

     frame.pack(); 
     frame.setVisible(true); 
    } 
} 
+0

謝謝克里斯。這很好。 – Tony 2011-04-22 01:11:03

+0

我甚至都沒有在Eclipse中嘗試它:D但我之前使用Miglayout和百分比:)很高興它適合你:D – 2011-04-22 01:14:02