У меня есть JTabbedPane
в макете вкладки прокрутки, чтобы все вкладки хорошо сидели в одной строке. Есть ли способ разрешить пользователю прокручивать их с помощью колеса мыши или является единственным способом навигации по JTabbedPane.SCROLL_TAB_LAYOUT
с помощью стрелок клавиатуры и графического интерфейса и нажатием на вкладки?Используйте мышь для прокрутки вкладок в JTabbedPane
1
A
ответ
4
я нашел ответ на этот вопрос, после того, как копаться автозаполнения в Eclipse: использовать MouseWheelListener
для JTabbedPane
:
JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
tabbedPane.addMouseWheelListener(new MouseWheelListener() {
@Override
public void mouseWheelMoved(MouseWheelEvent e) {
JTabbedPane pane = (JTabbedPane) e.getSource();
int units = e.getWheelRotation();
int oldIndex = pane.getSelectedIndex();
int newIndex = oldIndex + units;
if (newIndex < 0)
pane.setSelectedIndex(0);
else if (newIndex >= pane.getTabCount())
pane.setSelectedIndex(pane.getTabCount() - 1);
else
pane.setSelectedIndex(newIndex);
}
});
Это и позволяет прокрутки мыши на закладках, и уважает индексных пределы JTabbedPane
,
Если у кого-то есть лучший ответ, я был бы рад принять!
Где вы находите это? Ссылка? –
@HovercraftFullOfEels Я использовал автозаполнение eclipse для поиска слушателей событий, разработал код. (tabbedPane на самом деле является именем, которое я использую в своей программе, а не родовым именем из какого-то учебника). – 17slim
Я могу, конечно, осмотреть учебник с дополнительной информацией, если это было бы необходимо/предпочтительнее? – 17slim