2011-12-21 2 views
0

Панели с разделителем Я нашел этот пример:Как установить пользовательский делитель на

http://java2s.com/Open-Source/Java-Document-2/Swing/petersoft-java-style-2/com/petersoft/white/SplitPaneDivider.java.htm

И я хотел бы, чтобы применить его к моей Панели с разделителем.

Так что я:

BasicSplitPaneUI bspUI=(BasicSplitPaneUI)mainContainer.getUI(); 
mainContainer.setUI(new ola.elementsCustom.SplitPaneDivider(bspUI)); 

Но это дает мне ошибку, что я не очень понимаю: не

не подходящий метод нашел для setUI() (ola.elementsCustom.SplitPaneDivider) метод javax.swing.JSplitPane.setUI (javax.swing.plaf.SplitPaneUI) не применимо ...

Как это исправить?

ответ

3

ola.elementsCustom.SplitPaneDivider необходимо увеличить javax.swing.plaf.SplitPaneUI - Вы уверены, что это так?

В любом случае вы всегда можете изменить внешний вид и поведение вашего делителя, используя что-то вроде:

splitPane.setUI(new BasicSplitPaneUI() { 
      public BasicSplitPaneDivider createDefaultDivider() { 
       return new BasicSplitPaneDivider(this) { 
        public void setBorder(Border b) { 
         //some code 
        } 
       }; 
      } 
     }); 
+2

@ user1012297 технически правильными, но никто ничего не хочет делать в реальных приложениях ;-) а) в качестве минимум, это было бы сделано для _all_ split панелей приложения через соответствующую запись в UIManager (против выполнения этого в каждом отдельном экземпляре); b) расширить делегат от _real_ LAF (по сравнению с расширением BasicXX); c) сделать это для всех LAF, которые поддерживаются ... – kleopatra

Смежные вопросы