zoukankan      html  css  js  c++  java
  • 与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”。

  • 相关阅读:
    skywalking源码改造
    skywalking包覆盖
    skywalking-拦截器实现(2)
    skywalking-拦截器实现(1)
    skywalking-过滤某些不需要被监控的接口
    扩展Spring-data-jpa导致注解@NamedEntityGraphs失效
    Skywalking日志收集功能使用:
    LRU缓存机制(基于LinkedHashMap)
    2020年总结
    Hbase简介
  • 原文地址:https://www.cnblogs.com/hycc/p/11144289.html
Copyright © 2011-2022 走看看