有些事情要尝试,虽然我不完全确定这会起作用,因为现在很晚了,我可能想错了。
当最小化窗口时,会触发一个事件,您要做的是通过将WindowsStateListener添加到监视窗口图标化和窗口图标化的JFrame来捕获它。当出现窗口图标化时,将JFrame的visible属性设置为false;当窗口图标化时,将其设置为true。将帧可见性设置为false的快速测试似乎会将其从任务栏中删除,您只需确定它是否确实有效,然后实现一个状态列表器。
这是我用来测试的代码
import java.awt.*;
public class FrameTest
{
public static void main (String args[]) throws Exception
{
// Create a test frame
Frame frame = new Frame("Hello");
frame.add ( new Label("Minimize demo") );
frame.pack();
// Show the frame
frame.setVisible (true);
// Sleep for 5 seconds, then minimize
Thread.sleep (5000);
frame.setState ( Frame.ICONIFIED );
frame.setVisible(false);
// Sleep for 5 seconds, then restore
Thread.sleep (5000);
frame.setState ( Frame.NORMAL );
frame.setVisible(true);
// Sleep for 5 seconds, then kill window
Thread.sleep (5000);
frame.setVisible (false);
frame.dispose();
// Terminate test
System.exit(0);
}
}