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 关键字,则意味 ...
随机推荐
- 保姆级教程:用GPU云主机搭建AI大语言模型并用Flask封装成API,实现用户与模型对话
导读 在当今的人工智能时代,大型AI模型已成为获得人工智能应用程序的关键.但是,这些巨大的模型需要庞大的计算资源和存储空间,因此搭建这些模型并对它们进行交互需要强大的计算能力,这通常需要使用云计算服务 ...
- 《HelloGitHub》第 85 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...
- [C++提高编程] 1、模板
文章目录 1 模板 1.1 模板的概念 1.2 函数模板 1.2.1 函数模板语法 1.2.2 函数模板注意事项 1.2.3 函数模板案例 1.2.4 普通函数与函数模板的区别 1.2.5 普通函数与 ...
- npm安装报错
npm ERR! request to https://registry.cnpmjs.org/element-ui failed, reason: Hostname/IP does not matc ...
- 非AI文生图,献丑了
多图预警! 大家好,我是 DOM哥 也许你会好奇上面的这几张图片是怎么生成的,接下来我就开始隆重介绍这款文生图工具 当然,并非 AI 的那个文生图啦 预览地址:https://dombro.site/ ...
- 献给转java的c#和java程序员的数据库orm框架
献给转java的c#和java程序员的数据库orm框架 一个好的程序员不应被语言所束缚,正如我现在开源java的orm框架一样,如果您是一位转java的c#程序员,那么这个框架可以带给你起码没有那么差 ...
- macOS下由yarn与npm差异引发的Electron镜像地址读取问题
记录macOS下由yarn与npm差异引发的Electron镜像地址读取问题 写在前面:该问题仅仅出现在Linux和macOS上,Windows上不存在该问题! 初始背景 最近笔者重新拾起了Elect ...
- HTML入门笔记1
一.HTML是谁发明的? 1990年Tim Berners Lee发明了www(world wide web万维网),为了方面人们于阅读网页,与此同时自己又发明了HTML.HTTP.URL:用自己写的 ...
- 自学FHQ-treap的草稿
更新:能过模板题(和加强版)的代码: 普通平衡树: (请自行实现读入和输出函数) 点击查看代码 #include <iostream> #include <random> #i ...
- “古老”编程语言的最新选择!华为云发布CodeArts IDE for C/C++
摘要:华为云CodeArts IDE for C/C++正式上线,欢迎体验. 本文分享自华为云社区<"古老"编程语言的最新选择!华为云发布CodeArts IDE for C ...