JComboBox有一个

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

 package ltb20180106;

 import javax.swing.*;
import java.awt.event.*;
import java.awt.*; public class UserLoginApp { private JFrame jf;
private JLabel name;
private JLabel user;
private JLabel password;
private JButton confirm;
private JButton cancel;
private JButton quit; private JPanel p1;
private JPanel p2;
private JpanelAction p3;
private JPanel p4; private JComboBox <String> juser;
private JTextField jname;
private JPasswordField jpassword; private String[] s= {"学生用户","教师用户"}; private String ss;
private char[] c;
private String bname;
private String item; public UserLoginApp() { try { jf=new JFrame("用户登录");
jf.setSize(250, 160);
jf.setLayout(new BorderLayout()); name=new JLabel("名字:");
password=new JLabel("密码:");
user=new JLabel("用户类型"); juser=new JComboBox<String>(s);
jname=new JTextField();
jpassword=new JPasswordField(); confirm=new JButton("确定");
cancel=new JButton("取消");
quit=new JButton("退出"); p1=new JPanel();
p1.setLayout(new BoxLayout(p1,BoxLayout.Y_AXIS));//允许垂直或水平布置多个组件的布局管理器
p1.add(user);
p1.add(name);
p1.add(password);
p1.setSize(100,100); p2=new JPanel();
p2.setLayout(new BoxLayout(p2,BoxLayout.Y_AXIS));
p2.add(juser);
p2.add(jname);
p2.add(jpassword);
p2.setSize(150,100); p3=new JpanelAction();
p3.setLayout(new FlowLayout());
p3.add(confirm);
p3.add(cancel);
p3.add(quit);
confirm.addActionListener(p3);
cancel.addActionListener(p3);
quit.addActionListener(p3); p4=new JPanel();
p4.setLayout(new FlowLayout());
p4.add(p1);
p4.add(p2); jf.add(p4,BorderLayout.NORTH);
jf.add(p3,BorderLayout.CENTER); jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLocationRelativeTo(null); }catch(Exception e) { System.out.println(e.getMessage()); } } @SuppressWarnings("serial")
class JpanelAction extends JPanel implements ActionListener { public void actionPerformed(ActionEvent e)
{ bname=e.getActionCommand();//关键的地方 if(bname.equals("确定")) { ss=jname.getText();
c=jpassword.getPassword();
item=(String)juser.getSelectedItem();// JComboBox 当前所选项 if(ss.equals("")) { name.setText("用户名不能为空"); } else if(c.length==0) { password.setText("密码不能为空"); }else if(item.equals("学生用户")) { if(ss.equals("s")&&new String(c).equals("s")) {//密码字符转化字符串处理 name.setText("登录成功");
password.setText("登录成功");
}
System.out.println("学生"); }else if(item.equals("教师用户")) { if(ss.equals("t")&&new String(c).equals("t")) {//密码字符转化字符串处理 name.setText("登录成功");
password.setText("登录成功"); } System.out.println("教师");
} }else if (bname.equals("取消")) { jname.setText("");
jpassword.setText(""); }else if(bname.equals("退出")){ jf.dispose();//释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。
}
} } public static void main(String[] args) { new UserLoginApp();
} }

