public void setDefaultCloseOperation(int operation):
默认关闭状态:JFrame.class中: private int defaultCloseOperation =HIDE_ON_CLOSE;
因此,默认情况下,关闭窗口,只隐藏界面,不释放占用的内存。
点击窗口右上角关闭,四种关闭方式:
1.this.setDefaultCloseOperation(0);// DO_NOTHING_ON_CLOSE,不执行任何操作。
2.this.setDefaultCloseOperation(1);//HIDE_ON_CLOSE,只隐藏界面,setVisible(false)。
3.this.setDefaultCloseOperation(2);//DISPOSE_ON_CLOSE,隐藏并释放窗体,dispose(),当最后一个窗口被释放后,则程序也随之运行结束。
4.this.setDefaultCloseOperation(3);//EXIT_ON_CLOSE,直接关闭应用程序,System.exit(0)。一个main函数对应一整个程序。
Java JFrame窗口关闭方法总结 之前写窗口时每次都是直接copy关闭的方法,没有想过其它的,最近写的窗口比较多,就总结了一些窗口关闭的方法有哪些,方便以后自己查阅。 public void setDefaultCloseOperation(int operation): 默认关闭状态:JFrame.class中: private int d
在swing的
窗口
里面,即
jframe
里面,进行
关闭
窗口
动作,如果事先不在代码中设置好,则默认是把
窗口
设成setVisable(false),程序还是依然运行着,继续占用内存,所以如果不小心,越调试则会发现内存占用率越高,机子越来越卡。
一般的,如果没有特殊要求,只需要这样让该
窗口
对象调用setDefaultCloseOperation(
JFrame
.EXIT_ON_CL
Java
在
窗口
上加载显示GIF动画图像,将多个独立的GIF图像串联在一起显示,形成GIF特有的动画形式。主要代码如下:
ImageIcon[] images; //用于动画的图标数组
Timer animationTimer;
int currentImage = 0; //当前图像编号
int delay = 500; //图像切换延迟
int width; //图像宽度
int height; //图像高度
public AnimatorIcon() //构造函数
setBackground(Color.white);
images = new ImageIcon[2]; //初始化数组
for (int i=0;i images[i]=new ImageIcon(getClass().getResource("image" i ".gif")); //实例化图标
width = images[0].getIconWidth(); //初始化宽度值
height = images[0].getIconHeight(); //初始化高度值
public void paintComponent(Graphics g) { //重载组件绘制
方法
super.paintComponent(g); //调用父类函数
images[currentImage].paintIcon(this,g,70,0); //绘制图标
currentImage=(currentImage 1)%2; //更改当前图像编号
public void actionPerformed(ActionEvent actionEvent) {
repaint();
public void startAnimation() { //开始动画
if (animationTimer==null) {
currentImage=0;
animationTimer=new Timer(delay, this); //实例化Timer对象
animationTimer.start(); //开始运行
} else if (!animationTimer.isRunning()) //如果没有运行
animationTimer.restart(); //重新运行
public void stopAnimation() {
animationTimer.stop(); //停止动画
public static void main(String args[]) {
AnimatorIcon animation = new AnimatorIcon(); //实例化动画图标
JFrame
frame = new
JFrame
("动画图标"); //实例化
窗口
对象
frame.getContentPane().add(animation); //增加组件到
窗口
上
frame.setSize(200, 100); //设置
窗口
尺寸
frame.setVisible(true); //设置
窗口
可视
frame.setDefaultCloseOperation(
JFrame
.EXIT_ON_CLOSE); //
关闭
窗口
时退出程序
animation.startAnimation(); //开始动画
(1)、
关闭
当前窗体不能使用setDefaultCloseOperation(
JFrame
.EXIT_ON_CLOSE)
方法
,可以使用
setDefaultCloseOperation(
JFrame
.DISPOSE_ON_CLOSE);
(2)、通过JButton事件不能使用exit(),这样会使得整个程序的窗体全部
关闭
,可以使用dispose();这样就只
关闭
了当前窗体。例如:
frame.addWindowListener(new WindowAdapter() {
@Override
Java
调用windows字体美化
窗口
,显示多种字体,用JLabel实现,可以很方便 的调用宋体、黑体、Sanf等多种系统字体,轻松改变
窗口
界面中的字体风格,从而起到美化
窗口
界面的作用。代码是这样的:
//字体数组:
String[] text={"Font Demo","Monospaced,斜体,24号","宋体字示例","黑体","Serif,粗体,斜体,18号"}; //显示的文本
Container container=getContentPane(); //得到容器
Box boxLayout=Box.createVerticalBox(); //创建一个垂直排列的Box
boxLayout.setBorder(BorderFactory.createEmptyBorder(10,20,5,5)); //设置边界
container.add(boxLayout); //增加组件到容器上
for (int i=0;i<5;i ){
JLabel fontLabel=new JLabel(); //得到一个JLabel的实例
fontLabel.setFont(fonts[i]); //设置字体
fontLabel.setText(text[i]); //设置显示文本
boxLayout.add(fontLabel); //增加组件到Box上
}
setSize(380,180); //设置
窗口
尺寸
setVisible(true); //设置
窗口
可ub视
setDefaultCloseOperation(
JFrame
.EXIT_ON_CLOSE); //
关闭
窗口
时退出程序
private static final long serialVersionUID = 1L;
JPanel jp = new JPanel(new BorderLayout());
JPanel jp1 = new JPanel(new FlowLayout());
JScrollPane jsp1 = new JScrollPane();
JButton jbStart = new JButton("启动");
JButton jbEnd = new JButton("
关闭
");
JTextArea jtaState = new JTextArea(10, 25);
Font font = new Font("Serif", Font.BOLD, 18);
Color fore = Color.YELLOW;
Color back = new Color(81, 217, 251);
public ServerBootFrame(String title) {
super(title);
this.getContentPane().add(jp);
jp.add(jsp1, "Center");
jsp1.getViewport().add(jtaState);
jp.add(jp1, "South");
jp1.add(jbStart);
jp1.add(jbEnd);
jtaState.setFont(font);
jtaState.setForeground(fore);
jtaState.setBackground(back);
jp1.setBackground(back);
this.setResizable(false);
this.setLocation(250, 250);
public void showFrame() {
this.pack();
this.setVisible(true);
public void bootingServer(final BootEndInterface bt) {
this.jbStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
bt.boot();
public void endingServer(final BootEndInterface ed) {
this.jbEnd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ed.end();
public void closeWindow(final BootEndInterface ed) {
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e1) {
ed.end();
public void appendStringTojtaState(String str) {
jtaState.append(str);
package com.ui.client;
import
java
.awt.*;
import
java
.awt.event.*;
import
java
x.swing.*;
import
java
x.swing.event.*;
import
java
.sql.*;
public class LoginFrame extends
JFrame
JLabel jUserName=new JLabel("用户姓名:");
JLabel jUserPsd=new JLabel("用户密码:");
JTextField txtUserName=new JTextField("",10);
JPasswordField txtUserPsd=new
非常好的教学PPTFrame() 创建一个无标题的
窗口
。
JFrame
(String s) 创建标题为s的
窗口
。
public void setBounds(int a,int b,int width,int height 设置
窗口
的初始位置是(a,b),即距屏幕左面a个像素、距屏幕上方b个像素;
窗口
的宽是width,高是height。
public void setSize(int width,int height) 设置
窗口
的大小。
public void setLocation(int x,int y) 设置
窗口
的位置,默认位置是(0,0)。
public void setVisible(boolean b) 设置
窗口
是否可见,
窗口
默认是不可见的。
public void setResizable(boolean b) 设置
窗口
是否可调整大小,默认可调整大小。
public void dispose() 撤消当前
窗口
,并释放当前
窗口
所使用的资源。
public void setExtendedState(int state) 设置
窗口
的扩展状态.
public void setDefaultCloseOperation(int operation) 该
方法
用来设置单击窗体右上角的
关闭
图标后,程序会做出怎样的处理。
JFrame
框架窗体是一个容器,是Swing程序中各个组件的载体,
JFrame
jf = new
JFrame
();//创建
在开发中更常用的方式是通过继承
java
.swing.
JFrame
类创建一个窗体。
在
JFrame
对象创建完成后,需要...
你可以在
JFrame
关闭
之前添加一些代码来等待执行。可以使用 WindowListener 来监听
JFrame
的
关闭
事件,在
窗口
关闭
之前执行一些代码。例如:
```
java
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
// 在这里添加你想要执行的代码
// 等待执行完成后再
关闭
窗口
在这个
方法
中,你可以添加你想要执行的任何代码。如果你想要等待执行完成后再
关闭
窗口
,可以使用一个 CountDownLatch 或者一个类似的同步工具来实现。例如:
```
java
final CountDownLatch latch = new CountDownLatch(1);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
// 在这里添加你想要执行的代码
// 然后等待执行完成
latch.await();
// 在这里执行你想要执行的代码
// 例如,处理一些数据或者保存一些文件等
// 执行完成后,调用 latch.countDown() 来释放等待的线程
latch.countDown();
这样,在
JFrame
关闭
之前,程序会等待执行完成。当执行完成后,调用 `latch.countDown()` 来释放等待的线程,然后
关闭
窗口
。
Error java: 无法访问javax.servlet.ServletException 找不到javax.servlet.ServletException的类文件
huccialay:
Java JFrame窗口关闭方法总结
「已注销」:
Error java: 无法访问javax.servlet.ServletException 找不到javax.servlet.ServletException的类文件
haveFuner: