//编译后提示有过时的API!!请大家帮忙找下是哪个?!!!
//编译后提示有过时的API!!请大家帮忙找下是哪个?!!!
//编译后提示有过时的API!!请大家帮忙找下是哪个?!!!import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class Ex9_10 implements ActionListener,ItemListener
{
    static JFrame f=null;
    ButtonGroup bg;
    JComboBox combo;
    JSpinner s1;
    JLabel L3;
    JRadioButton r1,r2,r3,r4;
    int op=0;
    public Ex9_10()
    {
        JFrame.setDefaultLookAndFeelDecorated(true);
        f=new JFrame("第二类原子组件演示");
        Container contentPane=f.getContentPane();
        JPanel p1=new JPanel(); //新建一个Panel
        p1.setLayout(new GridLayout(1,4));
       // p1.setBorder(BorderFactory.createTitledBorder(
              //  BorderFactory.createTitledBorder(Color.blue,2),
                //"选择运算类",TitledBorder.CENTER,TitledBorder.TOP  ) );
        r1=new JRadioButton("+");
        r2=new JRadioButton("-");
        r3=new JRadioButton("X") ;
        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);
        JPanel p2=new JPanel();//第2个Panel
        p2.setLayout(new GridLayout(2,2));
        //p2.setBorder(BorderFactory.createTitledBorder(
               // BorderFactory.createTitledBorder(Color.blue,2),
               // "选择或输入数",TitledBorder.CENTER,TitledBorder.TOP  ));
        JLabel L1=new JLabel("第1个操作数:");
        JLabel L2=new JLabel("第2个操作的数:");
        String datal[]={"0","10","20","30","40","50","60","70","80","90","100"};
        combo=new JComboBox(datal);
        combo.setEditable(true);//?
        ComboBoxEditor editor=combo.getEditor();//?
        combo.configureEditor(editor,"请选择或直接输入数字");
        SpinnerModel sM1=new SpinnerNumberModel(50,0,100,1);//创建有序变化选择框
        s1=new JSpinner(sM1);
        p2.add(L1);
        p2.add(combo);
        p2.add(L2);
        p2.add(s1);
        JPanel p3=new JPanel();
        p3.setLayout(new GridLayout(1,2));
        JButton button1=new JButton("计算");
        L3=new JLabel("",SwingConstants.CENTER);
        p3.add(button1);
        p3.add(L3);
        button1.addActionListener(this);
        contentPane.add(p1,BorderLayout.NORTH);
        contentPane.add(p2,BorderLayout.CENTER);
        contentPane.add(p3,BorderLayout.SOUTH);
        f.getRootPane().setDefaultButton(button1);//设置窗体回车对应按钮
        f.pack();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        
    }
    public void itemStateChanged(ItemEvent e)
    {
        if(e.getSource()==r1) op=1;
        if(e.getSource()==r2) op=2;
        if(e.getSource()==r2) op=3;
        if(e.getSource()==r2) op=4;
    }
    public void actionPerformed(ActionEvent e)
    {
        double a=Double.parseDouble(combo.getSelectedItem().toString());
        double b=Double.parseDouble(s1.getValue().toString());
        double c;
        switch(op)
        {
        case 1:
        c=a+b;
        L3.setText(""+c);
        break;
        case 2:
        c=a-b;
        L3.setText(""+c);
        break;
        case 3:
        c=a*b;
        L3.setText(""+c);
        break;
        case 4:
        c=a/b;
        L3.setText(""+c);
        break;
        default:
            L3.setText("请选择运算符");
        }
        
    }
    public static void main(String args[])
    {
        new Ex9_10();
        new PassWord(f);//新创建一输入密码对话框
        
    }
}
class PassWord implements ActionListener
{
    JTextField user;
    JPasswordField passWd;
    JButton b1,b2;
    Container dialogPane;
    JDialog d;
    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 Label("密  码",SwingConstants.CENTER));
        passWd=new JPasswordField();
        dialogPane.add(passWd);
        b1=new JButton("确定");
        b2=new JButton("取消");
        dialogPane.add(b1);
        dialogPane.add(b2);
        b1.addActionListener(this);
        b2.addActionListener(this);
        d.setBounds(200,150,400,130);
        d.getRootPane().setDefaultButton(b1);
        d.setVisible(false);
        this.f=f;
        
    }
    public void actionPerformed(ActionEvent e)
    {
        String cmd=e.getActionCommand();
        if(cmd.equals("确定"))
        {
            String name=user.getText();
            String passWord=passWd.getText();
            if((name.equals("zwei"))&&(passWord.equals("19851")))
            {
                d.dispose();
                f.setVisible(true);
                return;
            }
            else 
            {
                JOptionPane.showMessageDialog(d,"错误的用户名和密码","请重新输入"
                                              ,JOptionPane.WARNING_MESSAGE);
                user.setText("");
                passWd.setText("");
            }
        }
        if(cmd.equals("取消")) System.exit(0);
    }
}