Java如何去掉JFrame上的最大化最小化和关闭按钮
- 格式:doc
- 大小:29.00 KB
- 文档页数:3
java swchi用法引言是文章开篇部分,用于介绍文章的背景、目的和结构。
在本文中,我们将对Java Swing的使用进行详细介绍和讨论。
1.1 概述:Java Swing是Java语言提供的一套图形用户界面(Graphical User Interface, GUI)工具包,它为开发者提供了创建丰富、交互性强的图形界面应用程序的能力。
通过使用Java Swing,开发者可以轻松地设计和实现窗口、标签、按钮等各种UI组件,并与用户进行交互。
1.2 文章结构:本文将分为五个主要部分来介绍Java Swing的使用方法和常用组件。
首先,在“2. Java Swing简介”部分中,我们将对Java Swing进行基本介绍,包括其定义、特点以及应用领域。
然后,在“3. 开发Java Swing应用程序的基本步骤”部分,我们将详细说明如何安装和配置Java开发环境,并给出开发Swing应用程序的基本步骤。
接下来,在“4. Java Swing常用组件及用法示例”部分中,我们将逐一介绍常见的Swing组件,如JFrame窗口类、JLabel标签类以及JButton按钮类,并给出相应的使用方法示例。
最后,在“5. 结论与展望”部分中,我们将对Java Swing的优势与局限性进行总结,并展望Java GUI开发的未来趋势。
1.3 目的:本文旨在帮助读者了解和掌握Java Swing的基本使用方法和常用组件,以便能够快速开发出功能强大、用户友好的图形界面应用程序。
通过学习本文,读者将能够了解Swing的特点和应用领域,并掌握开发Swing应用程序的基本步骤。
同时,本文还将通过具体示例介绍常见的Swing组件的用法,以帮助读者更好地理解和运用这些组件。
以上是“1. 引言”部分内容的详细描述。
接下来,我们将继续撰写文章其他部分的内容。
2. Java Swing 简介2.1 什么是Java SwingJava Swing是一组用于创建图形用户界面(GUI)的Java库。
java的jframe用法Java的Swing库提供了丰富的图形用户界面(GUI)组件,使得开发桌面应用程序变得更加简单。
在这些组件中,JFrame是用于创建窗口的主要组件。
本文将详细介绍JFrame的用法。
一、创建JFrame对象要创建一个JFrame对象,只需使用JFrame类的一个构造函数。
例如,以下代码将创建一个默认大小的窗口:```javaimport javax.swing.JFrame;public class MyFrame extends JFrame {public static void main(String[] args) {JFrame frame = new JFrame();}}```二、设置窗口属性JFrame对象提供了许多方法来设置窗口的属性。
以下是一些常用的方法:1. setTitle(String title):设置窗口的标题。
2. setSize(int width, int height):设置窗口的大小。
3. setLocation(int x, int y):设置窗口的初始位置。
4. setDefaultCloseOperation(int closeOperation):设置窗口关闭时执行的操作。
默认值为JFrame.DISPOSE_ON_CLOSE,表示窗口被销毁。
还可以设置为JFrame.HIDE_ON_CLOSE,表示窗口被隐藏。
5. setVisible(boolean visible):设置窗口是否可见。
默认值为true,表示窗口在创建后立即显示。
以下是一个简单的示例:```javaimport javax.swing.JFrame;public class MyFrame extends JFrame {public static void main(String[] args) {JFrame frame = new JFrame();frame.setTitle("My Frame");frame.setSize(400, 300);frame.setLocation(300, 200);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);}}```三、添加组件到JFrameJFrame可以容纳其他Swing组件,如按钮、文本框、标签等。
WPF窗⼝最⼤化、最⼩化和关闭按钮功能的禁⽤ResizeMode
表⽰获取或设置调整⼤⼩模式,他有4个参数
成员说明
参数1 NoResize 不同调整窗⼝的⼤⼩,最⼤化和最⼩化按钮不显⽰,不显⽰在标题栏中
参数2 CanResize 可以调整窗⼝的⼤⼩,最⼤化和最⼩化按钮都显⽰并启动
参数3 CanMinimize ⼀个窗⼝仅可以最⼩化和还原,最⼩化和最⼤化按钮显⽰,但只有最⼩化按钮是可⽤的
参数4 CanResizeWithGrip 可以调整窗⼝的⼤⼩,最⼤化、最⼤化按钮都显⽰并启动,⼤⼩调整⼿柄将显⽰到窗⼝的右下⾓参数1
this.ResizeMode = ResizeMode.NoResize;
1
说明:不同调整窗⼝的⼤⼩,最⼤化和最⼩化按钮不显⽰,不显⽰在标题栏中
参数2
this.ResizeMode = ResizeMode.CanResize;
1
说明:可以调整窗⼝的⼤⼩,最⼤化和最⼩化按钮都显⽰并启动
参数3
this.ResizeMode = ResizeMode.CanMinimize;
1
说明:⼀个窗⼝仅可以最⼩化和还原,最⼩化和最⼤化按钮显⽰,但只有最⼩化按钮是可⽤的
参数4
this.ResizeMode = ResizeMode.CanResizeWithGrip;
1
说明:可以调整窗⼝的⼤⼩,最⼤化、最⼤化按钮都显⽰并启动,⼤⼩调整⼿柄将显⽰到窗⼝的右下⾓。
Java应用程序窗口关闭的六种方法Java应用程序窗口关闭的六种方法:1.使用JFra me的en ableE vents和proc essWi ndowE vent/ /Frame1.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;public classFrame1 extend s JFrame {public Frame1() {enable Event s(AWTEve nt.WINDOW_EVEN T_MAS K);this.setSiz e(new Dimens ion(400, 300));this.setTit le("Frame1");}protec ted void proces sWind owEve nt(Window Event e) {super.proces sWind owEve nt(e);if (e.getID() == Window Event.WINDOW_CLOS ING) {System.exit(0);}}}2.直接实现Wi ndowL isten er接口//Frame1.javaimport java.awt.*;import java.awt.event.*;public classFrame1 extend s Frameimplem entsWindow Liste ner { public Frame1() {this.setSiz e(new Dimens ion(400, 300));this.setTit le("Frame1");this.addWin dowLi stene r(this);}public void window Closi ng(Window Event window Event) {System.exit(0);}public void window Opene d(Window Event window Event) { }public void window Close d(Window Event window Event) { }public void window Iconi fied(Window Event window Event) { } public void window Deico nifie d(Window Event window Event) { } public void window Activ ated(Window Event window Event) { } public void window Deact ivate d(Window Event window Event) { } }3.直接继承窗体适配器Wi ndowA dapte r//Frame1.javaimport java.awt.*;import java.awt.event.*;public classFrame1 extend s Window Adapt er {public Frame1() {Framef=new Frame();f.setSiz e(new Dimens ion(400, 300));f.setTit le("Frame1");f.addWin dowLi stene r(this);f.setVis ible(true);}public static void main(String[] s){new Frame1();}public void window Closi ng(Window Event window Event) {System.exit(0);}}4.间接继承窗体适配器Wi ndowA dapte r//Frame1.javaimport java.awt.*;import java.awt.event.*;public classFrame1 extend s Frame{public Frame1() {this.setSiz e(new Dimens ion(400, 300));this.setTit le("Frame1");this.addWin dowLi stene r(new winAda pter());this.setVis ible(true);}public static void main(String[] s){new Frame1();}}classwinAda pterextend s Window Adapt er{public void window Closi ng(Window Event window Event) {System.exit(0);}}5.间接实现Wi ndowL isten er接口//Frame1.javaimport java.awt.*;import java.awt.event.*;public classFrame1 extend s Frame{public Frame1() {this.setSiz e(new Dimens ion(400, 300));this.setTit le("Frame1");this.addWin dowLi stene r(new winEve ntHan dle());this.setVis ible(true);}public static void main(String[] s){new Frame1();}}classwinEve ntHan dle implem entsWindow Liste ner {public void window Closi ng(Window Event window Event) {System.exit(0);}public void window Opene d(Window Event window Event) { }public void window Close d(Window Event window Event) { }public void window Iconi fied(Window Event window Event) { } public void window Deico nifie d(Window Event window Event) { } public void window Activ ated(Window Event window Event) { } public void window Deact ivate d(Window Event window Event) { } }6.使用Inne r Class//Frame1.javaimport java.awt.*;import java.awt.event.*;public classFrame1{public Frame1(){Framef=new Frame();f.addWin dowLi stene r(new Window Adapt er(){public void window Closi ng(Window Event e){System.exit(0);}});f.setSiz e(new Dimens ion(400, 300));f.setVis ible(true);}public static void main(String[] s){new Frame1();}}Jframe的关闭方法:setDef aultC loseO perat ion(EXIT_O N_CLO SE);frame的关闭方法如下:this.addWin dowLi stene r(new java.awt.event.Window Adapt er() { public void window Closi ng(java.awt.event.Window Event e) { System.exit(0);}});。
C#窗体编程不显示最小化、最大化、关闭按钮的方法本文介绍在C#窗体编程时,如何设置不显示右上角的最小化最大化关闭按钮。
可以通过this.ControlBox这个属性的值来控制。
对于最大化和最小化按钮,在C#窗体开发时,各一个属性来启用或禁用这两个按钮。
对于最大化来说,this.MaximizeBox=false即可禁用最大化按钮。
而这里的this是指窗体对象本身。
而this.MinimizeBox=false即可禁用最小化按钮。
上面说了怎么禁用最大化、最小化按钮,但要注意,如果最小化、最大化两个按钮都被禁用时,这两个按钮在右上角都不显示。
如果只是禁用其中一个,那么这两个按钮都还在右上角,只是被禁用的那个显示为灰色不可用状态。
至于关闭按钮,C#窗体编程中,并没有单独一个属性来按钮它。
那么如何将右上角的这最小化最大化三个关闭按钮全部不显示呢?我们可以将这三个按钮当作一组ControlBox,将this.ControlBox=false即可同时禁用这三个按钮。
一旦这三个按钮都被禁用了,那就都不显示了。
所以,C#窗体设置不显示右上角的最小化最大化关闭按钮,是不是很简单?但要注意的,如果关闭按钮被禁用了,这个窗口就无法通过系统自带的功能来关闭了。
你必须再写一个关闭功能。
比如写一个按钮,onClick事件设置为this.Close();就可以了。
您可能感兴趣的文章:•C#动态生成按钮及定义按钮事件的方法•C#键盘输入回车键实现点击按钮效果的方法•C#中Winform窗体Form的关闭按钮变灰色的方法•C# Winform实现捕获窗体最小化、最大化、关闭按钮事件的方法•c# winform取消右上角关闭按钮的实现方法•c#重写TabControl控件实现关闭按钮的方法•一个事半功倍的c#方法动态注册按钮事件•C#通过反射获取当前工程中所有窗体并打开的方法•C#实现利用反射简化给类字段赋值的方法•C#利用反射技术实现去掉按钮选中时的边框效果。
如何使用Java编写简单的GUI应用程序1. 引言Java是一种流行的编程语言,广泛用于开发各种类型的应用程序。
GUI(图形用户界面)应用程序是其中一种常见的应用类型。
本文将介绍如何使用Java编写简单的GUI应用程序。
2. Java的GUI库Java提供了多种GUI库来开发图形界面应用程序,其中最常用的是Swing和JavaFX。
本文将着重介绍Swing库,因为它是Java标准库的一部分,并且易于学习和使用。
3. 准备工作在开始编写GUI应用之前,需要确保已经安装了Java开发环境(JDK)并配置好相应的环境变量。
可以通过在命令行中输入`java -version`来检查JDK的安装情况。
4. 创建GUI窗体首先,在Java中创建一个GUI窗体需要借助于Swing库中的JFrame类。
可以通过以下代码创建一个简单的GUI窗体: ```javaimport javax.swing.JFrame;public class MyGUIApp extends JFrame {public MyGUIApp() {// 设置窗体标题setTitle("My GUI App");// 设置窗体大小setSize(400, 300);// 设置默认关闭操作setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }public static void main(String[] args) {// 创建GUI窗体实例并显示MyGUIApp app = new MyGUIApp();app.setVisible(true);}}```通过继承JFrame类并实现自定义的构造方法,可以创建一个简单的GUI窗体。
在main方法中创建实例并通过setVisible方法显示出来。
5. 添加组件GUI应用程序不仅仅只有一个窗体,还需要添加各种组件(如按钮、文本框、标签等)来交互和展示数据。
java后端中关闭当前页面的方法(原创实用版4篇)目录(篇1)1.背景介绍2.Java 后端关闭当前页面的方法3.实际应用示例4.总结正文(篇1)1.背景介绍在 Java 后端开发中,有时需要实现关闭当前页面的功能。
例如,在某些应用程序中,用户可能需要通过点击某个按钮来关闭当前页面并跳转到其他页面。
为了实现这个功能,我们需要了解 Java 后端关闭当前页面的方法。
2.Java 后端关闭当前页面的方法要实现关闭当前页面的功能,我们可以使用 JavaScript 或者服务器端的 Java 代码来实现。
在这里,我们将介绍两种方法:一种是使用JavaScript 编写的前端代码,另一种是使用 Java 编写的服务器端代码。
(1) 使用 JavaScript 编写的前端代码在 HTML 页面中,我们可以使用 JavaScript 的 window 对象的close() 方法来关闭当前页面。
具体代码如下:```javascript<button onclick="closePage()">关闭当前页面</button><script>function closePage() {window.close();}</script>```当用户点击按钮时,将调用 closePage() 函数,从而关闭当前页面。
(2) 使用 Java 编写的服务器端代码在 Java 后端,我们可以使用 Servlet 或者 Spring 框架来实现关闭当前页面的功能。
这里我们以 Spring 框架为例,介绍如何实现该功能。
首先,我们需要在 Controller 类中创建一个处理请求的方法,如下所示:```java@RestControllerpublic class MyController {@RequestMapping(value = "/closePage", method = RequestMethod.GET)public ResponseEntity<String> closePage() {return ResponseEntity.ok("当前页面已关闭");}}```然后,我们需要在 HTML 页面中添加一个按钮,用于触发关闭当前页面的操作。
java jbutton用法介绍JButton是Java中最常用的GUI组件之一,它被用于创建一个有标签和图标的可点击按钮。
通过JButton,用户可以与应用程序进行交互,比如登录,搜索等操作。
JButton主要通过Java Swing API实现,因此在使用之前需要导入Swing库。
使用JButton创建JButton需要以下五个步骤:1. 导入Swing库:由于JButton是Swing库中的组件之一,因此在使用JButton之前,我们需要将Swing 库导入我们的Java项目中。
可以使用以下命令可以将Swing库导入到代码中。
import javax.swing.*;2. 创建JFrame我们需要在创建JButton之前创建一个JFrame对象,因为JButton必须被添加到一个容器中才能展示出来。
以下是创建JFrame的代码:JFrame frame = new JFrame("JButton Example");3. 创建JButton以下是创建JButton的代码:JButton button = new JButton("Click me");在上面的代码中,我们创建了一个名为“Click me”的JButton,该按钮没有图像和任何其他属性。
4. 将JButton添加到JFrame中我们需要将JButton添加到JFrame中,因为在没有添加到容器中之前,组件是不可见的。
以下是将JButton添加到JFrame的代码:frame.add(button);5. 设置JFrame参数我们需要设置一些JFrame的参数,比如大小、可见性和关闭行为。
以下是设置JFrame参数的代码:frame.setSize(300, 200);frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);在上面的代码中,我们将JFrame的大小设置为300x200,将其设置为可见,以及设置其关闭行为为退出程序。
setdefaultcloseoperation的用法在Java Swing中,setdefaultcloseoperation方法是用于设置窗口的默认关闭操作的。
该方法确定了在窗口关闭时窗口的行为,例如隐藏、释放资源或什么也不做等等。
在Java Swing中,setdefaultcloseoperation方法是一个非常有用的方法,因为它可以让我们设置窗口的默认关闭行为,避免程序出现异常或崩溃。
在创建一个新窗口时,我们可以使用该方法来指定窗口关闭时应执行的操作,从而确保应用程序的稳定性和可靠性。
该方法接受一个整数参数,该参数指定了默认关闭操作的类型。
这个参数可以是以下值之一:- JFrame.DO_NOTHING_ON_CLOSE:如果这个选项被选择,那么关闭按钮将不起作用,这意味着用户必须使用其他方法来关闭窗口,例如通过菜单或按钮。
- JFrame.HIDE_ON_CLOSE:如果这个选项被选择,那么关闭按钮将隐藏窗口,但是窗口的资源不会被释放。
这意味着窗口可以再次被显示。
- JFrame.DISPOSE_ON_CLOSE:如果这个选项被选择,那么关闭按钮将释放所有窗口资源,并关闭窗口。
这是大多数情况下使用的选项。
- JFrame.EXIT_ON_CLOSE:如果这个选项被选择,那么关闭按钮将释放所有窗口资源,并退出程序。
在设置默认的关闭操作之前,必须先创建一个JFrame对象并设置其标题和其他属性。
然后,可以使用setdefaultcloseoperation 方法来设置窗口的默认关闭操作。
例如,以下代码片段演示了如何使用setdefaultcloseoperation 方法来设置JFrame对象的默认关闭操作为DISPOSE_ON_CLOSE:```JFrame frame = new JFrame('My Window');frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);```总之,setdefaultcloseoperation是一种非常有用的方法,它可以确保我们的窗口在关闭时执行适当的操作,从而避免了程序崩溃或异常的风险。
JavaSwing使⽤总结(转载)随笔转载⾃:地址:1. GUI编程引⾔以前的学习当中,我们都使⽤的是命令交互⽅式: 例如:在DOS命令⾏中通过javac java命令启动程序.软件的交互的⽅式: 1. 命令交互⽅式 图书管理系统 2. 图形交互⽅式 ava提供了专业的API⽤于开发图形⽤户界⾯ GUI--> Graphic User Interface 将要了解GUI API的框架结构,以及GUI组件以及组件之间的关系,容器和布局管理器,颜⾊,字体等.2. GUI的分类2.1. AWT Java1.0版本的图形⽤户界⾯库,设计⽬标是帮助程序员编写在所有平台上都能良好表现的GUI程序。
为了实现这个⽬标Java1.0提供了抽象窗⼝⼯具集(AWT),但是这个⽬标并没有达到。
AWT在所有的系统上表现都不好。
因为:最初版本的AWT是在⼀个⽉内构思,设计和实现的(Think in Java )。
Abstract Window Toolkit 抽象窗⼝⼯具集 Java将图形⽤户界⾯相关的类捆绑在了⼀起,放在了⼀个称之为抽象窗⼝⼯具集的库中.AWT适合开发简单的图形⽤户界⾯,并不适合开发复杂的GUI项⽬. 位于: java.awt.* 中,定义了很多的组件类,开发者可以直接创建对象加以使⽤ 缺点: 所有的图形界⾯都依赖于底层的操作系统,容易发⽣于特定平台相关的故障. AWT调⽤本地系统资源⽣成图形化界⾯, 依赖本地平台. 1.02.2. SwingSUN公司对AWT进⾏了升级,基于AWT,推出了⼀种更稳定,更通⽤和更灵活的库.称之为Swing组件库(Swing component)。
既然都是⽤于GUI设计的组件库,那么为了区分Swing组件类和对应的AWT组件类,Swing组件类都已字母J为前缀.位于:javax.swing.* 中,提供了和AWT中等同的所有的组件类,但是类名的前⾯多加了⼀个J.SWING可以跨平台. 1.2我们主要学习Swing GUI组件.3. Java GUI APIGUI API包含的类分为三个部分:组件类(component class) 容器类(container class),和辅助类(helper class)1. 组件类是⽤来创建⽤户图形界⾯的,例如JButton,JLabel,JTextField.2. 容器类是⽤来包含其他组件的,例如JFrame,JPanel3. 辅助类是⽤来⽀持GUI组件的,例如Color,Font3.1. 组件类在图形⽤户界⾯程序中当我们想要创建按钮、复选框和滚动条等这些可以显⽰在屏幕上的对象,该如何创建。
java的jframe总结一、JFrame概述JFrame是Java Swing库中的一个重要组件,用于创建图形用户界面(GUI)中的窗口。
它提供了许多方法和属性,用于定制窗口的大小、位置、标题以及窗口中的组件布局等。
二、JFrame的主要方法和属性1. 方法:* setBounds():用于设置窗口的位置和大小。
* setTitle():用于设置窗口的标题。
* setDefaultCloseOperation():用于设置窗口的默认关闭操作,例如关闭窗口、退出应用程序等。
* add()、remove()、setLayout()等:用于添加、移除和布局窗口中的组件。
2. 属性:* visible:用于设置窗口是否可见。
* iconImage:用于设置窗口的图标。
* maximizeButton:用于是否显示最大化按钮。
三、JFrame应用示例以下是一个简单的JFrame应用示例,展示了如何创建窗口、添加标签和按钮,并设置关闭操作:```javaimport javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JButton;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;public class JFrameExample extends JFrame {public JFrameExample() {// 设置窗口标题和大小setTitle("JFrame Example");setSize(300, 200);// 添加标签和按钮,并设置布局JLabel label = new JLabel("Hello, World!");JButton button = new JButton("Click Me!");getContentPane().add(label);getContentPane().add(button);setLayout(new java.awt.FlowLayout());// 添加关闭操作,当点击关闭按钮时退出应用程序setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗口可见setVisible(true);}public static void main(String[] args) {new JFrameExample();}}```四、总结JFrame是Java Swing库中用于创建图形用户界面窗口的重要组件。
WPF:窗体不显示或禁用最大化、最小化、关闭按钮、图标以及对话框显示注意:这篇文章是其他文章的续写。
参考上文:WPF:更好得理解对话框和ShowDialog方法.NET(C#) 平台调用:不依赖平台的GetWindowLongPtr和SetWindowLongPtr API示例工程使用了我的Win32窗体API封装工程的部分代码。
由于WPF没有提供上述要求的直接支持,所以我们只能用非托管本地API来解决,那么首先就是获取WPF 窗体(Window对象)的句柄(Handle),这个可以通过System.Windows.Interop.WindowInteropHelper的Handle属性获取,可以写一个扩展方法如下:static class WindowExtension{public static IntPtr GetHandle(this Window window){var helper =new System.Windows.Interop.WindowInteropHelper(window);return helper.Handle;}}取得了窗体的句柄之后,接下来就是调用本地API了。
首先是最小化按钮,最大化按钮的禁用。
这个在Windows Forms里有直接支持,对应Form.MinimumBox 和MaximizeBox属性。
但WPF中,只能通过SetWindowLongPtr来改变它的内部属性。
关于GetWindowLongPtr和SetWindowLongPtr的平台调用,可以参考我写的另一篇文章:.NET(C#) 平台调用:不依赖平台的GetWindowLongPtr和SetWindowLongPtr API。
源代码使用了我写的Win32窗体API封装工程,把常用Win32窗体的API函数封装起来。
这样的话,利用其中的封装方法然后直接通过设置或者取消WS_MINIMIZEBOX和WS_MAXIMIZEBOX来激活或者禁用最小化和最大化按钮。
jframe基本操作JFrame基本操作JFrame是Java Swing中的一个重要组件,它是一个窗口容器,可以用来创建和管理图形用户界面。
通过JFrame,我们可以实现窗口的创建、关闭、最小化、最大化等基本操作。
本文将介绍JFrame的基本操作,帮助读者了解如何使用JFrame创建和操作窗口。
一、创建JFrame窗口要创建一个JFrame窗口,首先需要导入javax.swing包。
然后,我们可以通过继承JFrame类来创建一个新的窗口类,并在该类的构造方法中初始化窗口的标题、尺寸等属性。
```javaimport javax.swing.JFrame;public class MyFrame extends JFrame {public MyFrame() {setTitle("我的窗口"); // 设置窗口标题setSize(400, 300); // 设置窗口尺寸setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置关闭操作}}```二、显示窗口创建好窗口后,我们需要将其显示出来。
可以在窗口类中添加一个用于显示窗口的方法,并在该方法中调用setVisible(true)来显示窗口。
```javaimport javax.swing.JFrame;public class MyFrame extends JFrame {public MyFrame() {setTitle("我的窗口"); // 设置窗口标题setSize(400, 300); // 设置窗口尺寸setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置关闭操作}public void showFrame() {setVisible(true); // 显示窗口}}```三、关闭窗口当我们不再需要一个窗口时,可以通过调用dispose()方法来关闭窗口。
如何取消窗体的关闭按钮设置ControlBox为False是可以的,不过全部按钮都会消失(包括最小化,最大化)用API可以单独把关闭按钮干掉……' CodePublic Class Form1Private Declare Function GetSystemMenu Lib "User32 " (ByVal hwnd As Integer, ByVal bRevert As Long) As Integer Private Declare Function RemoveMenu Lib "User32 " (ByVal hMenu As Integer, ByVal nPosition As Integer, ByVal wFlags As Integer) As IntegerPrivate Declare Function DrawMenuBar Lib "User32 " (ByVal hwnd As Integer) As IntegerPrivate Declare Function GetMenuItemCount Lib "User32 " (ByVal hMenu As Integer) As IntegerPrivate Const MF_BYPOSITION = &H400&Private Const MF_DISABLED = &H2&Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadDim hMenu As Integer, nCount As IntegerhMenu = GetSystemMenu(Me.Handle.ToInt32, 0)nCount = GetMenuItemCount(hMenu)'Debug.Print(nCount)Call RemoveMenu(hMenu, nCount - 1, MF_DISABLED Or MF_BYPOSITION)DrawMenuBar(Me.Handle.ToInt32)End SubEnd Class'VB6 code ========================================= ====================Private Declare Function GetSystemMenu Lib "User32 " (ByVal hwnd As Long, ByVal bRevert As Long) As Integer Private Declare Function RemoveMenu Lib "User32 " (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As LongPrivate Declare Function DrawMenuBar Lib "User32 " (ByVal hwnd As Long) As LongPrivate Declare Function GetMenuItemCount Lib "User32 " (ByVal hMenu As Long) As LongPrivate Const MF_BYPOSITION = &H400&Private Const MF_DISABLED = &H2&Private Sub Form1_Load()Dim hMenu As Long, nCount As LonghMenu = GetSystemMenu(Me.hWnd, 0)nCount = GetMenuItemCount(hMenu)'Debug.Print nCountCall RemoveMenu(hMenu, nCount - 1, MF_DISABLED Or MF_BYPOSITION)DrawMenuBar Me.hWndEnd Sub。
Java-如何去掉JFrame上的最大化最小化和关闭按钮
在JDK1.4以前,我们只有一种方式来去掉窗口的标题栏,那就是直接使用JWindow,用JWindow来代替JFrame使用。
但用过JWindow的人一定知道,JWindow在操作系统的任务栏是不可见的,这样我们就无法在几个视窗之间来切换到这个窗口了。
使用JWindow也是很多人知道的一种去掉标题栏的方式。
但从Java1.4开始,有一种新的方式可以使用,我们来看看。
现在我们创建一个类并继承于JFrame,
public class DecoratedFrame extends JFrame {
public DecoratedFrame() {
this.getContentPane().add(new JLabel("Just a test."));
this.setUndecorated(true); // 去掉窗口的装饰
this.getRootPane().setWindowDecorationStyle(JRootPane.NONE);//采用指定的窗口装饰风格
this.setSize(300,150);
}
public static void main(String[] args) {
JFrame frame = new DecoratedFrame();
frame.setVisible(true);
}
}
请看加了注释的两行,要去掉标题栏,关键代码就是这两行,第1行去掉窗口的装饰,第2行为窗口指定头饰风格。
在这里,可以通过调用
this.getRootPane().setWindowDecorationStyle()方法为窗口指定以下的装饰风格:
NONE 无装饰(即去掉标题栏)
FRAME 普通窗口风格
PLAIN_DIALOG 简单对话框风格
INFORMATION_DIALOG 信息对话框风格
ERROR_DIALOG 错误对话框风格
COLOR_CHOOSER_DIALOG 拾色器对话框风格
FILE_CHOOSER_DIALOG 文件选择对话框风格
QUESTION_DIALOG 问题对话框风格
WARNING_DIALOG 警告对话框风格
在使用Jframe的时候,普遍都会有标题栏,还有最小化,最大化,关闭按纽的,还要实现拖
动窗体的功能。
这样的话,对我们实现自定义样式的窗体是很有影响的,
1) 要去掉标题栏:
jFrame.setUndecorated(true);
// 这样就可以去掉Jframe中对window的装饰了,
2) 去掉标题栏,我们就有可能要给程序写代码提供最小化,最大化,关闭的操作,如何实现?只要给按纽添加MouseListener,
在mouseClick中的调用
jFrame.setExtendedState(jFrame.ICONIFIED); //最小化
if(jFrame.getExtendedState() != jFrame.MAXIMIZED_BOTH)
jFrame.setExtendedState(jFrame.MAXIMIZED_BOTH);
else
jFrame.setExtendedState(jFrame.NORMAL);
// 最大化或正常状态
System.exit(0);
// 关闭,退出程序
3) 要拖动窗体的功能:
只要给窗体中的某个组件添加如下代码就行了:
Point loc = null;
Point tmp = null;
boolean isDragged = false;
private void setDragable() {
this.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseReleased(java.awt.event.MouseEvent e) {
isDragged = false;
jFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
public void mousePressed(java.awt.event.MouseEvent e) {
tmp = new Point(e.getX(), e.getY());
isDragged = true;
jFrame.setCursor(new Cursor(Cursor.MOVE_CURSOR));
} });
this.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(java.awt.event.MouseEvent e) {
if(isDragged) {
loc = new Point(jFrame.getLocation().x + e.getX()
- tmp.x, jFrame.getLocation().y + e.getY() - tmp.y);
jFrame.setLocation(loc);
}
}
});
}
在初始化该组件的时候调用setDragable() 就可以使组件具体拖放窗体的功能了。
因为可能有背景图,可能会重写paint方法,不能在paint方法中调用setDragable()。