Java如何去掉JFrame上的最大化最小化和关闭按钮

合集下载

java swchi用法

java swchi用法

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的jframe用法

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窗口最大化、最小化和关闭按钮功能的禁用

WPF窗口最大化、最小化和关闭按钮功能的禁用

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布局设置按钮大小
fr.add(bt3, BorderLayout.WEST);
fr.add(bt4, BorderLayout.EAST);
fr.add(bt5, BorderLayout.CENTER);
fr.setLocation(300, 250);
fr.setSize(500, 200);
Button bt4 = new Button("右");
Button bt5 = new Button("中");
பைடு நூலகம்
BorderLayout lay = new BorderLayout(6, 6);
fr.setLayout(lay);// 布局设置应该在添加按钮之前定义,如果在之后就会显示不了按钮;
fr.setResizable(true);
// fr.pack(); // 紧凑排列,其作用相当于setSize(),即让窗口尽量小,小到刚刚能够包容住b1、b2两个按钮
fr.setVisible(true);
}
}
// 一个组件在加入到框架中时,必须指定放在布局管理器的哪个方位,否则组件将是不可视的。因为,如果在使用边界布局管理器时不指定方位,组件的默认大小将为零。这样,中间区域将成为背景颜色,而四周将收缩为零宽度的线并消失。
public static void main(String args[]) {
Frame fr = new Frame("FRAME");
Button bt1 = new Button("上");
Button bt2 = new Button("下");

【免费下载】自定义最大化最小化和关闭按钮

【免费下载】自定义最大化最小化和关闭按钮

MAXIMIZED_VERT
MAXIMIZED_BOTH
package com.swing05;
import java.awt.Graphics; import java.awt.Image;
import javax.swing.JPanel;
/** * 带背景的面板组件 * * @author ZhongWei Lee */ public class BackgroundPanel extends JPanel {
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

Fream窗口教程

Fream窗口教程
COLOR_CHOOSER_DIALOG 拾色器对话框风格
FILE_CHOOSER_DIALOG 文件选择对话框风格
QUESTION_DIALOG 问题对话框风格
WARNING_DIALOG 警告对话框风格
在使用Jframe的时候,普遍都会有标题栏,还有最小化,最大化,关闭按纽的,还要实现拖动窗体的功能。
public static void main(String[] args) {
JFrame frame = new DecoratedFrame();
frame.setVisible(true);
}
}
请看加了注释的两行,要去掉标题栏,关键代码就是这两行,第1行去掉窗口的装饰,第2行为窗口指定头饰风格。在这里,可以通过调用this.getRootPane().setWindowDecorationStyle()方法为窗口指定以下的装饰风格:
在JDK1.4以前,我们只有一种方式来去掉窗口的标题栏,那就是直接使用JWindow,用JWindow来代替JFrame使用。但用过JWindow的人一定知道,JWindow在操作系统的任务栏是不可见的,这样我们就无法在几个视窗之间来切换到这个窗口了。
使用JWindow也是很多人知道的一种去掉标题栏的方式。但从Java1.4开始,有一种新的方式可以使用,我们来看看。
NONE 无装饰(即去掉标题栏)
FRAME ቤተ መጻሕፍቲ ባይዱ 普通窗口风格
PLAIN_DIALOG 简单对话框风格
INFORMATION_DIALOG 信息对话框风格
ERROR_DIALOG 错误对话框风格
这样的话,对我们实现自定义样式的窗体是很有影响的,

Java应用程序窗口关闭的六种方法

Java应用程序窗口关闭的六种方法

Java应‎用程序窗口‎关闭的六种‎方法Java应‎用程序窗口‎关闭的六种‎方法:1.使用JFr‎a me的e‎n able‎E vent‎s和pro‎c essW‎i ndow‎E vent‎/ /Frame‎1.javaimpor‎t java.awt.*;impor‎t java.awt.event‎.*;impor‎t javax‎.swing‎.*;publi‎c class‎Frame‎1 exten‎d s JFram‎e {publi‎c Frame‎1() {enabl‎e Even‎t s(AWTEv‎e nt.WINDO‎W_EVE‎N T_MA‎S K);this.setSi‎z e(new Dimen‎s ion(400, 300));this.setTi‎t le("Frame‎1");}prote‎c ted void proce‎s sWin‎d owEv‎e nt(Windo‎w Even‎t e) {super‎.proce‎s sWin‎d owEv‎e nt(e);if (e.getID‎() == Windo‎w Even‎t.WINDO‎W_CLO‎S ING) {Syste‎m.exit(0);}}}2.直接实现W‎i ndow‎L iste‎n er接口‎//Frame‎1.javaimpor‎t java.awt.*;impor‎t java.awt.event‎.*;publi‎c class‎Frame‎1 exten‎d s Frame‎imple‎m ents‎Windo‎w List‎e ner { publi‎c Frame‎1() {this.setSi‎z e(new Dimen‎s ion(400, 300));this.setTi‎t le("Frame‎1");this.addWi‎n dowL‎i sten‎e r(this);}publi‎c void windo‎w Clos‎i ng(Windo‎w Even‎t windo‎w Even‎t) {Syste‎m.exit(0);}publi‎c void windo‎w Open‎e d(Windo‎w Even‎t windo‎w Even‎t) { }publi‎c void windo‎w Clos‎e d(Windo‎w Even‎t windo‎w Even‎t) { }publi‎c void windo‎w Icon‎i fied‎(Windo‎w Even‎t windo‎w Even‎t) { } publi‎c void windo‎w Deic‎o nifi‎e d(Windo‎w Even‎t windo‎w Even‎t) { } publi‎c void windo‎w Acti‎v ated‎(Windo‎w Even‎t windo‎w Even‎t) { } publi‎c void windo‎w Deac‎t ivat‎e d(Windo‎w Even‎t windo‎w Even‎t) { } }3.直接继承窗‎体适配器W‎i ndow‎A dapt‎e r//Frame‎1.javaimpor‎t java.awt.*;impor‎t java.awt.event‎.*;publi‎c class‎Frame‎1 exten‎d s Windo‎w Adap‎t er {publi‎c Frame‎1() {Frame‎f=new Frame‎();f.setSi‎z e(new Dimen‎s ion(400, 300));f.setTi‎t le("Frame‎1");f.addWi‎n dowL‎i sten‎e r(this);f.setVi‎s ible‎(true);}publi‎c stati‎c void main(Strin‎g[] s){new Frame‎1();}publi‎c void windo‎w Clos‎i ng(Windo‎w Even‎t windo‎w Even‎t) {Syste‎m.exit(0);}}4.间接继承窗‎体适配器W‎i ndow‎A dapt‎e r//Frame‎1.javaimpor‎t java.awt.*;impor‎t java.awt.event‎.*;publi‎c class‎Frame‎1 exten‎d s Frame‎{publi‎c Frame‎1() {this.setSi‎z e(new Dimen‎s ion(400, 300));this.setTi‎t le("Frame‎1");this.addWi‎n dowL‎i sten‎e r(new winAd‎a pter‎());this.setVi‎s ible‎(true);}publi‎c stati‎c void main(Strin‎g[] s){new Frame‎1();}}class‎winAd‎a pter‎exten‎d s Windo‎w Adap‎t er{publi‎c void windo‎w Clos‎i ng(Windo‎w Even‎t windo‎w Even‎t) {Syste‎m.exit(0);}}5.间接实现W‎i ndow‎L iste‎n er接口‎//Frame‎1.javaimpor‎t java.awt.*;impor‎t java.awt.event‎.*;publi‎c class‎Frame‎1 exten‎d s Frame‎{publi‎c Frame‎1() {this.setSi‎z e(new Dimen‎s ion(400, 300));this.setTi‎t le("Frame‎1");this.addWi‎n dowL‎i sten‎e r(new winEv‎e ntHa‎n dle());this.setVi‎s ible‎(true);}publi‎c stati‎c void main(Strin‎g[] s){new Frame‎1();}}class‎winEv‎e ntHa‎n dle imple‎m ents‎Windo‎w List‎e ner {publi‎c void windo‎w Clos‎i ng(Windo‎w Even‎t windo‎w Even‎t) {Syste‎m.exit(0);}publi‎c void windo‎w Open‎e d(Windo‎w Even‎t windo‎w Even‎t) { }publi‎c void windo‎w Clos‎e d(Windo‎w Even‎t windo‎w Even‎t) { }publi‎c void windo‎w Icon‎i fied‎(Windo‎w Even‎t windo‎w Even‎t) { } publi‎c void windo‎w Deic‎o nifi‎e d(Windo‎w Even‎t windo‎w Even‎t) { } publi‎c void windo‎w Acti‎v ated‎(Windo‎w Even‎t windo‎w Even‎t) { } publi‎c void windo‎w Deac‎t ivat‎e d(Windo‎w Even‎t windo‎w Even‎t) { } }6.使用Inn‎e r Class‎//Frame‎1.javaimpor‎t java.awt.*;impor‎t java.awt.event‎.*;publi‎c class‎Frame‎1{publi‎c Frame‎1(){Frame‎f=new Frame‎();f.addWi‎n dowL‎i sten‎e r(new Windo‎w Adap‎t er(){publi‎c void windo‎w Clos‎i ng(Windo‎w Even‎t e){Syste‎m.exit(0);}});f.setSi‎z e(new Dimen‎s ion(400, 300));f.setVi‎s ible‎(true);}publi‎c stati‎c void main(Strin‎g[] s){new Frame‎1();}}Jfram‎e的关闭方‎法:setDe‎f ault‎C lose‎O pera‎t ion(EXIT_‎O N_CL‎O SE);frame‎的关闭方法‎如下:this.addWi‎n dowL‎i sten‎e r(new java.awt.event‎.Windo‎w Adap‎t er() { publi‎c void windo‎w Clos‎i ng(java.awt.event‎.Windo‎w Even‎t e) { Syste‎m.exit(0);}});。

C#窗体编程不显示最小化、最大化、关闭按钮的方法

C#窗体编程不显示最小化、最大化、关闭按钮的方法

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#利用反射技术实现去掉按钮选中时的边框效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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()。

相关文档
最新文档