2

与Swing的初见

---------------------------参考菜鸟教程的swing课程学习--------------------


Swing 是一个为Java设计的GUI工具包。

Swing是JAVA基础类的一部分。

Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。


Hello World程序

HelloWorldSwing.java代码  // 初步搭建GUI界面 ,内容较空

 

 1 import javax.swing.*;
 2 
 3 import org.omg.CORBA.PUBLIC_MEMBER;                
 4 public class HelloWorldSwing {
 5     /*
 6      * 创建并显示GUI (图形用户界面)
 7      * 出于线程安全的考虑
 8      * 这个方法在事件调用线程中调用
 9      * */
10     private static void creatAndShowGUI() {
11         //确保一个漂亮的外观风格
12         JFrame.setDefaultLookAndFeelDecorated(true);
13         
14         //创建以及设置窗口
15         JFrame frame = new JFrame("HelloWorldSwing");
16         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
17         
18         //添加“HelloWorld” 标签
19         JLabel label = new JLabel("Hello World");
20         frame.getContentPane().add(label);
21         
22         //显示窗口
23         frame.pack();
24         frame.setVisible(true);
25         }
26     
27     public static void main(String[] args) {
28         //显示应用 GUI
29         javax.swing.SwingUtilities.invokeLater(new Runnable(){
30             public void run() {
31                 creatAndShowGUI();
32             }
33         });
34     }
35 
36 }

 

 

 

   

 // 不可移动 ,最小或最大

 


 

一个用户登录框实例

SwingLoginExample.java文件代码如下:

 

 1 import javax.swing.JButton;
 2 import javax.swing.JFrame;
 3 import javax.swing.JLabel;
 4 import javax.swing.JPanel;
 5 import javax.swing.JPasswordField;
 6 import javax.swing.JTextField;
 7 /*
 8  * 用户登录实例
 9  */
10 public class SwingLoginExample {
11     
12     public static void main(String[] args) {
13         //创建JFrame 实例
14         JFrame frame = new JFrame("Login Example"); //注意双引
15         //Setting the width and height of frame(框架)
16         frame.setSize(350,200);
17         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
18         
19         /*创建面板,这个类似于HTML的 div 标签
20          * 我们可以创建多个面板并在JFrame中指定位置
21          * 面板中我们可以添加文办字段,按钮及其它组件
22          */
23         JPanel panel = new JPanel();//panel:面板
24         //添加面板
25         frame.add(panel);
26         /*
27          * 调用用户定义的方法并添加组件到面板
28          */
29         placeComponents(panel);
30         
31         //设置界面可见
32         frame.setVisible(true);
33     }
34 
35     private static void placeComponents(JPanel panel) {
36         /*
37          *布局部分
38          *设置布局为null
39          */
40         panel.setLayout(null);
41         
42         //创建JLabel
43         JLabel userLabel = new JLabel("User:");
44         /*
45          * 这个方法定义组件的位置
46          * setBounds(x,y,,width,height)
47          * x,y指左上角的新位置,由width和height指定心得大小
48          */
49         userLabel.setBounds(10, 20, 85, 25);
50         panel.add(userLabel);
51         /*
52          * 创建文本域用于用户输入
53          */
54         JTextField userText = new  JTextField(20);
55         userText.setBounds(100,20,165,25);
56         panel.add(userText);
57         
58         //输入密码的文本域
59         JLabel passwordLabel = new JLabel("Password:");
60         passwordLabel.setBounds(10, 50, 80, 25);
61         panel.add(passwordLabel);
62         
63         /*类似输入的文本域
64          * 但输入的信息会以点号代替,用于保护密码的安全性
65          */
66         JPasswordField passwordText = new JPasswordField(20);
67         passwordText.setBounds(100,50,80,25);
68         panel.add(passwordText);
69         
70         //创建登录按钮
71         JButton loginButton = new JButton("login");
72         loginButton.setBounds(10, 80, 80, 25);
73         panel.add(loginButton);
74     }
75 
76 }

 

 

 

//增加User和password按键,界面可移动,大小可控


JFrame - java 的GUI程序的基本思路是一JFrame为基础,它是屏幕上的Windows对象,可以最大化、最小化、关闭。

JPanel - java 图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing包中,可以进行嵌套,功能是对窗体中具有相同逻辑功能的组件进行组合,始终轻量级容器,可以加入到JFrame窗体中。

JLabel - JLabel对象可以显示文本、图像或同时两者。可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐。默认情况下,标签在其显示区内垂直居中对齐。默认情况下,只显示文本的标签是开始边对齐;而只显示图像标签则是水平居中对齐。

JTextField - 一个轻量级组件,它允许编辑单行文本。

JPasswordField - 允许我们输入一行字像输入框,但隐藏星号(*)或创建密码(密码)。

JButton - JButton类的实例。用于创建按钮类似实例的“login”。

 

posted @ 2019-07-06 21:48  风吟令  阅读(310)  评论(0编辑  收藏  举报