① java怎么使一个JFrame面板关掉,而不是隐藏
如果你不想用exit(0)的话dispose()就可以,dispose()不是隐藏,而是将那个资源释放掉,又不会关闭整个程序
② java中如何关闭一个窗口就完全释放它所占的资源但不终止整个程序(程序由多个窗口)
根据Java的垃圾回收机制:垃圾回收回收的是无任何引用的对象占据的内存空间
所以内你只要采用匿名类创建打开容的窗口并调用System.gc() 或Runtime.getRuntime().gc() 就可以啦
在要创建窗口的地方这样写:
new frame().setVisible(true);
System.gc() ;
当你再次打开同样的窗口时,又会执行new frame().setVisible();重新创建一个新的窗口,原来的自然就变成无任何引用的对象了,随即就会被JVM垃圾回收机制回收掉了
注意:调用System.gc()用于显式通知JVM可以进行一次垃圾回收,但真正垃圾回收机制具体在什么时间点开始发生动作是不可预料的
③ 我的Eclipse不小心开了两个代码窗口,怎么关掉一个呀
有两个方法,第一:关掉其中一个,点那个叉的图标或点-的图标;第二个方法:左击uploadAction.java那个位置不松手,往上移,移到*.jsp那个工具栏的位置旁边,这样就恢复了只有一个窗口。
④ Java怎么实现一个窗口在用户3秒后不进行任何操作的情况下自动关闭啊。最好有例子代码啊,求教了啊!!
单独显示Dialog略奇怪,所以我用JFrame做例子,原理是一样的
建立一个线程,睡3秒,醒来后就把JFrame窗体关闭。
给JFrame加事件监听,包括所有你想监听的事件,我这里为了简便,只监听了鼠标单击。一旦事件发生,则吵醒那个线程,这样它就睡不足3秒,并且直接进入下一个迭代,继续睡3秒。
直到有一次单击后3秒内没有操作,这时候线程不会触发InterruptedException 异常,就会执行关闭窗体的操作
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
public class DummyTest {
public static void main(String[] args) {
final JFrame frame = new JFrame();
final Thread thread = new Thread(new Runnable() {
public void run() {
while (true) {
try {
Thread.sleep(3000);
frame.dispose();
return;
} catch (InterruptedException e) {}
}
}
});
frame.setSize(400, 400);
frame.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
System.out.println("clicked");
thread.interrupt();
}
});
frame.setVisible(true);
thread.start();
}
}
⑤ Java如何实现关闭一个窗口弹出另外一个窗口
在Java中,对窗口任何操作都会对应的监听事件,故要实现关闭一个窗口时弹出另版外一个权窗口,只需要在该关闭的窗口的监听事件中添加弹窗事件即可。
具体实现如下:
this.addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e)
{
setVisible(false);
new JFrame("新窗口");
}});
在JavaGUI编程中,关闭窗口弹出新窗口是很常见的动作,比如一个窗口的业务操作完成了,需要跳转到另一个窗口继续执行,此时就需要关闭旧窗口并弹出新窗事件。值得注意的地方时,有时候的关闭往往只是暂时的将旧窗口暂时隐藏,而不是真的关闭,因为之后可能还会继续用到,为了节省开销,暂时的隐藏有利于提供效率。
⑥ java怎么样通过按钮关闭一个JFrame
importjavax.swing.JFrame;
{
publicstaticvoidmain(String[]args){
newFrameTest("frame1");
newFrameTest("frame2");
newFrameTest("frame3");
}
publicFrameTest(Stringtitle){
this.setTitle(title);
this.setSize(800,600);
// this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
// this.setDefaultCloseOperation(HIDE_ON_CLOSE);
// this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
this.setVisible(true);
}
}
只要在每个Frame里设定this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);即可。
EXIT_ON_CLOSE,关闭程序。(所有窗口和进程都会关闭)
DISPOSE_ON_CLOSE,只关闭本窗口。
HIDE_ON_CLOSE,只隐藏本窗口,不关闭。
DO_NOTHING_ON_CLOSE,不做任何事,点击关闭无效。