读书人

java计算器界面有关问题

发布时间: 2013-11-01 14:43:02 作者: rapoo

求助:java计算器界面问题
使用边界排布,+,-,*,/,运算符那一列很窄,怎么解决?





import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class Calculator extends JFrame implements ActionListener {
Button[] bu = new Button[17];
TextField te = new TextField(16);
Panel pa1 = new Panel();

Panel pa2 = new Panel();

Panel pa3 = new Panel();

Calculator(String s) {
super(s);
setSize(200, 200);
pa1.setSize(200, 50);
pa2.setSize(150, 150);
pa3.setSize(50, 150);
pa3.setPreferredSize(new Dimension(50, 150));
setVisible(true);
setLayout(new BorderLayout());
pa1.setLayout(new FlowLayout());
pa2.setLayout(new GridLayout(4, 3));
pa3.setLayout(new GridLayout(4, 1));
setDefaultCloseOperation(EXIT_ON_CLOSE);
pa1.add(te);
pa1.add(bu[15] = new Button(String.valueOf("清除")));
bu[15].addActionListener(this);
for (int i = 0; i < 17; i++) {
if (i < 9) {
pa2.add(bu[i] = new Button(String.valueOf(i + 1)));
bu[i].addActionListener(this);
} else if (i == 9) {
pa2.add(bu[i] = new Button(String.valueOf(".")));
bu[i].addActionListener(this);
} else if (i == 10) {
pa2.add(bu[i] = new Button(String.valueOf("0")));
bu[i].addActionListener(this);
} else if (i == 11) {
pa2.add(bu[i] = new Button(String.valueOf("=")));
bu[i].addActionListener(this);
} else if (i == 12) {
pa3.add(bu[i] = new Button(String.valueOf("+")));
bu[i].addActionListener(this);
} else if (i == 13) {
pa3.add(bu[i] = new Button(String.valueOf("-")));
bu[i].addActionListener(this);
} else if (i == 14) {
pa3.add(bu[i] = new Button(String.valueOf("*")));
bu[i].addActionListener(this);
} else if (i == 16) {
pa3.add(bu[i] = new Button(String.valueOf("/")));
bu[i].addActionListener(this);
}
}
add("North", pa1);
add("Center", pa2);


add("East", pa3);
}

public void actionPerformed(ActionEvent e) {

}
}

public class CalculatorApp {
public static void main(String[] args) {
new Calculator("计算器");
}

}

读书人网 >J2EE开发

热点推荐