JComboBox实现当前所选项功能和JFrame窗口释放资源的dispose()方法的更多相关文章

  1. java:工具(汉语转拼音,压缩包,EXCEL,JFrame窗口和文件选择器,SFTP上传下载,FTP工具类,SSH)

    1.汉语转拼音: import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuP ...

  2. 百度地图API 批量添加 带检索功能的信息窗口

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 转 如何用mt7620方案的rt2860v2驱动实现wifi探针功能,网上能搜到一些方法,但是讲的好模糊?

    原文:http://www.zhihu.com/question/33559283 如何用mt7620方案的rt2860v2驱动实现wifi探针功能,网上能搜到一些方法,但是讲的好模糊? 如何用mt7 ...

  4. SSRS中加入书签功能及数据集窗口

    SSRS在使用过程中,是比较好用的,但如果报表过长,则会比较难看到想看的内容,在SSRS中有书签功能,可以将报表直接直接跳转至书签位置,这样用户可以比较精准的定位到关注位置.使用一个文本框或是图片,再 ...

  5. 百度API的经历,怎样为多个点添加带检索功能的信息窗口

    不管我们要做什么样的效果,APIKey(密钥)都是不可缺少的要件,所以我们需要先去百度申请我们的APIKey!!! 伸手党,请直接到页面底部获取完整代码! 最近做一个门店查询的内容展示,考虑到用户直观 ...

  6. vue-learning:41 - Vuex - 第二篇:const store = new Vue.Store(option)中option选项、store实例对象的属性和方法

    vuex 第二篇:const store = new Vue.Store(option)中option选项.store实例对象的属性和方法 import Vuex from 'vuex' const ...

  7. MDK中One ELF Section per Function选项功能探究【转载】

    本文主要探讨的是MDK开发工具中One ELF Section per Function选项对于代码优化的作用及其实现的机制. 这里以EK-STM32F开发板的LCDDemo实验例程为例进行说明: 1 ...

  8. vs文件属性(生成操作)各选项功能(发布Web项目时使用)

    转自:http://www.cnblogs.com/paulhe/p/4490583.html 右击项目里的文件,选择属性(F4)会有[生成操作]的选项. 它提供了14项选择,如图: 在这说一下常用的 ...

  9. vs文件属性(生成操作)各选项功能

    右击项目里的文件,选择属性(F4)会有[生成操作]的选项. 它提供了14项选择,如图: 在这说一下常用的选项: 1.编译 编译用于c#代码类的操作,编译之后输出在该程序集的bin目录下.换句话说,代码 ...

随机推荐

  1. 【转载】 深度学习总结:用pytorch做dropout和Batch Normalization时需要注意的地方,用tensorflow做dropout和BN时需要注意的地方,

    原文地址: https://blog.csdn.net/weixin_40759186/article/details/87547795 ------------------------------- ...

  2. SDM(Supervised Descent Method and its Applications to Face Alignment )

    sdm SDM 人脸对齐的核心内容很简单,就是特征到偏移量的映射:                                           Ix = R I 是特征,x是映射矩阵,R是偏移 ...

  3. Linux 针对nginx日志文件做ip防刷限制

    针对nginx日志做ip访问限制 1.cat /var/log/server/nginx/access.log| awk -F '?' '/optionid/{print $1}'|awk '{pri ...

  4. Unity 灯光系统详解

    Unity 灯光系统详解 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心 ...

  5. 2019寒假算法基础集训营1 - B 小a与"204"

    题目: 小a非常喜欢这个数字,因为. 现在他有一个长度为的序列,其中只含有这三种数字 设为序列中第个数,你需要重新排列这个数列,使得最大(公式的含义是:每个数与前一个数差的平方的和) 注意:我们默认 ...

  6. 第8次Scrum会议(10/20)【欢迎来怼】

    一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/20 17:20~17:45,总计25min. 地点 ...

  7. weixin-java-mp集成微信公众号自带客服功能

    电脑端登录公众号管理后台,[添加功能插件]开通客服功能,输入"人工客服"接入客服热线 底部有我的微信二维码,如有问题,可加好友进行技术交流! ​ ​ ​ ​ ​ ​ ​ weixi ...

  8. 2017.4.9 函数式编程FP

    函数编程(简称FP)不只代指Haskell Scala等之类的语言,还表示一种编程范式,和面向对象的编程方式一样,是编程思维,软件思考方式,也称面向函数编程. 编程的本质是组合,组合的本质是范畴Cat ...

  9. [小A与最大子段和][斜率优化dp+二分]

    链接:https://ac.nowcoder.com/acm/contest/545/A来源:牛客网题目描述 小A在网上看到了 "最大子段和" 问题的解法.第二天,小A向小B讲解了 ...

  10. python中进制之间的转换

    参考于:http://www.360doc.com/content/14/0428/11/16044571_372866302.shtml  在此非常感谢! ~~~~~~~~~~~~~~~~~~~~~ ...