⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jisuanqi.txt

📁 这是一个用java编写的计算器
💻 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 + -