java swing如何调用
Java Swing 基本调用方法
Java Swing 是 Java 提供的 GUI 工具包,用于构建图形用户界面。以下介绍如何调用 Swing 组件创建简单窗口。
创建 JFrame 窗口
import javax.swing.JFrame;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("Swing 示例");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
添加组件到窗口
import javax.swing.*;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("组件示例");
JButton button = new JButton("点击");
JLabel label = new JLabel("文本标签");
frame.setLayout(new FlowLayout());
frame.add(button);
frame.add(label);
frame.pack();
frame.setVisible(true);
}
}
事件处理机制
Swing 通过事件监听器实现交互功能。
按钮点击事件
button.addActionListener(e -> {
JOptionPane.showMessageDialog(frame, "按钮被点击");
});
窗口事件

frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.out.println("窗口关闭中");
}
});
布局管理器使用
Swing 提供多种布局方式管理组件位置。
BorderLayout 示例
frame.setLayout(new BorderLayout());
frame.add(new JButton("North"), BorderLayout.NORTH);
frame.add(new JButton("Center"), BorderLayout.CENTER);
GridLayout 示例

frame.setLayout(new GridLayout(2, 2));
frame.add(new JButton("1"));
frame.add(new JButton("2"));
frame.add(new JButton("3"));
frame.add(new JButton("4"));
自定义组件绘制
重写 paintComponent 方法实现自定义绘制。
class CustomPanel extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.RED);
g.fillOval(50, 50, 100, 100);
}
}
多线程注意事项
Swing 组件必须在事件分发线程(EDT)中创建和修改。
SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame();
frame.setVisible(true);
});
现代 Swing 特性
使用 JLayer 装饰组件
JLayer<JComponent> layer = new JLayer<>(panel);
layer.setUI(new LayerUI<JComponent>() {
@Override
public void paint(Graphics g, JComponent c) {
super.paint(g, c);
// 自定义绘制
}
});
透明窗口设置
frame.setUndecorated(true);
frame.setBackground(new Color(0, 0, 0, 128));
以上示例展示了 Swing 的基本调用方式,包括窗口创建、组件添加、事件处理和自定义绘制等核心功能。实际开发中可根据需求组合使用这些技术构建复杂界面。






