답변:
LaF에는 많은 가능성이 있습니다.
java -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel -jar MyApp.jar
-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
Java 호출 에 매개 변수를 추가하십시오 .
내가 개발하고있는 L & F를 시도 할 수 있습니다 -WebLaF
성공적인 UI 개발에 필요한 세 부분을 결합합니다.
바이너리 : https://github.com/mgarin/weblaf/releases
출처 : https://github.com/mgarin/weblaf
라이센스 : GPLv3 및 Commercial
일부 WebLaF 구성 요소가 어떻게 보이는지 보여주는 몇 가지 예 :
완전히 새로운 L & F로 시작한 주된 이유는 기존 L & F의 대부분에 유연성이 없기 때문입니다. 대부분의 경우에 스타일을 다시 지정할 수 없습니다 (몇 가지 색상 만 변경하고 일부 경우 UI 요소를 켜거나 끌 수 있음). 또는 불편한 방법이 있습니다. 커스텀 써드 파티 컴포넌트 스타일링에 있어서는 더 나빠질 수 있습니다. 특정 L & F에 의해 스타일이 지정된 다른 컴포넌트와는 전혀 다르거 나 심지어 완전히 다른 것이므로 애플리케이션이 전문적이지 않고 불쾌 해 보입니다.
저의 목표는 널리 알려진 유용한 구성 요소 (예 : 날짜 선택기, 트리 테이블, 고정 가능 및 문서 창 및 기타 여러 가지)와 추가 유용한 관리자 및 유틸리티를 포함하여 완전히 사용자 정의 가능한 L & F를 제공하는 것입니다. WebLaF를 애플리케이션에 신속하게 통합하고 Swing을 사용하여 멋진 UI를 만드는 데 필요한 코드.
JTattoo ( http://www.jtattoo.net/를 사용할 수도 있습니다 . )를 있는 몇 가지 멋진 테마가 있습니다.
jar 파일을 다운로드하여 클래스 경로로 가져 오거나 maven 종속성으로 추가하십시오.
<dependency>
<groupId>com.jtattoo</groupId>
<artifactId>JTattoo</artifactId>
<version>1.6.11</version>
</dependency>
다음은 멋진 테마 중 일부입니다.
문안 인사
다음은 응용 프로그램 사용자가 사용자 시스템 에 따라 모양과 느낌을 변경할 수있는 대화 상자를 만드는 코드입니다 . 또는 원하는 모양과 느낌을 응용 프로그램에 저장할 수 있으면 "이동식"이 될 수 있으며 이는 원하는 결과입니다.
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);
}
}
}
}
}