Java Swing JFrame窗口的实现

发布时间: 2019-12-31 19:26:35 来源: 互联网 栏目: Java 点击:

这篇文章主要介绍了Java Swing JFrame窗口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1. 概述

官方JavaDocsApi: javax。swing。JFrame

JFrame,窗口。JFrame 是一个可以独立显示的组件,一个窗口通常包含有标题、图标、操作按钮(关闭、最小化、最大化),还可以为窗口添加菜单栏、工具栏等。一个进程中可以创建多个窗口,并可在适当时候进行显示、隐藏 或 销毁。

JFrame 常用构造方法:

/**
 * 参数说明:
 *  title: 窗口标题
 */
JFrame()

JFrame(String title)

JFrame 常用方法:

// 设置窗口的 标题
void setTitle(String title)

// 设置窗口的 图标
void setIconImage(Image image)

// 设置窗口的 宽高
void setSize(int width, int height)
void setSize(Dimension d)

/**
 * 设置窗口关闭按钮点击后的默认操作, 参考值:
 *  WindowConstants.DO_NOTHING_ON_CLOSE: 不执行任何操作。
 *  WindowConstants.HIDE_ON_CLOSE: 隐藏窗口(不会结束进程), 再次调用 setVisible(true) 将再次显示。
 *  WindowConstants.DISPOSE_ON_CLOSE: 销毁窗口, 如果所有可显示的窗口都被 DISPOSE, 则可能会自动结束进程。
 *  WindowConstants.EXIT_ON_CLOSE: 退出进程。
 */
void setDefaultCloseOperation(int operation)

// 设置窗口是否可放大缩小
void setResizable(boolean resizable)

// 设置窗口的 位置(相对于屏幕左上角)
void setLocation(int x, int y)
void setLocation(Point p)

// 设置窗口的 位置 和 宽高
void setBounds(int x, int y, int width, int height)
void setBounds(Rectangle rect)

// 获取窗口的位置坐标(相对于屏幕坐标空间)
Point getLocationOnScreen()
// 获取窗口的位置坐标(相对于父级坐标空间, 窗口的父级一般就是屏幕)
Point getLocation()

/**
 * 设置窗口的相对位置。
 * 如果 comp 整个显示区域在屏幕内, 则将窗口放置到 comp 的中心;
 * 如果 comp 显示区域有部分不在屏幕内, 则将该窗口放置在最接近 comp 中心的一侧;
 * comp 为 null, 表示将窗口放置到屏幕中心。
 */
void setLocationRelativeTo(Component comp)

// 设置将窗口 置顶 显示
void setAlwaysOnTop(boolean alwaysOnTop)

// 设置窗口的内容面板
void setContentPane(Container contentPane)

// 设置窗口是否可见, 窗口对象刚创建和添加相应组件后通过 setVisible(true) 绘制窗口, 其内部组件可能要此时才有宽高值
void setVisible(boolean b)

// 判断窗口是否处于显示状态
boolean isShowing()

// 销毁窗口, 释放窗口及其所有子组件占用的资源, 之后再次调用 setVisible(true) 将会重构窗口
void dispose()

// 调整窗口的大小, 以适合其子组件的首选大小和布局。
void pack()

2. 代码实例

