设计一个计算器用户界面——
不知道怎么布局,改了很多遍都不成功
图一是标准的,图二是我的结果,下面是我打的代码:
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);
}
}
http://blog.163.com/light_warm/blog/static/3168104200911298524771/
不能为按钮指定位置吗?
如果是我的话,总的用个borderlayout,north和center,north放个panel必须设置它的相对大小,然后放backspace,ce,c这几个按钮,然后在center中放个panel用4X6的gridlayout,也必须设置相对大小,不然显示不出来,依次添加button。。。。
用netbeans拖拽,很容易实现这个界面,刚刚做过,代码找不到了