Java学习笔记2:理解运行例程
2014-04-20 10:21
267 查看
1、将以下代码保存为login.java
2、cd到login.java路径下,执行javac login.java,然后执行java login,运行结果如下:
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class login extends JFrame { private JComboBox nameJComboBox; private JPanel userJPanel; private JLabel pictureJLabel; private JButton okJButton,cancelJButton; private JLabel nameJLabel,passwordJLabel,note; private JPasswordField passwordJPasswordField; private String name1; private String password1; private String user; private ImageIcon myImageIcon; public login( ) { createUserInterface(); // 调用创建用户界面方法 } private void createUserInterface() { Container contentPane = getContentPane(); contentPane.setLayout( null ); userJPanel = new JPanel(); userJPanel.setBounds( 35, 120, 300, 96 ); userJPanel.setBorder(BorderFactory.createEtchedBorder() ); //显示一圈边儿 userJPanel.setLayout( null ); contentPane.add( userJPanel ); nameJComboBox = new JComboBox(); nameJComboBox.setBounds( 100, 12, 170, 25 ); nameJComboBox.addItem( "admin" ); nameJComboBox.addItem( "aloie" ); nameJComboBox.setSelectedIndex( 0 ); nameJComboBox.setEditable(true); userJPanel.add( nameJComboBox ); pictureJLabel=new JLabel(); pictureJLabel.setBounds(45,0,380,118); pictureJLabel.setIcon(new ImageIcon("pic.gif")); contentPane.add(pictureJLabel); nameJLabel=new JLabel("姓 名:"); nameJLabel.setBounds(20,12,80,25); userJPanel.add(nameJLabel); passwordJPasswordField=new JPasswordField(); passwordJPasswordField.setBounds(100,60,170,25); userJPanel.add(passwordJPasswordField); passwordJLabel=new JLabel("密 码:"); passwordJLabel.setBounds(20,60,80,25); userJPanel.add(passwordJLabel); note=new JLabel("密码与用户名相同"); note.setBounds(0,295,180,25); add(note); okJButton=new JButton("登 陆"); okJButton.setBounds(60,250,80,25); contentPane.add(okJButton); okJButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { okJButtonActionPerformed(event); } } ); cancelJButton=new JButton("取 消"); cancelJButton.setBounds(210,250,80,25); contentPane.add(cancelJButton); cancelJButton.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent event ) { System.exit(0); //退出登陆 } } ); setTitle( "登陆窗口" ); setSize( 380, 350 ); setResizable( false ); //将最大化按钮设置为不可用 } private void okJButtonActionPerformed( ActionEvent event ) { //okJButton响应事件,检查用户名和密码的匹配 name1= nameJComboBox.getSelectedItem().toString(); if (name1.equals("admin") ) { if (passwordJPasswordField.getText().equals("admin")) { showNewWindow(); setVisible( false); } else { JOptionPane.showMessageDialog( this,"密码错误,拒绝登陆", "密码错误 !", JOptionPane.ERROR_MESSAGE ); } } else if (name1.equals("aloie")) { if ( passwordJPasswordField.getText().equals("aloie") ) { showNewWindow(); setVisible(false); } else { JOptionPane.showMessageDialog( this,"密码错误,拒绝登陆", "密码错误 !", JOptionPane.ERROR_MESSAGE ); } } } public void showNewWindow() { JFrame jf=new JFrame("main Frame"); jf.setSize(500,400); jf.setVisible(true); jf.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); } public static void main( String[] args ) { JFrame.setDefaultLookAndFeelDecorated(true); login mylogin = new login( ); mylogin.setVisible( true ); mylogin.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); } }
2、cd到login.java路径下,执行javac login.java,然后执行java login,运行结果如下:
相关文章推荐
- 《深入理解 Java 虚拟机》学习笔记(1)—— JVM 运行时数据区
- 《深入理解 Java 虚拟机》学习笔记(1)—— JVM 运行时数据区
- 《深入理解 Java 虚拟机》学习笔记(1)—— JVM 运行时数据区
- 【学习笔记】系列一:Java导出、运行jar包的方法
- Android(java)学习笔记160:Framework运行环境之 Android进程产生过程
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
- 深入理解Java虚拟机笔记---运行时栈帧结构
- (Java2D 学习笔记系列) (一)一个简单的图像填充实例及其分析理解
- Java学习笔记-----中间件,组件,容器,框架的精彩理解
- 学习深入理解java虚拟机笔记--对象已死吗
- [每日学习笔记][2012.08.02]使用Java理解程序逻辑(九)
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
- 【Java】深入理解JVM学习笔记(一) —— JVM数据区域
- 【Java】SingleTalkServer代码理解与学习笔记
- 深入理解 Java 虚拟机之学习笔记(3)
- Java 学习笔记08:在Eclipse中的安装Jetty web运行容器
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境(转)
- [原创]java WEB学习笔记91:Hibernate学习之路-- -HQL 迫切左外连接,左外连接,迫切内连接,内连接,关联级别运行时的检索策略 比较。理论,在于理解
- (Java2D 学习笔记系列) (一)一个简单的图像填充实例及其分析理解
- C\C++ 程序员从零开始学习Android - 个人学习笔记(二) - java基础 - 从源代码到运行