Hareketli çerçeveli bir Java uygulaması yazıyorum ve Linux'ta bir tuhaflıkla karşılaşıyorum. CentOS altında GNOME 2.16.0 çalıştırıyorum.Java JFrame'i Linux masaüstümden kısmen nasıl taşıyabilirim?
Sınırları ekranın yarısı kadar olan herhangi bir konuma ayarlamak için JFrame.setBounds
'u kullandığımda, aslında çerçevenin konumunu, ekranda tamamen kalırken belirtilen sınırlara mümkün olduğunca yakın olacak şekilde ayarlar.
Java'ya, ekranın yarısı bile olsa, GNOME'a belirttiğim çerçeveyi gerçekten koymasını söylemek için nasıl söylerim?
İşte, -50, 50 ekran dışı olduğunu varsayarak, sorunu gösteren bazı örnek kodlar. Çerçeve hala başlık çubuğundan ekrandan sürüklenebilir, ancak setLocation
veya setBounds
çağrıları çalışmaz.
Bu, Windows'ta sorunsuz çalışır.
JFrame frame = new JFrame(); frame.setPreferredSize(new Dimension(200, 200)); frame.pack(); frame.setVisible(true); frame.setLocation(-50, 50);
Java UI'nin Ahh Joy'ları tüm platformlarda aynı şekilde davranmıyor ... Cevabın Java tarafında bulunmadığını söyleyebilirim, ama yanılıyor olabilirim (bu nedenle cevap yerine yorum yazabilirim) :) – Romain