Kişisel kullanımım için Java Swing ile bir masaüstü uygulaması geliştiriyorum. Uygulamam için bazı güzel Görünüm ve Hisseye ihtiyacım var. Java veya 3. taraf API kullanarak nasıl yapabilirim?
Kişisel kullanımım için Java Swing ile bir masaüstü uygulaması geliştiriyorum. Uygulamam için bazı güzel Görünüm ve Hisseye ihtiyacım var. Java veya 3. taraf API kullanarak nasıl yapabilirim?
Yanıtlar:
LaF'ler için birçok olasılık var:
java -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel -jar MyApp.jar
-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
için java çağrısına parametre ekleyin .
Geliştirdiğim L & F'yi deneyebilirsiniz - WebLaF
Başarılı kullanıcı arayüzü geliştirme için gerekli üç parçayı birleştirir:
İkili dosyalar: https://github.com/mgarin/weblaf/releases
Kaynak: https://github.com/mgarin/weblaf
Lisanslar: GPLv3 ve Ticari
Bazı WebLaF bileşenlerinin nasıl göründüğünü gösteren birkaç örnek:
Tamamen yeni bir L & F ile başlamamın temel nedeni, mevcut L & F'nin çoğunun esnekliği olmamasıdır - çoğu durumda bunları yeniden stil uygulayamazsınız (sadece birkaç rengi değiştirebilir ve en iyi durumda bazı UI öğelerini açıp kapatabilirsiniz) ve / veya bunu yapmanın sadece sakıncalı yolları vardır. Özel / 3. taraf bileşen stilleri söz konusu olduğunda daha da kötüsü - bazı belirli L & F tarafından stilize edilen veya hatta tamamen farklı olan diğer bileşenlere benzemez - bu da uygulamanızın profesyonel olmayan ve hoş olmayan görünmesini sağlar.
Amacım, yaygın olarak bilinen ve kullanışlı ek bileşenler (örneğin: tarih seçici, ağaç tablosu, yerleştirilebilir ve belge bölmeleri ve diğer pek çok) ile tamamen özelleştirilebilir bir L&F ve WebLaF'ı hızlı bir şekilde uygulamanıza entegre etmek ve Swing'i kullanarak harika UI'ler oluşturmanıza yardımcı olmak için gereken kod miktarı.
Ayrıca JTattoo ( http://www.jtattoo.net/ ) kullanabilirsiniz , kullanılabilecek birkaç harika tema var.
Kavanozu indirin ve sınıf yolunuza alın veya maven bağımlılığı olarak ekleyin:
<dependency>
<groupId>com.jtattoo</groupId>
<artifactId>JTattoo</artifactId>
<version>1.6.11</version>
</dependency>
İşte mevcut harika temaların bir listesi:
Saygılarımızla
Uygulamanızın kullanıcısının Görünüm ve Hisseyi kullanıcının sistemlerine göre değiştirmesine olanak tanıyan bir İletişim Kutusu oluşturan kodu içerir . Alternatif olarak, aranan Görünüm ve Hissi uygulamanızda saklayabilirseniz, "taşınabilir" olabilirler, bu da istenen sonuçtur.
public void changeLookAndFeel() {
List<String> lookAndFeelsDisplay = new ArrayList<>();
List<String> lookAndFeelsRealNames = new ArrayList<>();
for (LookAndFeelInfo each : UIManager.getInstalledLookAndFeels()) {
lookAndFeelsDisplay.add(each.getName());
lookAndFeelsRealNames.add(each.getClassName());
}
String changeLook = (String) JOptionPane.showInputDialog(this, "Choose Look and Feel Here:", "Select Look and Feel", JOptionPane.QUESTION_MESSAGE, null, lookAndFeelsDisplay.toArray(), null);
if (changeLook != null) {
for (int i = 0; i < lookAndFeelsDisplay.size(); i++) {
if (changeLook.equals(lookAndFeelsDisplay.get(i))) {
try {
UIManager.setLookAndFeel(lookAndFeelsRealNames.get(i));
break;
}
catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
err.println(ex);
ex.printStackTrace(System.err);
}
}
}
}
}