我不希望我的jframe在任务栏中显示任何图标。基本上,如果我们没有为它指定任何IconImage
,那么它会显示默认图标。但在我的程序中,我不希望显示任何图标。
setUndecorated(true);
setSize(208, 58);
setImageIcon(null); // same result
如果我将透明图像用作Icon
,即使这样,系统也会显示一个用于图标的半透明矩形。
我的问题很简单。我认为我不需要为此编码。如果有任何方法可以做到这一点,请告诉我。
可以使用JWindow
或Window
的一种方法,但使用它有许多缺点,我不想这样做。
答案 0 :(得分:5)
一种可能的解决方案:不显示JFrame,而是显示JDialog。请注意,您放在JFrame的contentPane中的任何复杂GUI都可以放入JDialog中,这是避免创建JFrame子类的创建应用程序的另一个原因。例如:
import java.awt.Dimension;
import javax.swing.*;
public class TestJDialog {
private static void createAndShowGui() {
JDialog dialog = new JDialog((JFrame)null, "Test JDialog", true);
// Using rigid area just to give the dialog size, but you
// could put any complex GUI in a JPanel in here
dialog.getContentPane().add(Box.createRigidArea(new Dimension(400, 400)));
dialog.pack();
dialog.setLocationByPlatform(true);
dialog.setVisible(true);
System.exit(0); // to end Swing event thread
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}
缺点是你丢失了窗口右上角的最小化和恢复按钮,但是你不应该拥有这些按钮,因为你没有用于恢复GUI的相关图标。