好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java实现简单GUI登录和注册界面

本文实例为大家分享了Java实现简单GUI登录和注册界面的具体代码,供大家参考,具体内容如下

先看效果图:

登陆界面:

注册界面:

实现代码如下:

一、登陆界面

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

package cn.bms.view;

 

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

 

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.border.MatteBorder;

 

import cn.bms.tools.GUITools;

 

/*

  * 登录窗口

  */

@SuppressWarnings ( "serial" )

public class AdminLogin extends JFrame {

     private JPanel contentPanel = new JPanel();

     // Label标签存放背景图片

     private JLabel label;

     // 设置按钮组件

     private JButton login = new JButton( "登录" ), register = new JButton( "注册" );

 

     private JLabel jlb1 = new JLabel( "用户名:" ), jlb2 = new JLabel( "密码:" ), jlbtitle = new JLabel( "登录界面" );

     // 设置文本框组件

     private JTextField admin = new JTextField(), password = new JTextField();

 

     public AdminLogin() {

         this .init();

         this .addListener();

     }

 

     private void init() {

         this .setTitle( "管理员登陆界面" );

         this .setSize( 500 , 350 );

         GUITools.center( this );

         ImageIcon image1 = new ImageIcon( "837878.jpg" ); // 界面背景图片

         JLabel backLabel = new JLabel();

         backLabel.setIcon(image1);

         label = new JLabel(image1);

         label.setBounds( 0 , 0 , 1000 , 400 );

         // 在LayeredPane最底层上添加两个带图片的标签,并且label2在label上方

         this .getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));

         // 将内容面板设置为透明,就能够看见添加在LayeredPane上的背景。

         ((JPanel) this .getContentPane()).setOpaque( false );

 

         /*

         * 添加组件到contentPanel容器中 布局方式为自由布局。

         */

         contentPanel.setLayout( null );

         add(admin);

         add(password);

         add(login);

         add(register);

         add(jlb1);

         add(jlb2);

         add(jlbtitle);

 

         /*

         * 组件绝对位置

         */

         jlb1.setBounds( 50 , 130 , 90 , 25 );

         jlb1.setForeground(Color.WHITE);

         admin.setBounds( 95 , 130 , 300 , 25 );

         password.setBounds( 95 , 154 , 300 , 25 );

         jlb2.setBounds( 50 , 154 , 90 , 25 );

         jlb2.setForeground(Color.WHITE);

         register.setBounds( 95 , 225 , 90 , 20 );

         login.setBounds( 315 , 225 , 90 , 20 );

         jlbtitle.setBounds( 180 , 45 , 200 , 50 );

         Font f = new Font( "微软雅黑" , Font.BOLD, 30 );

         jlbtitle.setFont(f);

         jlbtitle.setForeground(Color.BLUE);

 

         /*

         * 组件透明化

         */

         admin.setOpaque( true );

         password.setOpaque( true );

         contentPanel.setOpaque( false );

         getContentPane().add(contentPanel);

 

         /*

         * 组件边框颜色

         */

         textSet(admin);

         textSet(password);

     }

 

     /*

     * JTextField文本框设置方法.

     */

     private void textSet(JTextField field) {

         field.setBackground( new Color( 255 , 255 , 255 ));

         field.setPreferredSize( new Dimension( 150 , 28 ));

         MatteBorder border = new MatteBorder( 0 , 0 , 2 , 0 , new Color( 192 , 192 , 192 ));

         field.setBorder(border);

     }

 

     /*

     * 事件监听

     */

     private void addListener() {

         login.addActionListener( new ActionListener() {

             @Override

             public void actionPerformed(ActionEvent e) {

                 forLogin(admin.getText(), password.getText());

             }

 

         });

         register.addActionListener( new ActionListener() {

             @Override

             public void actionPerformed(ActionEvent e) {

                 forRegister();

             }

 

         });

     }

 

     // 登录方法

     public void forLogin(String admin, String pwd) {

     }

 

     // 注册方法

     public void forRegister() {

     }

}

二、注册界面

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

package cn.bms.view;

 

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

 

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.border.MatteBorder;

 

import cn.bms.controller.AdminLoginController;

import cn.bms.tools.GUITools;

 

