У меня проблема, которая возникает только на Nimbus L & F. Если в JList слишком много элементов, большой палец JScrollBar исчезнет. Но в металле L & F большой палец будет всегда виден, потому что он имеет минимальный размер. Я также проверил логику в Nimbus L & F, там есть такой же минимальный размер. Но это не было сделано.JScrollBar не показывает большой палец в Nimbus L & F
Пожалуйста, смотрите мой код ниже:
public static void main(String[] args) {
for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
try {
UIManager.setLookAndFeel(info.getClassName());
} catch (ClassNotFoundException ex) {
Logger.getLogger(Demo.class.getName()).log(Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
Logger.getLogger(Demo.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(Demo.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(Demo.class.getName()).log(Level.SEVERE, null, ex);
}
break;
}
}
JFrame f = new JFrame("Metal (height 300)");
String[] ss = new String[100];
for (int i = 0; i < ss.length; i++) {
ss[i] = "" + i;
}
JList<String> l = new JList<String>();
l.setListData(ss);
final JScrollPane jScrollPane = new JScrollPane(l);
f.getContentPane().add(jScrollPane);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(300, 300);
f.setVisible(true);
}
Когда я установил "f.setSize (300, 300);", большой палец исчезнет.
Но если установить "f.setSize (300, 400);", то большой палец будет виден.
Как я могу установить большой палец всегда виден?
Кажется, хорошо для меня. Какую версию Java вы используете? Вы пытались инициализировать пользовательский интерфейс из контекста EDT ([Начальные потоки] (http://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html))? У вас есть скриншот из двух экранов? – MadProgrammer
Я использую 1.8.0_60. См. Следующий скриншот http://7xlpns.com1.z0.glb.clouddn.com/Nimbus%20300.png, http://7xlpns.com1.z0.glb.clouddn.com/Nimbus%20400.png, http : //7xlpns.com1.z0.glb.clouddn.com/Metal%20300.png – Alan
Я попытался запустить эту демонстрацию в потоке EDT, проблема существует. Благодаря! – Alan