Kızılhaç basıldığında sistem tepsisine giren bir Java uygulamasına sahibim.Java'nın TrayIcon mesajı nasıl kaybolur?
Ne zaman olursa olsun, kullanıcıya uygulamanın hala sistem tepsisinde çalıştığını bildiren bir ileti görüntülüyorum. mesajı kaybolur, Şu an için
...
@Override
public void windowClosing(WindowEvent e) {
try {
tray.add(trayIcon);
trayIcon.displayMessage("", "The application has been reduced
in the system tray, to stop it, press the \"Quit\" button",
TrayIcon.MessageType.WARNING);
setVisible(false);
} catch (AWTException ex) {
System.out.println("unable to add to tray");
}
}
...
üzerine kullanıcı oyunda:
İşte bunun için kod.
Hiçbir şey yapılmasa bile mesaj birkaç saniye sonra sönecek şekilde bir sayaç oluşturmak istiyorum.
Bunu yapmak için iyi bir yöntem bilen var mı? Bunun için mevcut bir yöntemi bulamıyorum.
DÜZENLEME Ben biraz daha uzun denedikten sonra, aslında, sorumu düzeltmek zorunda
, otomatik olarak, diyelim 7-8 saniye izin sonra kararır ama biraz da bulabilir uzun. Ayrıca, kullanıcı yalnızca bir eylemi yürütüyorsa (fareyi hareket ettirmek veya klavyede yazarak)
Yani yeni soru şu şekilde ortadan kalkar: Çözünme zamanını azaltmanın ve yapılandırmayı yapılandırarak mesaj davranışını değiştirmenin bir yolu var mı? Java uygulaması mı yoksa Windows'a özgü mi?
Belki de böyle bir şey ['AlphaTest'] (http: // stacko) verflow.com/a/2234020/230513)? – trashgod
Kişisel bir JDialog oluşturabilirim, ancak kullanıcının görev çubuğunu belirlediği yere göre konumu değişmeli, küçük bir davranışı değiştirmek için çok iş olurdu. Bence standart TrayIcon mesajını kullanacağım. Ama yine de tencerelerinizi cevap olarak işaretleyeceğim çünkü doğru cevap olduğunu düşünüyorum. – Padrus
@Padrus Bu hesaplamanın hesaplanması çok basittir, çünkü GraphicsEnvironment piksel oranını ve Görev Çubuğu yüksekliğini döndürür veya JFrame.getExtendedSize'den hesaplanabilir, – mKorbel