/*

  * 注册窗口

  */

@SuppressWarnings ( "serial" )

public class AdminRegister extends JFrame {

     private JPanel contentPanel = new JPanel();

     // Label标签存放背景图片

     private JLabel label;

     // 设置按钮组件

     private JButton ok = new JButton( "确定注册" ), back = new JButton( "返回登录" );

 

     private JLabel jlb1 = new JLabel( "用户名:" ), jlb2 = new JLabel( "密码:" ), jlb3 = new JLabel( "确认密码:" ),

             jlbtitle = new JLabel( "注册界面" );

     // 设置文本框组件

     private JTextField admin = new JTextField(), password1 = new JTextField(), password2 = new JTextField();

 

     public AdminRegister() {

         this .init();

         this .addListener();

     }

 

     private void init() {

         this .setTitle( "管理员注册界面" );

         this .setSize( 500 , 350 );

         GUITools.center( this );

         ImageIcon image1 = new ImageIcon( "837878.jpg" ); // 界面背景图片

         JLabel backLabel = new JLabel();

         backLabel.setIcon(image1);

         label = new JLabel(image1);

         label.setBounds( 0 , 0 , 1000 , 400 );

         // 在LayeredPane最底层上添加两个带图片的标签,并且label2在label上方

         this .getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));

         // 将内容面板设置为透明,就能够看见添加在LayeredPane上的背景。

         ((JPanel) this .getContentPane()).setOpaque( false );

 

         /*

         * 添加组件到contentPanel容器中 布局方式为自由布局。

         */

         contentPanel.setLayout( null );

         add(admin);

         add(password1);

         add(password2);

         add(ok);

         add(back);

         add(jlb1);

         add(jlb2);

         add(jlb3);

         add(jlbtitle);

 

         /*

         * 组件绝对位置

         */

         jlb1.setBounds( 40 , 130 , 90 , 25 );

         jlb1.setForeground(Color.WHITE);

         admin.setBounds( 95 , 130 , 300 , 25 );

 

         password1.setBounds( 95 , 154 , 300 , 25 );

         jlb2.setBounds( 40 , 154 , 90 , 25 );

         jlb2.setForeground(Color.WHITE);

 

         password2.setBounds( 95 , 178 , 300 , 25 );

         jlb3.setBounds( 40 , 178 , 90 , 25 );

         jlb3.setForeground(Color.WHITE);

 

         ok.setBounds( 315 , 225 , 90 , 20 );

         back.setBounds( 95 , 225 , 90 , 20 );

 

         jlbtitle.setBounds( 180 , 45 , 200 , 50 );

         Font f = new Font( "微软雅黑" , Font.BOLD, 30 );

         jlbtitle.setFont(f);

         jlbtitle.setForeground(Color.BLUE);

 

         /*

         * 组件透明化

         */

         admin.setOpaque( true );

         password1.setOpaque( true );

         password2.setOpaque( true );

         contentPanel.setOpaque( false );

         getContentPane().add(contentPanel);

 

         /*

         * 组件边框颜色

         */

         textSet(admin);

         textSet(password1);

         textSet(password2);

     }

 

     /*

     * JTextField文本框设置方法.

     */

     private void textSet(JTextField field) {

         field.setBackground( new Color( 255 , 255 , 255 ));

         field.setPreferredSize( new Dimension( 150 , 28 ));

         MatteBorder border = new MatteBorder( 0 , 0 , 2 , 0 , new Color( 192 , 192 , 192 ));

         field.setBorder(border);

     }

 

     /*

     * 事件监听

     */

     private void addListener() {

         ok.addActionListener( new ActionListener() {

             @Override

             public void actionPerformed(ActionEvent e) {

                 setRegister(admin.getText(), password1.getText(), password2.getText());

             }

         });

         back.addActionListener( new ActionListener() {

             @Override

             public void actionPerformed(ActionEvent e) {

                 new AdminLoginController().setVisible( true );

             }

         });

     }

 

     // 实现注册账户方法

     public void setRegister(String admin, String pwd1, String pwd2) {

     }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:https://blog.csdn.net/weixin_43347550/article/details/106721761

查看更多关于Java实现简单GUI登录和注册界面的详细内容...

  阅读:26次