JFrame一些基础小知识
JFrame.setLocationRelativeTo方法
JFrame.setLocationRelativeTo()是一个Java Swing中的方法,它用于将窗口居中显示在屏幕上。
当你调用该方法时,它会将窗口的位置相对于传入的组件进行定位。如果你传入的是null,则窗口将基于屏幕的中心点进行定位。
以下是一些常见的使用方法:
// 将窗口相对于父组件定位
JFrame frame = new JFrame();
frame.setLocationRelativeTo(parentComponent);
// 将窗口居中显示在屏幕上
JFrame frame = new JFrame();
frame.setLocationRelativeTo(null);
注意,在调用JFrame.setLocationRelativeTo()方法之前,你需要先设置JFrame的大小和位置,否则窗口会默认使用它的首选大小和位置。
JFrame.setResizable(false)方法
f.setResizable(false)是Java Swing中的方法,用于设置JFrame窗口的可重置性(Resizable)。设置为false时,用户无法通过拖拽窗口的边框来改变窗口的大小。
该方法的使用示例:
JFrame f = new JFrame("My Frame");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400, 300);
f.setResizable(false); // 禁止用户调整窗口大小
f.setVisible(true);
这将创建一个大小为400x300像素,不可调整大小的JFrame窗口。
在有些情况下,你可能希望窗口可以进行调整大小。如果你不调用设置可重置性的方法,窗口默认是可重置的。而调用f.setResizable(true)可以将窗口的可重置性设置为可调整大小。
JFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)方法
JFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)是Java Swing中的方法,用于设置JFrame窗口的关闭操作。在窗口关闭时,可以设置程序如何终止运行。
在这个方法中,EXIT_ON_CLOSE是一个静态常量,表示在关闭窗口时,终止程序的运行。
使用示例:
JFrame f = new JFrame("My Frame");
f.setSize(400, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置关闭操作
f.setVisible(true);
在这个例子中,当用户点击窗口的关闭按钮时,程序将自动终止运行。如果你希望在窗口关闭时执行其他操作,可以将JFrame.EXIT_ON_CLOSE替换为JFrame.DISPOSE_ON_CLOSE、JFrame.HIDE_ON_CLOSE等其他常量,或者自定义关闭事件的监听器来实现。
f.setLayout(new BorderLayout()); f.add(tb, BorderLayout.NORTH); f.add(new JPanel(), BorderLayout.CENTER)三个方法
这段代码是在Java Swing中将组件添加到JFrame中的示例代码。首先,f.setLayout(new BorderLayout())设置了JFrame窗口的布局管理器为BorderLayout,这是一个常用的布局管理器,它将组件分别放置到容器的东、南、西、北、中五个方向。
接下来,f.add(tb, BorderLayout.NORTH)将一个命名为tb的组件添加到f窗口的北部,即顶部。然后,f.add(new JPanel(), BorderLayout.CENTER)将一个新的JPanel组件添加到f窗口的中央部分。其中,new JPanel()表示创建一个新的空白JPanel组件,作为容器用于放置其他组件。
整个代码示例如下:
JFrame f = new JFrame("My Frame");
f.setLayout(new BorderLayout());
// 在窗口的顶部放置一个命名为tb的组件
JComponent tb = new JComponent() {};
f.add(tb, BorderLayout.NORTH);
// 在窗口的中央部分添加一个空白的JPanel组件
f.add(new JPanel(), BorderLayout.CENTER);
f.setSize(400, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
这段示例代码中,JFrame的大小设置为400x300像素,关闭操作设置为EXIT_ON_CLOSE,设置可见为true,这样就能看到添加到JFrame中的组件了。
JFrame.setVisible(true)方法
f.setVisible(true)是Java Swing中的方法,用于设置窗口的可见性。
在Java Swing中,当一个窗口被创建后,默认情况下是不可见的。使用f.setVisible(true)可以将窗口设置为可见状态,这样用户就可以看到并与之交互。当窗口被设置为可见后,用户可以进行拖拽、关闭等操作。
使用示例:
JFrame f = new JFrame("My Frame");
f.setSize(400, 300);
// 在这里添加其他组件...
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true); // 将窗口设置为可见状态
在这个例子中,JFrame窗口被创建后,先设置了窗口的大小,然后添加了其他组件,接着设置了关闭操作,并最终使用setVisible(true)将窗口设置为可见的状态。
如果你希望将窗口设置为不可见,可以使用f.setVisible(false)。
JFrame一些基础小知识的更多相关文章
- Java基础小知识(一)
序言:“不积跬步,无以至千里.不积小流,无以成江海.”每一个庞大的知识架构都是由无数个小知识点慢慢积累起来的,没有量变的积累,就没有质变上的飞跃,成功往往离不开积累. 今天就和大家分享一些我在学习J ...
- 刚开始学习Javascript的一些基础小知识,从入门到崩溃,希望对大家有帮助(只适合初学者)
一.简介 1.JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,js不能操作文件. 重要的开始啦!!!!! 引入javascript: 行间js <d ...
- 学习笔记:Java的一些基础小知识之JVM与GC
一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太 ...
- java基础小知识
1.1常量: 基本数据类型常量 字符常量 整数常量的表现形式:一进制的形式来表示(二进制,八进制,十进制,十六进制) 生活中:十进制(0-9) ,星期(七进制(0-6)) ,时间(十二进制(0-11 ...
- Java的一些基础小知识之JVM与GC (转)
一.JVM是什么 Java虚拟机(英语:Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做.最早由太阳微 ...
- Java基础小知识笔记
1. Integer转进制的一个类2. toBinaryString,toOctalString,toHexString.(转为二进制,八进制,十六进制的方法)3. 如果·数据的大小没有超过byte/ ...
- python基础小知识,is和==的区别,编码和解码
1.is和==的区别 1)id() 通过id()我们可以查看到一个变量表示的值在内存中的地址 >>> s1 = "Tanxu" >>> s2 = ...
- AngularJs——基础小知识(二)
AngularJs的过滤器 1.Currency :过滤器(金额货币格式化)
- php基础小知识
1.php中的双引号可以正确的解析变量与转义序列,而单引号只会按照声明原样显示:双里面的字段会经过编译器解释,然后再当作HTML代码输出:单引号里面的不进行解释,直接输出. 2.转义序列是针对源代码的 ...
- C# 基础小知识之yield 关键字 语法糖
原文地址:http://www.cnblogs.com/santian/p/4389675.html 对于yield关键字我们首先看一下msdn的解释: 如果你在语句中使用 yield 关键字,则意味 ...
随机推荐
- Godot 4.0 文件系统特性的总结
关于文件系统,官方文档犹抱琵琶半遮面,有一些很独特的特性并没有集中地摆出来,导致用的时候晕头转向. 这里总结了目前我发现的Godot文件系统的一些特性. 这是专门针对导出后的,因为一些操作在编辑器里面 ...
- 数据分析02-(pandas介绍、jupyter notebook)
数据分析-02 数据分析-02 pandas pandas介绍 pandas核心数据结构 Series DataFrame 核心数据结构操作 复合索引 Jupyter notebook 数据加载 处理 ...
- Grafana系列-统一展示-6-Zabbix仪表板
系列文章 Grafana 系列文章 Notes: 关于 Grafana系列-统一展示-6-Zabbix 数据源, 其实已经在之前的文章: 使用 Grafana 统一监控展示 - 对接 Zabbix 里 ...
- 2020-09-11:Hive的优化策略有哪些?
福哥答案2020-09-11: [Hive调优及优化的12种方式](https://zhuanlan.zhihu.com/p/80718835?utm_source=qq)1.请慎重使用COUNT(D ...
- ChatGPT 推出 iOS 应用,支持语音输入,使用体验如何?
最近,OpenAI 宣布推出官方 iOS 应用,允许用户随时随地访问其高人气 AI 聊天机器人,此举也打破了近几个月内苹果 App Store 上充斥似是而非的山寨服务的窘境. 该应用程序是 Chat ...
- drf——全局处理异常、接口文档、jwt介绍、based64编码与解码
全局异常处理原理 # 对于前端来讲,后端即便报错,也要返回统一的格式,前端便于处理 {code:999,msg:'系统异常,请联系系统管理员'} # 只要三大认证,视图类的方法出了异常,都会执行一个函 ...
- docker容器中下载vim指令的速度特别慢,解决方案
1 首先要进入容器内执行,保存目前源 mv /etc/apt/sources.list /etc/apt/sources.list.bak 2修改源,由于docker默认没有vim的包 所以无法使用v ...
- Kubernetes GoRoutineMap工具包代码详解
1.概述 GoRoutineMap 定义了一种类型,可以运行具有名称的 goroutine 并跟踪它们的状态.它防止创建具有相同名称的多个goroutine,并且在上一个具有该名称的 goroutin ...
- 自从用了 Kiali 以后才知道,配置 Istio 的 流量管理 是如此容易
在生产环境中,直接登录服务器是非常不方便的,我们可以使用Kiali配置Istio的流量管理. 本文以Istio官方提供的Bookinfo应用示例为例,使用Kiali配置Istio的流量管理.Booki ...
- Python自动化测试面试题精选(一)
Python自动化测试面试题精选 今天由勇哥给你介绍一些Python自动化测试中常见的面试题,涵盖了Python基础.测试框架.测试工具.测试方法等方面的内容,希望能够帮助你提升自己的水平和信心. 项 ...