**1. Java GUI编程简介**
Java GUI(图形用户界面)编程是指使用Java编程语言创建和设计图形用户界面的技术。Java提供了丰富的类和库,用于构建各种GUI应用程序,从简单的窗口应用程序到复杂的桌面应用程序。
**2. 界面组件**
Java提供了许多可用于构建GUI的界面组件,如按钮、标签、文本框、下拉列表等。
2.1 创建窗口和容器
```java
import javax.swing.JFrame;
public class MyWindow extends JFrame {
public MyWindow() {
setTitle("My Window");
setSize(500, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null); // 居中显示
setVisible(true);
}
public static void main(String[] args) {
new MyWindow();
}
}
```
2.2 添加组件
```java
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MyWindow extends JFrame {
public MyWindow() {
setTitle("My Window");
setSize(500, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
JButton button = new JButton("Click me");
panel.add(button);
setContentPane(panel);
setVisible(true);
}
public static void main(String[] args) {
new MyWindow();
}
}
```
**3. 布局管理**
布局管理器用于控制组件在容器中的布局和排列。
3.1 边界布局管理器(BorderLayout)
```java
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class MyWindow extends JFrame {
public MyWindow() {
setTitle("My Window");
setSize(500, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new BorderLayout());
JButton button1 = new JButton("North");
JButton button2 = new JButton("South");
JButton button3 = new JButton("East");
JButton button4 = new JButton("West");
JButton button5 = new JButton("Center");
add(button1, BorderLayout.NORTH);
add(button2, BorderLayout.SOUTH);
add(button3, BorderLayout.EAST);
add(button4, BorderLayout.WEST);
add(button5, BorderLayout.CENTER);
setVisible(true);
}
public static void main(String[] args) {
new MyWindow();
}
}
```
3.2 流布局管理器(FlowLayout)
```java
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MyWindow extends JFrame {
public MyWindow() {
setTitle("My Window");
setSize(500, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JButton button1 = new JButton("Button 1");
JButton button2 = new JButton("Button 2");
JButton button3 =
```java
JButton button3 = new JButton("Button 3");
panel.add(button1);
panel.add(button2);
panel.add(button3);
setContentPane(panel);
setVisible(true);
}
public static void main(String[] args) {
new MyWindow();
}
}
```
**4. 事件处理**
Java GUI应用程序通常需要对用户操作做出响应,例如按钮点击、文本框输入等。
```java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MyWindow extends JFrame {
public MyWindow() {
setTitle("My Window");
setSize(500, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
JButton button = new JButton("Click me");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Button clicked");
}
});
panel.add(button);
setContentPane(panel);
setVisible(true);
}
public static void main(String[] args) {
new MyWindow();
}
}
```
以上是一个关于Java GUI编程入门与实践的教程。通过学习和实践这些概念和示例代码,您将能够开始构建简单的Java GUI应用程序。请注意,在实际应用中,您可能会使用更复杂的界面组件、布局管理器和事件处理来创建功能丰富的GUI应用程序。
如果您希望进一步学习和探索Java GUI编程的高级主题,可以参考以下资源:
- 《Java核心技术卷II:高级特性》- Cay S. Horstmann:该书详细介绍了Java GUI编程的高级特性,包括自定义组件、绘图、多窗口应用程序等。
- Oracle官方文档:Java官方文档提供了有关Java GUI编程的详细说明和示例代码。您可以访问Oracle的官方网站,查找有关Java GUI编程的文档和教程。
- 在线教程和博客:有许多优秀的在线教程和博客专门涉及Java GUI编程。您可以搜索这些资源,阅读他们的教程和实例,以加深理解和提高技能。