JTabbedPane: значок на левой стороне вкладок

Для записи собственных графический интерфейсов пользователя для Erlang wxErlang, кажется, самая зрелая библиотека сегодня (также на SourceForge).

8
задан Matthew Murdoch 23 November 2009 в 13:08
поделиться

1 ответ

Вам нужно установить компонент табуляции самостоятельно; который управляет отображением заголовка вкладки.

// Create tabbed pane and add tabs.
JTabbedPane tabbedPane = ...

// Create bespoke component for rendering the tab.
JLabel lbl = new JLabel("Hello, World");
Icon icon = new ImageIcon(getClass().getResource("/foo/bar/hello.jpg"));
lbl.setIcon(icon);

// Add some spacing between text and icon, and position text to the RHS.
lbl.setIconTextGap(5);
lbl.setHorizontalTextPosition(SwingConstants.RIGHT);

// Assign bespoke tab component for first tab.
tabbedPane.setTabComponentAt(0, lbl);

Очевидно, вы могли бы инкапсулировать это в служебном методе:

private void addTab(JTabbedPane tabbedPane, Component tab, String title, Icon icon) {
  tabbedPane.add(tab);

  JLabel lbl = ... // Create bespoke label for rendering tab title.

  tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1, lbl);
}
15
ответ дан 5 December 2019 в 11:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: