📄 jisuanqi.txt
字号:
package bag1;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class jisuanqi implements ActionListener,ItemListener
{
static JFrame f=null;
JPanel p1,p2,p3;
ButtonGroup bg;
JLabel la1,la2,la3;
JComboBox combo;
JRadioButton r1,r2,r3,r4;
JSpinner s1;
int op=0;
public jisuanqi()
{
f=new JFrame("计算器");
Container contentPane=f.getContentPane();
p1=new JPanel();
p1.setLayout(new GridLayout(4,1));
p1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.blue, 2), "选择运算种类", TitledBorder.CENTER,TitledBorder.TOP ));
r1=new JRadioButton("+");
r2=new JRadioButton("-");
r3=new JRadioButton("*");
r4=new JRadioButton("/");
p1.add(r1);
p1.add(r2);
p1.add(r3);
p1.add(r4);
bg=new ButtonGroup();
bg.add(r1);
bg.add(r2);
bg.add(r3);
bg.add(r4);
r1.addItemListener(this);
r2.addItemListener(this);
r3.addItemListener(this);
r4.addItemListener(this);
p2=new JPanel();
p2.setLayout(new GridLayout(2,2));
p2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.green,2), "选择或输入操作数", TitledBorder.CENTER, TitledBorder.TOP));
la1=new JLabel("第一个操作数:");
la2=new JLabel("第二个操作数:");
//创建下拉式列表框
String[] data1={"0","10","20","30","40","50","60","70","80","90","100"};
combo=new JComboBox(data1);
combo.setEditable(true);
ComboBoxEditor editor=combo.getEditor();
combo.configureEditor(editor, "请选择或直接输入数字");
SpinnerModel sM1=new SpinnerNumberModel(50,0,100,1);
s1=new JSpinner(sM1);
p2.add(la1);
p2.add(combo);
p2.add(la2);
p2.add(s1);
//创建第三个PANEL
p3=new JPanel();
p3.setLayout(new GridLayout(1,2));
JButton but1=new JButton("计算");
p3.add(but1);
la3=new JLabel("",SwingConstants.CENTER);
p3.add(la3);
but1.addActionListener(this);
contentPane.add(p1,BorderLayout.NORTH);
contentPane.add(p2,BorderLayout.CENTER);
contentPane.add(p3,BorderLayout.SOUTH);
f.getRootPane().setDefaultButton(but1);//设置窗体回车对应按钮
f.pack();
f.addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ System.exit(0);}});
}
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
new jisuanqi();
new PassWord(f);
}
public void actionPerformed(ActionEvent e)
{
// TODO Auto-generated method stub
double a=Double.parseDouble(combo.getSelectedItem().toString());
double b=Double.parseDouble(s1.getValue().toString());
double c;
switch(op)
{
case 1:
c=a+b;
la3.setText(""+c);
break;
case 2:
c=a-b;
la3.setText(""+c);
break;
case 3:
c=a*b;
la3.setText(""+c);
break;
case 4:
c=a/b;
la3.setText(""+c);
break;
default:
la3.setText("请选择运算符");
}
}
public void itemStateChanged(ItemEvent e)
{
// TODO Auto-generated method stub
if(e.getSource()==r1)op=1;
if(e.getSource()==r2)op=2;
if(e.getSource()==r3)op=3;
if(e.getSource()==r4)op=4;
}
}
class PassWord implements ActionListener
{
JTextField user;
JPasswordField password;
JButton bt1,bt2;
JDialog d;
Container dialogPane;
JFrame f;
public PassWord (JFrame f)
{
d=new JDialog();
d.setTitle("请输入用户名和密码");
dialogPane=d.getContentPane();
dialogPane.setLayout(new GridLayout(3,2));
dialogPane.add(new JLabel("用户名:",SwingConstants.CENTER));
user=new JTextField();
dialogPane.add(user);
dialogPane.add(new JLabel("密码:",SwingConstants.CENTER));
password=new JPasswordField();
dialogPane.add(password);
bt1=new JButton("确定");
bt2=new JButton("退出");
dialogPane.add(bt1);
dialogPane.add(bt2);
bt1.addActionListener(this);
bt2.addActionListener(this);
d.setBounds(200, 450, 300, 130);
d.getRootPane().setDefaultButton(bt1);
d.setVisible(true);
this.f=f;
}
public void actionPerformed(ActionEvent e)
{
// TODO Auto-generated method stub
String cmd=e.getActionCommand();
if(cmd.equals("确定"))
{
String name=user.getText();
String code=password.getText();
if((name.equals("test"))&&(code.equals("1234")))
{
d.disable();
f.setVisible(true);
return;
}
else
{
JOptionPane.showMessageDialog(d, "错误的用户名或密码", "请重新输入", JOptionPane.WARNING_MESSAGE);
user.setText("");
password.setText("");
}
}
if(cmd.equals("退出")) System.exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -