Java学习笔记2:理解运行例程

本文介绍了一个使用Java Swing库创建简单登录界面的例子。该示例包括用户界面的设计及简单的登录验证逻辑。用户可以从下拉菜单中选择用户名,并输入密码进行验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、将以下代码保存为login.java
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,运行结果如下:


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值