import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Main{
JButton setButtons(String name)
{
JButton tButton = new JButton();
tButton.setFont(new Font("consolas", Font.PLAIN, 20));
tButton.setBackground(Color.white);
tButton.setText(name);
return tButton;
}
void createFrame(String title)
{
JFrame jf = new JFrame(title); //创建Frame
// jf.setLayout(new GridLayout(4,4,2,2));
Container container = jf.getContentPane(); //获得容器
// JLabel jl = new JLabel("this is a pane");
JTextField jt = new JTextField("0"); //创建文本框,设置框内默认值
jt.setEditable(false); //设置不可编辑
jt.setHorizontalAlignment(JTextField.RIGHT); //设置文本框的对齐方式
jt.setPreferredSize(new Dimension (300,80)); //设置文本框的高度和宽度
jt.setFont(new Font("consolas", Font.PLAIN, 18)); //设置文本框的字体信息
container.add(jt, BorderLayout.NORTH); //将文本框加入到容器的北部
JPanel buttonPannel = new JPanel();
buttonPannel.setLayout(new GridLayout(4,4,2,2)); //Grid 布局方式。
for(int i = 1; i < 4; i++)
{
JButton jb = setButtons(""+i);
buttonPannel.add(jb);
jb.addActionListener(new ActionListener() {
String s = jb.getText();
@Override
public void actionPerformed(ActionEvent e) {
jt.setText(jt.getText()+s);
}
});
}
buttonPannel.add(setButtons("+"));
for(int i = 4; i < 7; i++)
{
JButton jb = setButtons(""+i);
buttonPannel.add(jb);
jb.addActionListener(new ActionListener() {
String s = jb.getText();
@Override
public void actionPerformed(ActionEvent e) {
jt.setText(jt.getText()+s);
}
});
}
buttonPannel.add(setButtons("-"));
for(int i = 7; i < 10; i++)
{
JButton jb = setButtons(""+i);
buttonPannel.add(jb);
jb.addActionListener(new ActionListener() {
String s = jb.getText();
@Override
public void actionPerformed(ActionEvent e) {
jt.setText(jt.getText()+s);
}
});
}
buttonPannel.add(setButtons("*"));
JButton CE = setButtons("CE");
CE.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jt.setText("0");
}
});
buttonPannel.add(CE);
JButton zero = setButtons("0");
zero.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jt.setText(jt.getText()+"0");
}
});
buttonPannel.add(zero);
buttonPannel.add(setButtons("="));
buttonPannel.add(setButtons("/"));
container.add(buttonPannel);
// jl.setHorizontalAlignment(SwingConstants.CENTER);
// container.add(jl);
container.setBackground(Color.white);
jf.setVisible(true);
jf.setSize(600,400);
jf.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}
public static void main(String[] args) {
new Main().createFrame("not the first");
}
}