package com.xiets.swing;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Main {

 public static void main(String[] args) {
  final JFrame jf = new JFrame("测试窗口");
  jf.setSize(400, 400);
  jf.setLocationRelativeTo(null);
  jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

  JPanel panel = new JPanel();

  JButton btn = new JButton("Show New Window");
  btn.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent e) {
    // 点击按钮, 显示新的一个窗口
    showNewWindow(jf);
   }
  });
  panel.add(btn);

  jf.setContentPane(panel);
  jf.setVisible(true);
 }

 public static void showNewWindow(JFrame relativeWindow) {
  // 创建一个新窗口
  JFrame newJFrame = new JFrame("新的窗口");

  newJFrame.setSize(250, 250);

  // 把新窗口的位置设置到 relativeWindow 窗口的中心
  newJFrame.setLocationRelativeTo(relativeWindow);

  // 点击窗口关闭按钮, 执行销毁窗口操作(如果设置为 EXIT_ON_CLOSE, 则点击新窗口关闭按钮后, 整个进程将结束)
  newJFrame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

  // 窗口设置为不可改变大小
  newJFrame.setResizable(false);

  JPanel panel = new JPanel(new GridLayout(1, 1));

  // 在新窗口中显示一个标签
  JLabel label = new JLabel("这是一个窗口");
  label.setFont(new Font(null, Font.PLAIN, 25));
  label.setHorizontalAlignment(SwingConstants.CENTER);
  label.setVerticalAlignment(SwingConstants.CENTER);
  panel.add(label);

  newJFrame.setContentPane(panel);
  newJFrame.setVisible(true);
 }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: Java Swing JFrame窗口的实现
本文地址: http://www.cooldogg.com/ruanjian/java/296593.html

如果认为本文对您有所帮助请赞助本站

