Özel bir başlık çubuğu ve özel resizer ile birlikte, ayrılmamış bir JFrame kullanıyorum. Her şey iyi çalışıyor ancak JFrame'i renklendirmediğimde Windows-Left/Right anahtar bağlamaları desteğini kaybediyorum (Windows tarafından yerel olarak uygulanmış gibi görünüyor). Uygulamam için bu özelliği yeniden kullanmak istiyorum. Sorunum: Windows tuşunun basılı olup olmadığını bir anahtar dinleyicide algılayabilirim, ancak Windows anahtarıyla (InputEvent öğesinde değiştirici WINDOWS_MASK_DOWN) birlikte başka bir tuşun (durumumda sol/sağ) basıldığını algılayamıyorum. Muhtemelen birisi bir çözüm buluyor mu? İşte Undecorated JFrames içinde Windows-Sol ve Windows-Sağ için Destek
kodum: Ben sistemimde olarak düzgün test edemedi Ehimport java.awt.BorderLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
public class HeadlessFrameTest {
public static void main(String[] args) {
final JFrame frm = new JFrame("Test");
final JTextField field = new JTextField();
frm.add(field, BorderLayout.NORTH);
field.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
System.out.println(e);
}
});
frm.setUndecorated(true);
frm.setSize(500, 550);
frm.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frm.setVisible(true);
}
}
+1 '(InputEvent öğesinde WINDOWS_MASK_DOWN değiştiricisi yok.) KeyReleased olayı için bir olay üretilmesine rağmen, sağ/sol tuşa basıldığında (JDK7'de) hiçbir olay oluşturulmaz. Bu bana Windows'un olayı yakaladığını söylüyor. Windows + Down pencereyi geri yüklemese de Windows + Up tuşunun pencereyi en üst düzeye çıkarması nedeniyle sağ/sol tuş işlevinin çalışmadığı gariptir. Yani kesinlikle tutarsızlıklar var. Çözümü bilmiyorum. – camickr
Bu konuda herhangi bir güncelleme var mı? Aynı sorunu yaşıyorum ve buna bir çözüm arıyorum. – Sebastian