当前位置: 代码迷 >> J2EE >> java计算器界面有关问题
  详细解决方案

java计算器界面有关问题

热度:83   发布时间:2016-04-21 21:54:05.0
求助: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);
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("计算器");
}


}
界面 java 计算器

------解决方案--------------------
setPreferedSize





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);
  相关解决方案