一、定义
GUI全称是Graphical User Interface,即图形用户界面。JDK中提供了AWT 和 Swing 两个包,用于GUI程序的设计和开发。
1.java .awt abstract Window Toolkit (抽象窗口工具包),它是 java 的早期版本,组件种类有限,需要调用本地系统方法实现功能,重量级,有点依赖于平台。
2.javax.SWing ,是sun公司在AWT 的基础上,建立的一套图形用户界面系统,提供了更多的组件,而且完全由java实现,增强了可移植性,轻量级。
SWing相当于AWT的升级版本,解决了跨平台操作的问题,但是,并不代表AWT就被彻底淘汰了,它是基础,了解它的性能还是很重要的。
二、AWT类层次关系
Container:为容器,是一个特殊的组件,该组件中可以通过add方法添加其他的组件进来。
简单的代码示例:
import java.awt.Frame;public class Test19 {public static void main(String[] args) { demo(); }static void demo() { Frame f = new Frame("这是我做的第一个窗口"); f.setSize(400, 400); f.setLocation(40, 60);// 左上角的坐标System.out.println("運行成功");// 验证程序是否被执行了 } }
如果做到上面的代码,从控制台的结果来看,程序没有挂掉,已经被执行了。只是想要的对话框并没有出现。
上面程序少一段代码:f.setVisible(true);
import java.awt.Frame;public class Test19 {public static void main(String[] args) { demo(); }static void demo() { Frame f = new Frame("这是我做的第一个窗口"); f.setSize(400, 400); f.setLocation(40, 60);// 左上角的坐标 f.setVisible(true);//使得窗口可见 System.out.println("運行成功");// 验证程序是否被执行了 } }
执行结果:(值得注意的是,这个小窗口,点击右上角的X,并不能使得该窗口关闭,这里需要我们自己去设置)
下面演示添加一个按钮的操作:
import java.awt.Button;import java.awt.Frame;public class Test19 {public static void main(String[] args) { demo(); }static void demo() { Frame f = new Frame("这是我做的第一个窗口"); f.setSize(400, 400); f.setLocation(40, 60);// 左上角的坐标f.setVisible(true);// 使得窗口可见Button b = new Button("按钮");// 需要导包f.add(b);// 添加该按钮System.out.println("運行成功");// 验证程序是否被执行了 } }
执行结果:(注意,有按钮的,按钮在没有设置大小和位置的时候,默认为占满边框了)
总结:
对于众多的GUI组件,根据其作用,又可以分为两大类,基本组件和容器。
基本组件:按纽,文本框之类,不能容纳其他组件。
容器:可以容纳其他组件,比如窗口、对话框等,所有的容器都是java.awt.Container 的直接或间接子类(上面的Frame 就是一个容器)
附,思考:
上面的程序,执行到 System.out.println("運行成功"); 就结束了,实际上这时main函数就结束了。但窗口还在。我们甚至还可以进行操作。那么一定是有别的前台线程在运行,可以理解为创建Frame的时候,又启了一个线程。
Atas ialah kandungan terperinci Java的GUI编程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna