• Java基础之创建窗口——创建应用程序窗口(TryWindow)


    控制台程序。

    准备好应用程序窗口及其包含的组件并显示,这称为实现窗口。调用应用程序窗口对象的setVisible()方法就会实现窗口。实现了应用程序的GUI之后,在主线程中修改或查询GUI可能会导致死锁。Swing组件的方法都不是线程安全的,所以它们必须在不是主线程的其它线程中执行。

    创建GUI并处理与GUI交互的线程成为Swing事件分派线程。

     1 import javax.swing.JFrame;
     2 import javax.swing.UIManager;
     3 import javax.swing.SwingUtilities;
     4 
     5 public class TryWindow {
     6   public static void createWindow(){
     7     JFrame aWindow = new JFrame("This is the Window Title");
     8     int windowWidth = 400;                                             // Window width in pixels
     9     int windowHeight = 150;                                            // Window height in pixels
    10     aWindow.setBounds(50, 100,                                         // Set position
    11                       windowWidth, windowHeight);                      // and size
    12     aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    13     aWindow.setVisible(true);                                          // Display the window
    14   }
    15 
    16   public static void main(String[] args) {
    17 
    18 /*     // List look-and-feel class names
    19     UIManager.LookAndFeelInfo[] looks = UIManager.getInstalledLookAndFeels();
    20     for(UIManager.LookAndFeelInfo look : looks) {
    21       System.out.println(look.getClassName());
    22     } */
    23 
    24     SwingUtilities.invokeLater(new Runnable() {
    25             public void run() {
    26                 createWindow();
    27             }
    28         });
    29   }
    30 }

    createWindow()方法由匿名Runnable类对象中的run()方法调用,Runnable类对象在main()方法中创建。javax.swing包中定义的swingUtilities类包含多个静态实用方法,包括这里调用的invokeLater()方法。这个方法在事件分派线程中执行作为参数传送的Runnable对象的run()方法,如果要避免处理用户与应用程序窗口进行交互时出现的问题,这就是应采用的方式。

  • 相关阅读:
    [COI2007] Patrik 音乐会的等待 单调栈
    [NOI2012]随机数生成器 矩阵乘法
    流程控制主while,for,python画金字塔,画9*9乘法表
    VS第一天(一堆错误的错误示范)
    markdown插入表格语法
    格式化输出,基本运算符,流程控制主if
    jupyter notebook的插件安装及文本格式修改
    7个好用的社交分享按钮代码片段
    标签页tab.js 在栏目之间切换,局部变化
    详解 CSS 属性
  • 原文地址:https://www.cnblogs.com/mannixiang/p/3463881.html
Copyright © 2020-2023  润新知