设计一个计算器用户界面——
不知道怎么布局,改了很多遍都不成功
图一是标准的,图二是我的结果,下面是我打的代码:
import java.awt.*;
import javax.swing.*;
public class Calculator extends JFrame{
public Calculator() {
JPanel p1 = new JPanel();
//frame.setLayout(new FlowLayout());
p1.setLayout(new GridLayout(4,1));
p1.add(new JButton("MC"));
p1.add(new JButton("MR"));
p1.add(new JButton("MS"));
p1.add(new JButton("M+"));
JPanel p2 = new JPanel();
p2.setLayout(new GridLayout(4,3));
for(int i = 1; i <= 9; i++){
p2.add(new JButton("" + i + " "));
}
p2.add(new JButton("0"));
p2.add(new JButton("+/-"));
p2.add(new JButton("-"));
JPanel p3 = new JPanel();
p3.setLayout(new GridLayout(4,2));
p3.add(new JButton("/"));
p3.add(new JButton("sqrt"));
p3.add(new JButton("*"));
p3.add(new JButton("%"));
p3.add(new JButton("-"));
p3.add(new JButton("1/x"));
p3.add(new JButton("+"));
p3.add(new JButton("="));
JPanel p4 = new JPanel(new BorderLayout());
p4.setLayout(new GridLayout(1,4));
p4.add(new JLabel(" "));
p4.add(new JButton("Backspace"));
p4.add(new JButton("CE"));
p4.add(new JButton("C"));
JPanel p5 = new JPanel(new BorderLayout());
p5.add(new JTextField(" "),BorderLayout.NORTH);
add(p5,BorderLayout.EAST);
p5.add(p1,BorderLayout.WEST);
p5.add(p2,BorderLayout.CENTER);
p5.add(p3,BorderLayout.EAST);
p5.add(p4,BorderLayout.NORTH);
}
public static void main(String[] args) {
Calculator frame = new Calculator();
frame.setTitle("标准计算器");
frame.setSize(500, 400);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}