JFrame主窗口设置显示

wen java案例 1

本文目录导读:

JFrame主窗口设置显示

  1. 基本显示设置
  2. 完整的窗口设置示例
  3. 常用设置方法总结
  4. 高级显示控制
  5. 最佳实践建议

在Java Swing中,设置JFrame主窗口的显示通常涉及到窗口的创建、属性设置以及可见性控制,以下是详细的步骤和常用代码示例:

基本显示设置

import javax.swing.JFrame;
public class MainWindow {
    public static void main(String[] args) {
        // 创建JFrame实例
        JFrame frame = new JFrame("我的窗口");
        // 设置窗口大小(宽度,高度)
        frame.setSize(800, 600);
        // 设置窗口位置居中
        frame.setLocationRelativeTo(null);
        // 设置关闭操作(点击关闭按钮时退出程序)
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 显示窗口
        frame.setVisible(true);
    }
}

完整的窗口设置示例

import javax.swing.*;
import java.awt.*;
public class CompleteWindow {
    public static void main(String[] args) {
        // 使用SwingUtilities确保在事件调度线程中创建GUI
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                createAndShowGUI();
            }
        });
    }
    private static void createAndShowGUI() {
        // 创建窗口
        JFrame frame = new JFrame("完整窗口示例");
        // === 窗口基本属性 ===
        frame.setSize(1000, 700);                    // 设置大小
        frame.setMinimumSize(new Dimension(400, 300)); // 设置最小大小
        frame.setMaximumSize(new Dimension(1600, 1200)); // 设置最大大小
        // === 位置设置 ===
        frame.setLocationRelativeTo(null);            // 屏幕居中
        // frame.setLocation(100, 100);                // 自定义位置
        // frame.setBounds(100, 100, 800, 600);        // 同时设置位置和大小
        // === 关闭操作 ===
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 其他选项:
        // JFrame.DO_NOTHING_ON_CLOSE      // 什么都不做
        // JFrame.HIDE_ON_CLOSE            // 隐藏窗口
        // JFrame.DISPOSE_ON_CLOSE         // 释放窗口资源
        // === 窗口修饰 ===
        frame.setResizable(true);                    // 是否可以调整大小
        // frame.setUndecorated(true);               // 去掉标题栏(需要谨慎使用)
        // === 添加组件示例 ===
        frame.setLayout(new FlowLayout());
        frame.add(new JLabel("欢迎使用Java Swing!"));
        frame.add(new JButton("点击我"));
        // === 显示窗口 ===
        frame.setVisible(true);
    }
}

常用设置方法总结

方法 说明 示例
setSize(width, height) 设置窗口大小 frame.setSize(800, 600)
setLocation(x, y) 设置窗口位置 frame.setLocation(100, 100)
setBounds(x, y, w, h) 同时设置位置和大小 frame.setBounds(0, 0, 800, 600)
setLocationRelativeTo(null) 屏幕居中 frame.setLocationRelativeTo(null)
setResizable(boolean) 设置是否可调整大小 frame.setResizable(true)
setTitle(String) 设置窗口标题 frame.setTitle("My App")
setDefaultCloseOperation(int) 设置关闭行为 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
setVisible(true) 显示窗口 frame.setVisible(true)
setExtendedState(int) 设置窗口状态 frame.setExtendedState(JFrame.MAXIMIZED_BOTH)

高级显示控制

// 全屏显示
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
// 设置窗口在最前
frame.setAlwaysOnTop(true);
// 设置窗口透明度 (Java 1.7+)
frame.setOpacity(0.9f);
// 设置窗口图标
ImageIcon icon = new ImageIcon("path/to/icon.png");
frame.setIconImage(icon.getImage());
// 等待窗口完全显示后执行操作
frame.addComponentListener(new ComponentAdapter() {
    @Override
    public void componentShown(ComponentEvent e) {
        System.out.println("窗口已显示");
    }
});

最佳实践建议

  1. 使用SwingUtilities.invokeLater():确保GUI创建在事件调度线程中
  2. 先设置属性,最后设置visible:避免窗口闪烁
  3. 设置合适的关闭操作:通常使用EXIT_ON_CLOSE
  4. 考虑设置最小大小:防止窗口被调整到太小
public static void main(String[] args) {
    SwingUtilities.invokeLater(() -> {
        JFrame frame = new JFrame("最佳实践");
        frame.setSize(800, 600);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    });
}

这些设置可以帮助您创建功能完整、用户体验良好的Java Swing窗口应用。

抱歉,评论功能暂时关闭!