P10 JFrame 窗口

  • 1. 概述
  • 2.代码实例
  • 3.效果演示
  • 4.设置 LAF

系统:Win10
Java:1.8.0_333
IDEA:2020.3.4
Gitee:https://gitee.com/lijinjiang01/JavaSwing

1. 概述

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.代码实例

代码如下:

import javax.swing.*;
import java.awt.*;public class Demo01 {public static void main(String[] args) {JFrame frame = new JFrame();frame.setTitle("Demo01"); // 设置窗口标题frame.setSize(400, 300); // 设置窗口显示大小Image logo = new ImageIcon("P10_JFrame/images/logo.png").getImage(); // 获取 logo 图标frame.setIconImage(logo); // 设置窗口图标frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗口默认关闭操作frame.setLocationRelativeTo(null); // 相对屏幕居中frame.setVisible(true); // 设置窗口可见}
}

3.效果演示

4.设置 LAF

设置 Look And Feel(beautyeye),后续的测试样例均使用该 LAF

import com.lijinjiang.beautyeye.BeautyEyeLNFHelper;
import javax.swing.*;
import java.awt.*;public class Demo02 {public static void main(String[] args) {try {/*** 设置本属性将改变窗口边框样式定义* 系统默认样式 : osLookAndFeelDecorated* 强立体半透明 : translucencyAppleLike* 弱立体半透明 : translucencySmallShadow* 普通不透明 : generalNoTranslucencyShadow*/BeautyEyeLNFHelper.frameBorderStyle = BeautyEyeLNFHelper.FrameBorderStyle.generalNoTranslucencyShadow;BeautyEyeLNFHelper.launchBeautyEyeLNF();} catch (Exception e) {e.printStackTrace();}JFrame frame = new JFrame();frame.setTitle("Demo02"); // 设置窗口标题frame.setSize(400, 300); // 设置窗口显示大小Image logo = new ImageIcon("P10_JFrame/images/logo.png").getImage(); // 获取 logo 图标frame.setIconImage(logo); // 设置窗口图标frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗口默认关闭操作frame.setLocationRelativeTo(null); // 相对屏幕居中frame.setVisible(true); // 设置窗口可见}
}

效果演示:

P10 JFrame 窗口相关推荐

  1. 记事本快捷键设置 java_Java给JFrame窗口设置热键---不完整记事本

    使用了简单的JFrame窗口,在窗口中添加菜单,菜单选项,点击鼠标右键出现右键菜单,用io流将输入文本域的内容保存.并设置热键alt+x为退出的热键 public class MyNotepad ex ...

  2. 制作一款Jframe窗口游戏原来这么简单,我抚摸着光头禁不住惊叹!!开始、暂停、重新开始事件必须有,线程也加入下充充面子,背景更换和移动也需要,一首背景音乐当然更适合游戏。

    Jframe制作打字游戏 设计思路和流程 为什么设计这个玩意 一.初始设计分析 窗口的建立和实现显示字母 二.进阶设计分析 1.打字游戏基本实现流程的设计 2.键盘注册实现消除字母和重新生成 三.优化 ...

  3. 无法打开JFrame窗口

    无法打开JFrame窗口

  4. 初学java之JFrame窗口模式

    1 package project; 2 import javax.swing.*; 3 import java.awt.*; 4 public class test 5 { 6 public sta ...

  5. Toolkit.getDefaultToolkit().getScreenSize();获取显示器屏幕大小并使JFrame窗口居中显示

    Toolkit toolkit=Toolkit.getDefaultToolkit(); Toolkit是抽象类,不能使用new Toolkit() 创建实例化对象,须通过静态方法getDefault ...

  6. Java中JFrame窗口添加背景图片

    知识储备: 1.JFrame中是有很多层次关系的,具体可以去自己查一下: 主要思路: 1.把图片添加到标签里(把标签的大小设为和图片大小相同),把标签放在分层面板的最底层: 2.把窗口面板设为内容面板 ...

  7. java jframe教程_Java Swing JFrame窗口的实现

    1. 概述 官方JavaDocsApi: javax.swing.JFrame JFrame,窗口.JFrame 是一个可以独立显示的组件,一个窗口通常包含有标题.图标.操作按钮(关闭.最小化.最大化 ...

  8. java jframe_Java窗口(JFrame)从零开始(1)——JFrame窗口

    菜鸟一只,学习Swing中,抱着共同学习.练习和提高Java能力的想法,特在此此上传些简单的代码.望大佬们多多指教!ヽ( ̄▽ ̄)ノ 同时,也希望找一些朋友来一起讨论. 简单粗暴上代码 一个简单的窗口, ...

  9. 2021-02-02 _REENTRANT

    #ifndef _REENTRANT #error "请开启gcc编译器的多线程可重入选项-pthread" #endif 用gcc编译使用了POSIX thread的程序时通常需 ...

最新文章

  1. NOP 指令作用[转]
  2. 转 关于 D3D的 SetRenderState 以及AlphaBlend 和AlphaTest
  3. C++ with STL(一)
  4. 利用jmap和MAT等工具查看JVM运行时堆内存
  5. 转载CopyOnWriteArrayList
  6. Android开发——View的生命周期总结
  7. C语言之字符数组在if{}里面赋值给char *引发的问题
  8. Spring Boot Redis简介
  9. github 如何设置项目的语言显示
  10. html表单php连接mysql数据库_使用HTML表单和PHP更新MySQL
  11. Typora使用指南以及各种小技巧
  12. centos服务端ftp的搭建_centos下搭建ftp服务器
  13. FCKEditor 打开页面总是得到焦点问题处理 FCKConfig.StartupFocus=false;
  14. Go语言中的指针和new(T)函数的使用
  15. 华为笔试题:根据子网掩码判断两个IP地址是否在同一子网,并输出IP1的网络号
  16. C++期末课程设计——宾馆客房管理系统(详细报告+源代码+详细注释)(另附加“25+”C++C语言期末课程设计系统下载地址)
  17. (十五)Python中级知识-线程模块
  18. Contents mismatch at: 08000000H (Flash=FFH Required=00H) ! Too many errors to display !
  19. quark h5 学习
  20. 网站可行性报告范文_鄂州编写可行性报告公司2020范文格式

热门文章

  1. 微带贴片天线的优点和缺点分别是怎样的
  2. 「计算几何精度问题」
  3. QT学习之QProcess进程调用
  4. (程序员情感三部曲之三)程序员与女朋友相处之道
  5. 从头开始搭建谷歌云深度学习平台
  6. suncity告诉你围棋的历史
  7. oracle 10 awr,其它 - Oracle 10g AWR Report 分析_数据库技术_Linux公社-Linux系统门户网站...
  8. 生活中断舍离,你应该要扔掉的100件东西
  9. 基于Frida的Android Hook神器AppMon
  10. python for遍历字符串_Python之字符串的遍历的4种方式