Tôi đang phát triển một ứng dụng máy tính để bàn với Java Swing cho mục đích sử dụng cá nhân của mình. Tôi đang cần một số Giao diện đẹp cho ứng dụng của mình. Làm cách nào tôi có thể làm điều đó bằng cách sử dụng Java hoặc API của bên thứ 3?
Tôi đang phát triển một ứng dụng máy tính để bàn với Java Swing cho mục đích sử dụng cá nhân của mình. Tôi đang cần một số Giao diện đẹp cho ứng dụng của mình. Làm cách nào tôi có thể làm điều đó bằng cách sử dụng Java hoặc API của bên thứ 3?
Câu trả lời:
Có rất nhiều khả năng cho LaFs:
java -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel -jar MyApp.jar
Bạn có thể thử L & F mà tôi đang phát triển - WebLaF
Nó kết hợp ba phần cần thiết để phát triển UI thành công:
Binaries: https://github.com/mgarin/weblaf/release
Nguồn: https://github.com/mgarin/weblaf
Giấy phép: GPLv3 và thương mại
Một vài ví dụ cho thấy một số thành phần WebLaF trông như thế nào:
Lý do chính khiến tôi bắt đầu với một L & F hoàn toàn mới là vì hầu hết các L & F hiện tại thiếu tính linh hoạt - bạn không thể tạo kiểu lại cho chúng trong hầu hết các trường hợp (bạn chỉ có thể thay đổi một vài màu và bật / tắt một số thành phần UI trong trường hợp tốt nhất) và / hoặc chỉ có những cách bất tiện để làm điều đó. Thậm chí còn tệ hơn khi nói đến kiểu dáng các thành phần tùy chỉnh / bên thứ 3 - chúng trông không giống với các thành phần khác được tạo kiểu bởi một số L & F cụ thể hoặc thậm chí hoàn toàn khác biệt - khiến ứng dụng của bạn trông không chuyên nghiệp và khó chịu.
Mục tiêu của tôi là cung cấp một L & F có thể tùy chỉnh hoàn toàn với một gói các thành phần hữu ích và được biết đến rộng rãi (ví dụ: trình chọn ngày, bảng cây, bảng có thể gắn và nhiều tài liệu khác) và các trình quản lý và tiện ích bổ sung khác, sẽ làm giảm số lượng mã cần thiết để nhanh chóng tích hợp WebLaF vào ứng dụng của bạn và giúp tạo UI tuyệt vời bằng cách sử dụng Swing.
Bạn cũng có thể sử dụng JTemme ( http://www.jtemme.net/ ), nó có một vài chủ đề thú vị có thể được sử dụng.
Chỉ cần tải về jar và nhập nó vào đường dẫn lớp của bạn hoặc thêm nó dưới dạng phụ thuộc maven:
<dependency>
<groupId>com.jtattoo</groupId>
<artifactId>JTattoo</artifactId>
<version>1.6.11</version>
</dependency>
Dưới đây là danh sách một số chủ đề thú vị mà họ có sẵn:
Trân trọng
Đây là mã tạo ra Hộp thoại cho phép người dùng ứng dụng của bạn thay đổi Giao diện dựa trên hệ thống của người dùng . Ngoài ra, nếu bạn có thể lưu trữ Giao diện mong muốn trên ứng dụng của mình, thì chúng có thể là "di động", đó là kết quả mong muốn.
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);
}
}
}
}
}