Home Java javaTutorial GUI programming in Java

GUI programming in Java

Jul 23, 2017 pm 01:46 PM
java Base programming

1. Definition

The full name of GUI is Graphical User Interface, that is, graphical user interface. JDK provides two packages, AWT and Swing, for the design and development of GUI programs.

1.java .awt abstract Window Toolkit (Abstract Window Toolkit), which is an early version of java, has limited types of components and needs to call local system methods to implement functions. It is heavyweight and somewhat platform-dependent.

2.javax.SWing is a graphical user interface system established by Sun Company on the basis of AWT. It provides more components and is completely implemented in Java, which enhances portability and is lightweight. magnitude.

SWing is equivalent to an upgraded version of AWT, which solves the problem of cross-platform operation. However, it does not mean that AWT has been completely eliminated. It is the foundation, and it is still important to understand its performance.

2. AWT class hierarchy

##Container: is the container, It is a special component into which other components can be added through the add method.

Simple code example:

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("運行成功");// 验证程序是否被执行了    }
}
Copy after login
If you do the above code, judging from the console results, the program has not hung up and has been executed. The desired dialog box just doesn't appear.

The above program is missing a piece of code:

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("運行成功");// 验证程序是否被执行了    }
}
Copy after login
Execution results: (It is worth noting that clicking the X in the upper right corner of this small window will not close the window. We need to set it ourselves)

The following demonstrates the operation of adding a button:

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("運行成功");// 验证程序是否被执行了    }
}
Copy after login
Execution results: (Note that if there is a button, the button will fill the border by default when the size and position are not set)

Summary:

Many GUI components can be divided into two major categories according to their functions, basic components and containers .

Basic components: buttons, text boxes, etc., cannot accommodate other components.

Container: can accommodate other components, such as windows, dialog boxes, etc. All containers are direct or indirect subclasses of java.awt.Container (the Frame above is a container)

Attachment, thoughts:

The above program ends when it is executed to System.out.println("Run successfully"); In fact, the main function ends at this time. But the window is still there. We can even do it. Then there must be other foreground threads running. It can be understood that when Frame is created, another thread is started.

The above is the detailed content of GUI programming in Java. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Problem-Solving with Python: Unlock Powerful Solutions as a Beginner Coder Problem-Solving with Python: Unlock Powerful Solutions as a Beginner Coder Oct 11, 2024 pm 08:58 PM

Pythonempowersbeginnersinproblem-solving.Itsuser-friendlysyntax,extensivelibrary,andfeaturessuchasvariables,conditionalstatements,andloopsenableefficientcodedevelopment.Frommanagingdatatocontrollingprogramflowandperformingrepetitivetasks,Pythonprovid

Break or return from Java 8 stream forEach? Break or return from Java 8 stream forEach? Feb 07, 2025 pm 12:09 PM

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

The Key to Coding: Unlocking the Power of Python for Beginners The Key to Coding: Unlocking the Power of Python for Beginners Oct 11, 2024 pm 12:17 PM

Python is an ideal programming introduction language for beginners through its ease of learning and powerful features. Its basics include: Variables: used to store data (numbers, strings, lists, etc.). Data type: Defines the type of data in the variable (integer, floating point, etc.). Operators: used for mathematical operations and comparisons. Control flow: Control the flow of code execution (conditional statements, loops).

Demystifying C: A Clear and Simple Path for New Programmers Demystifying C: A Clear and Simple Path for New Programmers Oct 11, 2024 pm 10:47 PM

C is an ideal choice for beginners to learn system programming. It contains the following components: header files, functions and main functions. A simple C program that can print "HelloWorld" needs a header file containing the standard input/output function declaration and uses the printf function in the main function to print. C programs can be compiled and run by using the GCC compiler. After you master the basics, you can move on to topics such as data types, functions, arrays, and file handling to become a proficient C programmer.

Unleash Your Inner Programmer: C for Absolute Beginners Unleash Your Inner Programmer: C for Absolute Beginners Oct 11, 2024 pm 03:50 PM

C is an ideal language for beginners to learn programming, and its advantages include efficiency, versatility, and portability. Learning C language requires: Installing a C compiler (such as MinGW or Cygwin) Understanding variables, data types, conditional statements and loop statements Writing the first program containing the main function and printf() function Practicing through practical cases (such as calculating averages) C language knowledge

Java Program to Find the Volume of Capsule Java Program to Find the Volume of Capsule Feb 07, 2025 am 11:37 AM

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

How to Run Your First Spring Boot Application in Spring Tool Suite? How to Run Your First Spring Boot Application in Spring Tool Suite? Feb 07, 2025 pm 12:11 PM

Spring Boot simplifies the creation of robust, scalable, and production-ready Java applications, revolutionizing Java development. Its "convention over configuration" approach, inherent to the Spring ecosystem, minimizes manual setup, allo

Create the Future: Java Programming for Absolute Beginners Create the Future: Java Programming for Absolute Beginners Oct 13, 2024 pm 01:32 PM

Java is a popular programming language that can be learned by both beginners and experienced developers. This tutorial starts with basic concepts and progresses through advanced topics. After installing the Java Development Kit, you can practice programming by creating a simple "Hello, World!" program. After you understand the code, use the command prompt to compile and run the program, and "Hello, World!" will be output on the console. Learning Java starts your programming journey, and as your mastery deepens, you can create more complex applications.

See all articles