zoukankan      html  css  js  c++  java
  • 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()方法,如果要避免处理用户与应用程序窗口进行交互时出现的问题,这就是应采用的方式。

  • 相关阅读:
    正则表达式(转)
    Java实现的具有GUI的校园导航系统
    由“哥尼斯堡的‘七桥问题’”引出的并查集问题
    Is It A Red-Black Tree?(判断一棵树是否为红黑二叉树)
    Java IO
    Android ORMLite的使用
    Android SQLite数据库的数据升级与降级
    Android SQLite数据库 SQLiteOpenHelper的操作使用
    SimpleAdapter与baseAdapter的使用语法与区别
    Android五大布局之一绝对布局(AbsoluteLayout)
  • 原文地址:https://www.cnblogs.com/mannixiang/p/3463881.html
Copyright © 2011-2022 走看看