import?java.awt.FlowLayout;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?javax.swing.JButton;
import?javax.swing.JFrame;
import?javax.swing.JLabel;
import?javax.swing.JTextArea;
import?javax.swing.JTextField;
public?class?Demo?extends?JFrame{
String?username;
String?password;
public?Demo()?{
username?=?"java";
setTitle("#####");
setLayout(new?FlowLayout());
jta.setText("请输入用户名密码:\n用户名:"+username+"\n密码:"+password);
add(jta);
JLabel?usernameLabel?=?new?JLabel("用户名:");
final?JTextField?usernameText?=?new?JTextField(10);
add(usernameLabel);
add(usernameText);
JLabel?passwordLabel?=?new?JLabel("密码:");
final?JTextField?passwordText?=?new?JTextField(10);
add(passwordLabel);
add(passwordText);
JButton?button?=?new?JButton("登录");
add(button);
final?JLabel?result?=?new?JLabel();//用来显示登录结果
add(result);
button.addActionListener(new?ActionListener()?{//登录按钮事件
public?void?actionPerformed(ActionEvent?e)?{
//获取输入的用户名密码
String?tempUserName?=?usernameText.getText();
String?tempPassWord?=?passwordText.getText();
if(tempUserName.equals(username)tempPassWord.equals(password)){
result.setText("登录成功");
}else{
result.setText("登录失败");
}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
public?static?void?main(String[]?args)?{
new?Demo();
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Login {
private JFrame frame = new JFrame("登录");
private Container c = frame.getContentPane();
private JTextField username = new JTextField();
private JPasswordField password = new JPasswordField();
private JButton ok = new JButton("确定");
private JButton cancel = new JButton("取消");
public Login(){
c.setLayout(new BorderLayout());
initFrame();
frame.setVisible(true);
private void initFrame() {
//顶部
JPanel titlePanel = new JPanel();
titlePanel.setLayout(new FlowLayout());
titlePanel.add(new JLabel("系统管理员登录"));
c.add(titlePanel,"North");
//中部表单
JPanel fieldPanel = new JPanel();
fieldPanel.setLayout(null);
JLabel l1 = new JLabel("用户名:");
fieldPanel.add(l1);
fieldPanel.add(username);
fieldPanel.add(password);
c.add(fieldPanel,"Center");
//底部按钮
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new FlowLayout());
buttonPanel.add(ok);
buttonPanel.add(cancel);
c.add(buttonPanel,"South");
public static void main(String[] args){
new Login();
概述
具体框架使用jframe,文本框组件:JTextField;密码框组件:JPasswordField;标签组件:JLabel;复选框组件:JCheckBox;单选框组件:JRadioButton;按钮组件JButton.
登录界面:
代码实例
import javax.swing.*;
import java.awt.*; ? //导入必要的包
public class denglu extends JFrame{
JTextField jTextField ;//定义文本框组件
JPasswordField jPasswordField;//定义密码框组件
public denglu(){
jLabel1 = new JLabel("用户名");
jb1 = new JButton("确认");
jp1 = new JPanel();
//设置布局
jp1.add(jLabel1);
jp1.add(jTextField);//第一块面板添加用户名和文本框
this.add(jp1);
//设置显示
//this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setTitle("登陆");
new denglu();
拓展内容
java swing包
Swing 是一个为Java设计的GUI工具包.
Swing是JAVA基础类的一部分.
Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表.
Swing提供许多比AWT更好的屏幕显示元素.它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT.它们是JFC的一部分.它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们.这意味着你可以在任意平台上使用JAVA支持的任意面板.轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为.
概念解析:
JFrame?– java的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化、最小化、关闭.
JPanel?– Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,可以进行嵌套,功能是对窗体中具有相同逻辑功能的组件进行组合,是一种轻量级容器,可以加入到JFrame窗体中..
JLabel?– JLabel 对象可以显示文本、图像或同时显示二者.可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐.默认情况下,标签在其显示区内垂直居中对齐.默认情况下,只显示文本的标签是开始边对齐;而只显示图像的标签则水平居中对齐.
JPasswordField?– 允许我们输入了一行字像输入框,但隐藏星号(*) 或点创建密码(密码)
JButton?– JButton 类的实例.用于创建按钮类似实例中的 "Login".
界面代码写的不错 其实连数据库也不复杂. 如果希望不转换界面,登陆和登陆成功或失败后的信息在同意界面 可以设置个int类型的变量 来控制显示信息
连数据库的时候先添加数据库驱动包,如果连接数据库有问题 多打印一下相关数据 很容易发现错误之处的
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class 登陆界面 extends JFrame {
private static final long serialVersionUID = 1L;
private JPasswordField passwordField;
private JTextField textField;
public static void main(String args[]) {
try {
登陆界面 frame = new 登陆界面();
} catch (Exception e) {
e.printStackTrace();
/**
* Create the frame
*/
public 登陆界面() {
super();
getContentPane().setLayout(null);
final JButton button = new JButton();
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String dir = "com.mysql.jdbc.Driver";//数据库驱动类,我这是MySQL的 ,连数据库记得导入驱动的jar包
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try{
Class.forName(dir);
conn = DriverManager.getConnection(url);
stat = conn.createStatement();
//得到用户名
String name = textField.getText().trim();
//得到密码
char[] pass = passwordField .getPassword();
String password = new String(pass);
//输出用户名密码
System.out.println(name);
System.out.println(password);
//数据库表user,字段用户名为username,密码password,都是varchar型
String sql = "select username,password from user where username = '" + name + "'";
rs = stat.executeQuery(sql.toString());
if(rs.next()){
//获得数据库里面的用户名和密码
String sname = rs.getString("username");
String spass = rs.getString("password");
//对输入的用户名和密码和数据库里的进行判断
if((rs != null ) (name.equals(sname)) (password.equals(spass))) {
//登陆成功释放登陆界面资源,显示a窗口
登陆界面.this.dispose();
new MyFrame1().launch();
System.out.println("chenggong");
} else {
//密码错误,显示b窗口
System.out.println("mimacuowu");
//用户名错误和其他情况,显示b窗口
System.out.println("yonghumingcuowu");
}catch(Exception e1){
//数据库连接失败,显示b窗口
System.out.println("数据库连接错误");
}finally{
if(rs!=null) rs.close();
if(stat!=null) stat.close();
if(conn!=null) conn.close();
button.setText("确定");
getContentPane().add(button);
final JButton button_1 = new JButton();
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {System.exit(0);
button_1.setText("取消");
getContentPane().add(button_1);
final JLabel label = new JLabel();
label.setText("用户名");
getContentPane().add(label);
final JLabel label_1 = new JLabel();
label_1.setText("密码");
getContentPane().add(label_1);
textField = new JTextField();
getContentPane().add(textField);
passwordField = new JPasswordField();
getContentPane().add(passwordField);
class MyFrame1 extends Frame {
int orgX1;
int orgY1;
public void launch() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
e.getWindow().dispose();
System.exit(0);
public void paint(Graphics g) {
//Color c =g.getColor();
g.setColor(Color.red);
import?java.awt.EventQueue;
import?javax.swing.JPanel;
import?javax.swing.border.EmptyBorder;
public?class?Test?extends?JFrame?{
private?JPanel?contentPane;
private?JTextField?userField;
private?JTextField?pwdField;
EventQueue.invokeLater(new?Runnable()?{
public?void?run()?{
try?{
Test?frame?=?new?Test();
}?catch?(Exception?e)?{
public?Test()?{
contentPane?=?new?JPanel();
contentPane.setLayout(null);
setContentPane(contentPane);
JLabel?lblUsername?=?new?JLabel("username");
contentPane.add(lblUsername);
JLabel?lblPassword?=?new?JLabel("password");
contentPane.add(lblPassword);
userField?=?new?JTextField();
contentPane.add(userField);
userField.setColumns(10);
pwdField?=?new?JTextField();
contentPane.add(pwdField);
pwdField.setColumns(10);
JButton?btnNewButton?=?new?JButton("登录");
btnNewButton.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?arg0)?{
showPrint();
contentPane.add(btnNewButton);
JButton?btnNewButton_1?=?new?JButton("注册");
btnNewButton_1.addActionListener(new?ActionListener()?{
contentPane.add(btnNewButton_1);
public?void?showPrint(){
System.out.println("helloword");
eclipse?或?netbeans都有可视化开发,直接托就行了,
纠正你个错误,你自己不要在JFrame自己写一个show方法,因为会与JFrame的show方法重名,不改名等于覆写父类方法,除非你真的要复写此方法,否则会显示不出界面的,所以这里用?showPrint方法代替了你说的show方法
以上就是土嘎嘎小编为大家整理的gui登陆java代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!