Java 框架问题
最小化JFrame时调用什么代码?它是否连接到一个听众?我只想知道当帧最小化时,内部会发生什么 编辑: 我在寻找最小化帧时调用的代码。例如,实际的Java 框架问题,java,swing,jframe,windowlistener,Java,Swing,Jframe,Windowlistener,最小化JFrame时调用什么代码?它是否连接到一个听众?我只想知道当帧最小化时,内部会发生什么 编辑: 我在寻找最小化帧时调用的代码。例如,实际的windowListener的代码。我一直在搜索JFrame,Frame,和Window搜索windowIconified,但找不到实际的代码 原因是,当我的程序运行时,其中一个面板有一个小缺陷,但当我最小化和最大化JFrame时,问题就消失了。我想看看发生了什么,这样我就可以将发生的任何事情应用到我的面板上,使其正确绘制。您想了解有关窗口侦听器和窗口
windowListener
的代码。我一直在搜索JFrame
,Frame
,和Window
搜索windowIconified
,但找不到实际的代码
原因是,当我的程序运行时,其中一个面板有一个小缺陷,但当我最小化和最大化JFrame时,问题就消失了。我想看看发生了什么,这样我就可以将发生的任何事情应用到我的面板上,使其正确绘制。您想了解有关
窗口侦听器
和窗口事件
的信息吗。您正在谈论的事件称为窗口图标化。请在此处阅读更多信息:
编辑:
在出现故障的JPanel上使用
revalidate()
然后使用repaint()
。您想了解有关WindowListeners
和WindowEvents
的信息。您正在谈论的事件称为窗口图标化。请在此处阅读更多信息:
编辑:
在出现故障的JPanel上使用
revalidate()
然后使用repaint()
。您可以使用WindowListener进行监听
比如说
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
public class WinStateListener implements WindowListener {
static JFrame window = new JFrame("Window State Listener");
public WinStateListener() {
window.setBounds(30, 30, 300, 300);
window.addWindowListener(this);
window.setVisible(true);
}
public static void main(String[] args) {
WinStateListener winStateListener = new WinStateListener();
}
public void windowClosing(WindowEvent e) {
System.out.println("Closing");
window.dispose();
System.exit(0);
}
public void windowOpened(WindowEvent e) {
System.out.println("Opened");
}
public void windowClosed(WindowEvent e) {
System.out.println("Closed");
}
public void windowIconified(WindowEvent e) {
System.out.println("Iconified");
}
public void windowDeiconified(WindowEvent e) {
System.out.println("Deiconified");
}
public void windowActivated(WindowEvent e) {
System.out.println("Activated");
}
public void windowDeactivated(WindowEvent e) {
System.out.println("Deactivated");
}
}
您可以使用WindowListener进行监听 比如说
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
public class WinStateListener implements WindowListener {
static JFrame window = new JFrame("Window State Listener");
public WinStateListener() {
window.setBounds(30, 30, 300, 300);
window.addWindowListener(this);
window.setVisible(true);
}
public static void main(String[] args) {
WinStateListener winStateListener = new WinStateListener();
}
public void windowClosing(WindowEvent e) {
System.out.println("Closing");
window.dispose();
System.exit(0);
}
public void windowOpened(WindowEvent e) {
System.out.println("Opened");
}
public void windowClosed(WindowEvent e) {
System.out.println("Closed");
}
public void windowIconified(WindowEvent e) {
System.out.println("Iconified");
}
public void windowDeiconified(WindowEvent e) {
System.out.println("Deiconified");
}
public void windowActivated(WindowEvent e) {
System.out.println("Activated");
}
public void windowDeactivated(WindowEvent e) {
System.out.println("Deactivated");
}
}
最小化JFrame应用程序时,将调用窗口事件
windowIconified
。如果您希望自己处理此类窗口事件,则可以实现WindowListener
接口或使用WindowAdapter
抽象类。最小化JFrame应用程序时,将调用窗口事件WindowIconnified
。如果您想自己处理此类窗口事件,则可以实现WindowListener
接口或使用WindowAdapter
抽象类
最小化JFrame
时调用什么代码
如“窗口装饰由本机窗口系统提供”中所述,本文将继续描述您可以对主机平台的默认设置进行的一些更改
附录:阅读您的更新,注意恢复图标化窗口会重新绘制它。正如@Andrew Thompson所指出的,您可能需要验证您是否正在构建新的架构。您可能还需要安排一次repaint()
。一份报告可能会澄清一些事情
最小化JFrame
时调用什么代码
如“窗口装饰由本机窗口系统提供”中所述,本文将继续描述您可以对主机平台的默认设置进行的一些更改
附录:阅读您的更新,注意恢复图标化窗口会重新绘制它。正如@Andrew Thompson所指出的,您可能需要验证您是否正在构建新的架构。您可能还需要安排一次
repaint()
。一个窗口可能会澄清一些问题。教程将告诉您所有这些,并以比您在此处找到的更快的速度为您提供正确答案,但您可能正在寻找一个WindowListener
<如果JFrame最小化,则会调用code>windowIconified。请查看(单击链接)。“当我的程序运行时,其中一个面板有一个小缺陷,但当我最小化和最大化JFrame时,问题就消失了。”1)在EDT上构建GUI。2) 确保在setVisible(true)
@juser489041之前调用pack()
:查看处理被图标化然后被取消图标化的JFrame的任何内容(除此之外,此操作会导致JVM重新绘制GUI)会误导您寻找问题的解决方案。不,真正的问题是为什么您的JPanel有一个“缺陷”,要解决这个问题,我们需要查看代码,最好是一个演示该问题的小型可编译可运行程序。还有一两张图片可能会有帮助。问题:你解决了这个问题吗?您是否发现了问题所在?教程将告诉您所有这方面的信息,并以比您在此处找到的更快的速度为您提供正确答案,但您可能正在寻找一个WindowListener
<如果JFrame最小化,则会调用code>windowIconified。请查看(单击链接)。“当我的程序运行时,其中一个面板有一个小缺陷,但当我最小化和最大化JFrame时,问题就消失了。”1)在EDT上构建GUI。2) 确保在setVisible(true)
@juser489041之前调用pack()
:查看处理被图标化然后被取消图标化的JFrame的任何内容(除此之外,此操作会导致JVM重新绘制GUI)会误导您寻找问题的解决方案。不,真正的问题是为什么您的JPanel有一个“缺陷”,要解决这个问题,我们需要查看代码,最好是一个演示该问题的小型可编译可运行程序。还有一两张图片可能会有帮助。问题:你解决了这个问题吗?你知道怎么回事了吗?