支付宝扫一扫赞助微信扫一扫赞助

  • 支付宝扫一扫赞助
  • 微信扫一扫赞助
  • 支付宝先领红包再赞助
    声明:凡注明"本站原创"的所有文字图片等资料,版权均属编程客栈所有,欢迎转载,但务请注明出处。
    Jmeter调用java脚本过程详解java实现猜拳小游戏
    Top 麒麟彩票计划群 湖南快乐十分官网 728彩票计划群 内蒙古快3 520彩票计划群 上海11选5计划 极速赛车怎么看技巧 极速赛车是人为操控吗 内蒙古快3 极速赛车5码计划

    Java Swing JFrame窗口的实现_Java_软件编程 - 编程客栈

    Java Swing JFrame窗口的实现

    发布时间: 2019-12-31 19:26:35 来源: 互联网 栏目: Java 点击:

    这篇文章主要介绍了Java Swing JFrame窗口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    1. 概述

    官方JavaDocsApi: javax.swing.JFrame

    JFrame,窗口。JFrame 是一个可以独立显示的组件,一个窗口通常包含有标题、图标、操作按钮(关闭、最小化、最大化),还可以为窗口添加菜单栏、工具栏等。一个进程中可以创建多个窗口,并可在适当时候进行显示、隐藏 或 销毁。

    JFrame 常用构造方法:

    /**
     * 参数说明:
     *  title: 窗口标题
     */
    JFrame()
    
    JFrame(String title)
    
    

    JFrame 常用方法:

    // 设置窗口的 标题
    void setTitle(String title)
    
    // 设置窗口的 图标
    void setIconImage(Image image)
    
    // 设置窗口的 宽高
    void setSize(int width, int height)
    void setSize(Dimension d)
    
    /**
     * 设置窗口关闭按钮点击后的默认操作, 参考值:
     *  WindowConstants.DO_NOTHING_ON_CLOSE: 不执行任何操作。
     *  WindowConstants.HIDE_ON_CLOSE: 隐藏窗口(不会结束进程), 再次调用 setVisible(true) 将再次显示。
     *  WindowConstants.DISPOSE_ON_CLOSE: 销毁窗口, 如果所有可显示的窗口都被 DISPOSE, 则可能会自动结束进程。
     *  WindowConstants.EXIT_ON_CLOSE: 退出进程。
     */
    void setDefaultCloseOperation(int operation)
    
    // 设置窗口是否可放大缩小
    void setResizable(boolean resizable)
    
    // 设置窗口的 位置(相对于屏幕左上角)
    void setLocation(int x, int y)
    void setLocation(Point p)
    
    // 设置窗口的 位置 和 宽高
    void setBounds(int x, int y, int width, int height)
    void setBounds(Rectangle rect)
    
    // 获取窗口的位置坐标(相对于屏幕坐标空间)
    Point getLocationOnScreen()
    // 获取窗口的位置坐标(相对于父级坐标空间, 窗口的父级一般就是屏幕)
    Point getLocation()
    
    /**
     * 设置窗口的相对位置。
     * 如果 comp 整个显示区域在屏幕内, 则将窗口放置到 comp 的中心;
     * 如果 comp 显示区域有部分不在屏幕内, 则将该窗口放置在最接近 comp 中心的一侧;
     * comp 为 null, 表示将窗口放置到屏幕中心。
     */
    void setLocationRelativeTo(Component comp)
    
    // 设置将窗口 置顶 显示
    void setAlwaysOnTop(boolean alwaysOnTop)
    
    // 设置窗口的内容面板
    void setContentPane(Container contentPane)
    
    // 设置窗口是否可见, 窗口对象刚创建和添加相应组件后通过 setVisible(true) 绘制窗口, 其内部组件可能要此时才有宽高值
    void setVisible(boolean b)
    
    // 判断窗口是否处于显示状态
    boolean isShowing()
    
    // 销毁窗口, 释放窗口及其所有子组件占用的资源, 之后再次调用 setVisible(true) 将会重构窗口
    void dispose()
    
    // 调整窗口的大小, 以适合其子组件的首选大小和布局。
    void pack()

    2. 代码实例

    package com.xiets.swing;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    public class Main {
    
     public static void main(String[] args) {
      final JFrame jf = new JFrame("测试窗口");
      jf.setSize(400, 400);
      jf.setLocationRelativeTo(null);
      jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    
      JPanel panel = new JPanel();
    
      JButton btn = new JButton("Show New Window");
      btn.addActionListener(new ActionListener() {
       @Override
       public void actionPerformed(ActionEvent e) {
        // 点击按钮, 显示新的一个窗口
        showNewWindow(jf);
       }
      });
      panel.add(btn);
    
      jf.setContentPane(panel);
      jf.setVisible(true);
     }
    
     public static void showNewWindow(JFrame relativeWindow) {
      // 创建一个新窗口
      JFrame newJFrame = new JFrame("新的窗口");
    
      newJFrame.setSize(250, 250);
    
      // 把新窗口的位置设置到 relativeWindow 窗口的中心
      newJFrame.setLocationRelativeTo(relativeWindow);
    
      // 点击窗口关闭按钮, 执行销毁窗口操作(如果设置为 EXIT_ON_CLOSE, 则点击新窗口关闭按钮后, 整个进程将结束)
      newJFrame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    
      // 窗口设置为不可改变大小
      newJFrame.setResizable(false);
    
      JPanel panel = new JPanel(new GridLayout(1, 1));
    
      // 在新窗口中显示一个标签
      JLabel label = new JLabel("这是一个窗口");
      label.setFont(new Font(null, Font.PLAIN, 25));
      label.setHorizontalAlignment(SwingConstants.CENTER);
      label.setVerticalAlignment(SwingConstants.CENTER);
      panel.add(label);
    
      newJFrame.setContentPane(panel);
      newJFrame.setVisible(true);
     }
    
    }

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

    本文标题: Java Swing JFrame窗口的实现
    本文地址: http://www.cooldogg.com/ruanjian/java/296593.html

    如果认为本文对您有所帮助请赞助本站

    支付宝扫一扫赞助微信扫一扫赞助

  • 支付宝扫一扫赞助
  • 微信扫一扫赞助
  • 支付宝先领红包再赞助
    声明:凡注明"本站原创"的所有文字图片等资料,版权均属编程客栈所有,欢迎转载,但务请注明出处。
    Jmeter调用java脚本过程详解java实现猜拳小游戏
    Top 麒麟彩票计划群 湖南快乐十分官网 728彩票计划群 内蒙古快3 520彩票计划群 上海11选5计划 极速赛车怎么看技巧 极速赛车是人为操控吗 内蒙古快3 极速赛车5码计划