• JComboBox实现当前所选项功能和JFrame窗口释放资源的dispose()方法


    JComboBox有一个

    SelectedItem属性,所以使用getSelectedItem()就可以得到当前选中值.

      1 package ltb20180106;
      2 
      3 import javax.swing.*;
      4 import java.awt.event.*;
      5 import java.awt.*;
      6 
      7 
      8 public class UserLoginApp {
      9     
     10     private JFrame jf;
     11     private JLabel name;
     12     private JLabel user;
     13     private JLabel password;
     14     private JButton confirm;
     15     private JButton cancel; 
     16     private JButton quit;
     17     
     18     private JPanel p1;
     19     private JPanel p2;
     20     private JpanelAction p3;
     21     private JPanel p4;
     22     
     23     private JComboBox <String> juser;
     24     private JTextField jname;
     25     private JPasswordField jpassword;
     26     
     27     private String[] s= {"学生用户","教师用户"};
     28 
     29     
     30     
     31     private String ss;
     32     private char[] c;
     33     private String bname;
     34     private String item;
     35     
     36 
     37     public UserLoginApp() {
     38         
     39         try {
     40             
     41             jf=new JFrame("用户登录");
     42             jf.setSize(250, 160);
     43             jf.setLayout(new BorderLayout());
     44             
     45             
     46             name=new JLabel("名字:");
     47             password=new JLabel("密码:");
     48             user=new JLabel("用户类型");
     49             
     50             juser=new JComboBox<String>(s);
     51             jname=new JTextField();
     52             jpassword=new JPasswordField(); 
     53             
     54             confirm=new JButton("确定");
     55             cancel=new JButton("取消");
     56             quit=new JButton("退出");
     57             
     58             p1=new JPanel();
     59             p1.setLayout(new BoxLayout(p1,BoxLayout.Y_AXIS));//允许垂直或水平布置多个组件的布局管理器
     60             p1.add(user);
     61             p1.add(name);
     62             p1.add(password);
     63             p1.setSize(100,100);
     64             
     65             p2=new JPanel();
     66             p2.setLayout(new BoxLayout(p2,BoxLayout.Y_AXIS));
     67             p2.add(juser);
     68             p2.add(jname);
     69             p2.add(jpassword);
     70             p2.setSize(150,100);
     71         
     72             
     73             
     74             p3=new JpanelAction();               
     75             p3.setLayout(new FlowLayout());
     76             p3.add(confirm);
     77             p3.add(cancel);
     78             p3.add(quit);
     79             confirm.addActionListener(p3);
     80             cancel.addActionListener(p3);
     81             quit.addActionListener(p3);
     82             
     83             
     84             p4=new JPanel();
     85             p4.setLayout(new FlowLayout());
     86             p4.add(p1);
     87             p4.add(p2);
     88             
     89             jf.add(p4,BorderLayout.NORTH);
     90             jf.add(p3,BorderLayout.CENTER);
     91             
     92             jf.setVisible(true);
     93             jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     94             jf.setLocationRelativeTo(null);
     95             
     96             
     97         }catch(Exception e) {
     98             
     99             System.out.println(e.getMessage());
    100             
    101         }
    102         
    103         
    104     }
    105     
    106     
    107     
    108     
    109     @SuppressWarnings("serial")
    110     class JpanelAction extends JPanel  implements ActionListener   {
    111 
    112         
    113         public void actionPerformed(ActionEvent e) 
    114         {
    115             
    116              bname=e.getActionCommand();//关键的地方
    117              
    118             if(bname.equals("确定")) {
    119                 
    120                 ss=jname.getText(); 
    121                 c=jpassword.getPassword();
    122                 item=(String)juser.getSelectedItem();// JComboBox 当前所选项
    123                 
    124                 
    125                 if(ss.equals("")) {
    126                     
    127                     name.setText("用户名不能为空");
    128                     
    129                 } else if(c.length==0) {  
    130                     
    131                     password.setText("密码不能为空");
    132                     
    133                 }else if(item.equals("学生用户")) {
    134                     
    135                     if(ss.equals("s")&&new String(c).equals("s")) {//密码字符转化字符串处理
    136                         
    137                         name.setText("登录成功");
    138                         password.setText("登录成功");
    139                     }          
    140                     System.out.println("学生");
    141                     
    142                 }else if(item.equals("教师用户")) {
    143                     
    144                     if(ss.equals("t")&&new String(c).equals("t")) {//密码字符转化字符串处理
    145                         
    146                         name.setText("登录成功");
    147                         password.setText("登录成功");
    148                         
    149                     }
    150                     
    151                     System.out.println("教师");
    152                 }
    153                                                                                               
    154                 
    155             }else if (bname.equals("取消")) {
    156                 
    157                 jname.setText("");
    158                 jpassword.setText("");
    159                 
    160             }else if(bname.equals("退出")){
    161             
    162                 jf.dispose();//释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。
    163             }
    164         }
    165         
    166         
    167     }
    168 
    169     public static void main(String[] args) {
    170         
    171           new UserLoginApp();
    172     }
    173 
    174 }

     

  • 相关阅读:
    利用GitHub和Hexo打造免费的个人博客 coder
    Android基础——项目的文件结构(二) coder
    25个Android酷炫开源UI框架 coder
    MarkDown使用教程(In Atom) coder
    Android基础——项目的文件结构(一) coder
    25类Android常用开源框架 coder
    Android Activity启动黑/白屏原因与解决方式 coder
    我的window phone 开发第一步
    Entity Framework 4 In Action 读书笔记
    最近在制作一套ASP.NET控件,已初见雏形
  • 原文地址:https://www.cnblogs.com/ltb6w/p/8444618.html
Copyright © 2020-2023  润新知