當前位置:編程學習大全網 - 源碼下載 - 用JAVA語言編程實現壹個用戶登錄窗口

用JAVA語言編程實現壹個用戶登錄窗口

方法壹:

采用JOptionPane中的壹個非常有用的靜態方法 showOptionPane();

源碼如下:

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JLabel;

import javax.swing.JTextField;

import javax.swing.JPasswordField;

import javax.swing.JOptionPane;

import javax.swing.BoxLayout;

import javax.swing.Box;

import javax.swing.BorderFactory;

public class Login1 {

public static void main(String[] args) {

javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {

createAndShowGUI();

}

});

}

static void createAndShowGUI() {

JFrame mainFrame = new JFrame();

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

mainFrame.setBounds(250,250,400,300);

mainFrame.setVisible(false);

usernameField = new JTextField(10);

passwordField = new JPasswordField(10);

Object[] options = {"登錄","取消"};

int i = JOptionPane.showOptionDialog(null,createLoginPanel(),"登錄信息",JOptionPane.DEFAULT_OPTION,JOptionPane.PLAIN_MESSAGE,null,options,options[0]);

if(i==0) {

String username = usernameField.getText();

String password = passwordField.getText();

if(!username.equals("") && !password.equals("")) {

mainFrame.getContentPane().add(new JLabel("用戶名:"+username+" 密碼是:"+password,JLabel.CENTER));

mainFrame.show();

}

else {

JOptionPane.showMessageDialog(null,"用戶名和密碼不能為空","提示",JOptionPane.WARNING_MESSAGE);

System.exit(1);

}

}

else System.exit(0);

}

static JPanel createLoginPanel() {

JPanel ret = new JPanel();

JPanel usernamePanel = new JPanel();

usernamePanel.add(new JLabel("用戶名:",JLabel.RIGHT));

usernamePanel.add(usernameField);

JPanel passwordPanel = new JPanel();

passwordPanel.add(new JLabel("密 碼:",JLabel.RIGHT));

passwordPanel.add(passwordField);

Box box = new Box(BoxLayout.Y_AXIS);

box.add(usernamePanel); box.add(passwordPanel);

ret.add(box);

ret.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(new Color(244,144,44)),"填寫登錄信息"));

return ret;

}

static JFrame mainFrame = null;

static JTextField usernameField = null;

static JPasswordField passwordField = null;

}

運行:

javac -deprecation Login1.java

java Login

(因為有壹個過期的API,所以用了 -deprecation 命令)

方法二,使用了兩個JFrame類***同實現,第壹次顯示第壹個frame,當點了登錄後且操作合法時,第壹個窗口就被釋放了 dispose();再顯示第二個窗口:

源碼如下:

import java.awt.Color;

import java.awt.BorderLayout;

import java.awt.event.*;

import javax.swing.*;

public class Login2 {

public static void main(String[] args) {

javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {

createAndShowGUI();

}

});

}

static void createAndShowGUI() {

//////////////////////////////////////////////////////////////

loginWindow = new JFrame("登錄信息");

loginWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

loginWindow.setBounds(350,350,250,200);

loginWindow.setResizable(false);

JPanel usernamePanel = new JPanel();

usernamePanel.add(new JLabel("用戶名:",JLabel.CENTER));

usernamePanel.add(usernameField);

JPanel passwordPanel = new JPanel();

passwordPanel.add(new JLabel("密 碼:",JLabel.CENTER));

passwordPanel.add(passwordField);

Box box = new Box(BoxLayout.Y_AXIS);

box.add(usernamePanel); box.add(passwordPanel);

JPanel infoPanel = new JPanel();

infoPanel.add(box);

infoPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(new Color(244,144,44)),"填寫登錄信息"));

JButton submitButton = new JButton("登錄");

JButton cancelButton = new JButton("取消");

submitButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

String username = usernameField.getText();

String password = passwordField.getText();

if(!username.equals("") && !password.equals("")) {

loginWindow.dispose();

mainFrame.getContentPane().add(new JLabel("用戶名:"+username+" 密碼是:"+password,JLabel.CENTER));

mainFrame.setVisible(true);

}

else {

JOptionPane.showMessageDialog(null,"用戶名和密碼不能為空","提示",JOptionPane.WARNING_MESSAGE);

System.exit(1);

}

}

});

cancelButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

System.exit(0);

}

});

JPanel buttonPanel = new JPanel();

buttonPanel.add(submitButton); buttonPanel.add(cancelButton);

loginWindow.getContentPane().add(infoPanel,BorderLayout.CENTER);

loginWindow.getContentPane().add(buttonPanel,BorderLayout.SOUTH);

loginWindow.getContentPane().add(new JPanel(),BorderLayout.EAST);

loginWindow.getContentPane().add(new JPanel(),BorderLayout.WEST);

loginWindow.setVisible(true);

/////////////////////////////////////////////////////////////////

mainFrame = new JFrame();

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

mainFrame.setBounds(250,250,400,300);

mainFrame.setVisible(false);

}

static JFrame loginWindow,mainFrame;

static final JTextField usernameField = new JTextField(10);

static final JPasswordField passwordField = new JPasswordField(10);

}

運行:

javac -deprecation Login2.java

java Login2

  • 上一篇:請問如何在asp.net+C# 下讀取Oracle的CLob字段
  • 下一篇:在cdr裏什麽是ole物件
  • copyright 2024編程學習大全網