0

我正在尝试使用 migLayout 构建一个计算器 GUI,但我不熟悉这种布局。

我的问题是我的 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);
    }
}
4

1 回答 1

1

试试这个:

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);
    }
}
于 2011-04-22T01:09:17.133 回答