我正在使用Java Swing Application 。我在通知窗口中使用了 JFrame 。当我的应用程序以随机间隔运行时,屏幕右上方会显示一些通知,但是当我显示通知窗口时,我看到任务栏上以标题命名的通知详细信息< / strong>即可。我想阻止在任务栏上显示此信息。任何人都帮助我。我也试过 JWindow ,但同样的问题出现了。我不想在任务栏上系统尝试
答案 0 :(得分:1)
尝试
setType(Type.UTILITY);
缺点是decorated
JFrames
它只提供close
按钮。
适用于undecorated JFrames
答案 1 :(得分:0)
您应该使用JDialog
代替JFrame
或JWindow
。以下示例可以帮助您:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDialog;
import javax.swing.Timer;
public class Main {
public static void main(String[] args) {
final JDialog dlg = new JDialog();
dlg.setBounds(100, 100, 200, 100);
dlg.setUndecorated(true);
dlg.setVisible(!dlg.isVisible());
Timer showTimer = new Timer(3000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
dlg.setVisible(!dlg.isVisible());
}
});
showTimer.start();
}
}
<强> [UPDATE] 强> 实际上,JDialog用于为另一个JFrame或JWindow提供一个子帧,因此默认情况下不应在任务栏或系统托盘中创建任何信息。
上面的代码在屏幕上提供了以下输出,并且在任务栏上没有图标化信息或系统托盘中有任何想法,如您所见:
祝你好运。