Изменить кнопку прокрутки JTabbedPan - PullRequest
1 голос
/ 14 марта 2012

Я работаю над пользовательским интерфейсом на Java с Swing, я хочу изменить кнопку прокрутки JTabbedPane, поэтому я использую новый пользовательский интерфейс (MyTabbedPaneUI), который я создаю из extends MetalTabbedPaneUI.

Но когда я создаю свою JTabbedPanel, появляются две вкладки, и я не хочу их. Если я уберу их, полоса прокрутки исчезнет.

Код:

  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;
        }

    }

1 Ответ

1 голос
/ 14 марта 2012

см. Мой пост для уточнения

enter image description here

на основе кода , требуется уведомление добавить tb.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);

...