Я переопределил BasicScrollBarUI
, но я не знаю, как сменить кнопки после их создания. Как я могу это сделать? Благодарю.Java - Как я могу изменить динамические кнопки JScrollBar?
ответ
Я думаю, что вам нужно сделать что-то вроде этого:
UIManager.put("ScrollBarUI", YourScrollbarUI.class.getName());
SwingUtilities.updateComponentTreeUI(frame);
frame.pack();
Взгляните на эту ссылку для получения дополнительной информации о том, как обновить Look and Feel. Look and Feel
+1 для ссылки на учебник – mKorbel
Если вы имеете в виду, как зарегистрировать свою реализацию ScrollBarUI, то это должно помочь:
UIManager.put("ScrollBarUI", YourScrollbarUI.class.getName());
На данный момент у меня есть 'scrollPane.getVerticalScrollBar(). SetUI (новый CustomScrollBarUI());' Но как только я создал объект пользовательского интерфейса, я не вижу, как я могу его обновить или изменить после того, как я создал его. – rtheunissen
@ paranoid-android Вы также можете попробовать: getVerticalScrollBar(). GetUI() – tenorsax
Я могу ссылаться на это нормально, но не уверен, как обновлять/переустанавливать. – rtheunissen
Вы переопределяете методы 'createDecreaseButton' и' createIncreaseButton' и создаете свой заказ в нем, а затем возвращаете их? Какие вещи в кнопке вы хотите изменить после создания? Пользовательский интерфейс кнопки? –
Да, я переопределяю эти методы, но они создают новую кнопку и возвращают ее. Параметр может состоять в том, чтобы создавать переменные класса, указывающие на возвращаемые кнопки, и изменять их. Я просто хочу изменить цвета - создание инвертированной цветовой темы. – rtheunissen
См. [MetalScrollBarUI] (http://www.java2s.com/Open-Source/Java-Document/6.0-JDK-Core/swing/javax/swing/plaf/metal/MetalScrollBarUI.java.htm). Кнопки являются членами класса и могут быть обновлены позже. – tenorsax