Tôi mới làm quen với lập trình Java và muốn xem liệu có thể có được giao diện bản địa của cửa sổ trong các ứng dụng Java GUI hay không. Rõ ràng Swing sẽ không hoạt động.Làm cách nào để có giao diện bản địa của cửa sổ trong lập trình Java GUI?
Trả lời
Sử dụng như sau:
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
đọc UIManager và How to Set the Look and Feel để biết thêm thông tin.
thử mã này:
javax.swing.UIManager.setLookAndFeel("Windows")
Nếu câu trả lời này giải quyết được vấn đề của bạn, hãy đảm bảo bạn upvote nó và chọn nó làm giải pháp. – jahroy
-1 sai - ít nhất bạn sẽ cần tên lớp đầy đủ của LAF – kleopatra
@RonE dooh, gần như bị ngất xỉu và nhanh chóng thử (bạn cũng có thể làm như vậy ;-) Nó đang ném 'java.lang.ClassNotFoundException: Windows' như tài liệu, rất tò mò: tại sao bạn nghĩ vậy? – kleopatra
Hãy thử điều này ....
Cú pháp là:
UIManager.setLookAndFeel(PLAF); (Pluggable Look and Feel)
Vì vậy, bạn phải bao gồm dưới 3 dòng.
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
SwingUtilities.updateComponentTreeUI(frame);
updateComponentTreeUI(frame);
SwingUtilities.updateComponentTreeUI (frame) được sử dụng để làm mới khung sau khi thay đổi.
a) không được khuyến khích cho các tên lớp mã b) không cần thứ ba trong ba dòng (nó đã được xử lý trong lần thứ hai :-) – kleopatra
Chỉ dòng đầu tiên là cần thiết, nếu bạn chạy nó trước khi thực hiện bất kỳ thành phần GUI nào. –
nếu bạn sử dụng điều này, bạn phải thực hiện cập nhật như bạn có thể thấy trong câu trả lời Kumar bên dưới: 'SwingUtilities.updateComponentTreeUI (frmae); ' ' updateComponentTreeUI (frame); ' – Csanesz
@Csanesz nếu bạn thay đổi L & F sau khi bắt đầu ứng dụng khi giao diện người dùng đã hiển thị thì cần phải cập nhật 'updateComponentTreeUI', nếu không thì không cần thiết. Hướng dẫn đã đề cập thảo luận về các tùy chọn khác nhau. – tenorsax