Java 如何使不确定进度条看起来很漂亮?
我用的是nimbus lookAndFillJava 如何使不确定进度条看起来很漂亮?,java,swing,progress-bar,jprogressbar,nimbus,Java,Swing,Progress Bar,Jprogressbar,Nimbus,我用的是nimbus lookAndFill UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); 我的不确定JProgressBar如下所示: 我能让它看起来更好吗?你可以选择或。你可以选择或。有一个更简单的解决方案。您只需在设置nimbus外观之前复制进度条UI默认值,然后在设置之后将其设置回原来的状态。然后,您将获得Nimbus外观,但没有其进度条样式 // copy progress
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
我的不确定JProgressBar如下所示:
我能让它看起来更好吗?你可以选择或。你可以选择或。有一个更简单的解决方案。您只需在设置nimbus外观之前复制进度条UI默认值,然后在设置之后将其设置回原来的状态。然后,您将获得Nimbus外观,但没有其进度条样式
// copy progress bar defaults
HashMap<Object, Object> progressDefaults = new HashMap<>();
for(Map.Entry<Object, Object> entry : UIManager.getDefaults().entrySet()){
if(entry.getKey().getClass() == String.class && ((String)entry.getKey()).startsWith("ProgressBar")){
progressDefaults.put(entry.getKey(), entry.getValue());
}
}
// set nimbus
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
// copy back progress bar defaults
for(Map.Entry<Object, Object> entry : progressDefaults.entrySet()){
UIManager.getDefaults().put(entry.getKey(), entry.getValue());
}
有一个更简单的解决办法。您只需在设置nimbus外观之前复制进度条UI默认值,然后在设置之后将其设置回原来的状态。然后,您将获得Nimbus外观,但没有其进度条样式
// copy progress bar defaults
HashMap<Object, Object> progressDefaults = new HashMap<>();
for(Map.Entry<Object, Object> entry : UIManager.getDefaults().entrySet()){
if(entry.getKey().getClass() == String.class && ((String)entry.getKey()).startsWith("ProgressBar")){
progressDefaults.put(entry.getKey(), entry.getValue());
}
}
// set nimbus
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
// copy back progress bar defaults
for(Map.Entry<Object, Object> entry : progressDefaults.entrySet()){
UIManager.getDefaults().put(entry.getKey(), entry.getValue());
}
你可以写你自己的UI委派你可以写你自己的UI委派只是想保留这个l&F,但是用另一个用于进度barPhilip的答案就可以了,我没想到,这是一个简单得多的解决方案,只是想保留这个l&F,但用另一个用于进度barPhilip的答案就可以了,我没想到,这是一个更简单的解决方案,我找到了最好的解决方案,基于您的//设置NimbusLookAndFeel UIManager.SetLookandFeel新建NimbusLookAndFeel;//设置其他进度条l&f processingJProgressBar.**setUI**new WebProgressBarUI;我找到了最好的解决方案,基于您的//设置NimbusLookAndFeel UIManager.SetLookandFeel新建NimbusLookAndFeel;//设置其他进度条l&f processingJProgressBar.**setUI**new WebProgressBarUI;