Я работаю над пользовательским интерфейсом на Java с Swing, я хочу изменить кнопку прокрутки JTabbedPane, поэтому я использую новый пользовательский интерфейс (MyTabbedPaneUI), который я создаю из расширений MetalTabbedPaneUI.Изменить кнопку прокрутки JTabbedPan
Но когда я создаю свой JTabbedPanel, появляются 2 вкладки, и я их не хочу. Если я удалю их, моя полоса прокрутки исчезнет.
Код:
public class MyTabbedPaneUI extends MetalTabbedPaneUI{
private Icon southIcon = new ImageIcon(MyTabbedPaneUI.class.getResource("south.png"));
private Icon northIcon = new ImageIcon(MyTabbedPaneUI.class.getResource("north.png"));
private Icon eastIcon = new ImageIcon(MyTabbedPaneUI.class.getResource("flecheVerte-gauche-20px.png"));
private Icon westIcon = new ImageIcon(MyTabbedPaneUI.class.getResource("flecheVerte-droite-20px.png"));
public static ComponentUI createUI(JComponent x) {
return new MyTabbedPaneUI();
}
@Override
protected JButton createScrollButton(int direction) {
if ((direction != SOUTH) && (direction != NORTH) && (direction != EAST) && (direction != WEST)) {
throw new IllegalArgumentException("Direction must be one of: " + "SOUTH, NORTH, EAST or WEST");
}
JButton b = new JButton();
//b.setText("");
b.setPreferredSize(new Dimension(eastIcon.getIconWidth(), eastIcon.getIconHeight()));
if (direction == SOUTH) {
b.setIcon(southIcon);
} else if (direction == NORTH) {
b.setIcon(northIcon);
} else if (direction == WEST) {
b.setIcon(westIcon);
} else {
b.setIcon(eastIcon);
}
return b;
}
}
Да я хочу изменить эти две кнопки с изображением, которое я create – Fred37b
В 'BasicTabbedPaneUI', см.' private class ScrollableTabButton расширяет BasicArrow Button' для простой реализации. – trashgod
@Fred B извините, мне не повезло с заменой этих четырех абстрактных кнопок его значком, вы ищете (я потерял ссылку) полностью настроенный BasicTabbedPaneUI, эти AbstractButtons должны принимать предпочтительныйSize, реальный успех - использование Custom Look и Feel, некоторые из они полностью переопределяют BasicTabbedPaneUI – mKorbel