当空间有限时,选项卡会显示在滚动 Pane 中,并会出现两个小箭头按钮。我想使用鼠标滚轮来操作这些按钮。
Use mouse to scroll through tabs in JTabbedPane中有一个很好的解决方案,但它实际上选择了选项卡。我只想滚动它们,而不更改选择。
如何获取这些按钮或相关操作?
(我正在使用 Nimbus LaF,如果这很重要的话。)
最佳答案
刚刚找到了! DnDTabbedPane 中的拖放代码位于 https://java-swing-tips.blogspot.co.at/2008/04/drag-and-drop-tabs-in-jtabbedpane.html有这个非常好的方法:
private void clickArrowButton(String actionKey) {
ActionMap map = getActionMap();
if (map != null) {
Action action = map.get(actionKey);
if (action != null && action.isEnabled()) {
action.actionPerformed(new ActionEvent(
this, ActionEvent.ACTION_PERFORMED, null, 0, 0));
}
}
}
所以我只需要说:
addMouseWheelListener(new MouseWheelListener() {
@Override
public void mouseWheelMoved(MouseWheelEvent e) {
if (e.getWheelRotation() > 0) {
clickArrowButton("scrollTabsBackwardAction");
} else {
clickArrowButton("scrollTabsForwardAction");
}
}
});
关于java - JTabbedPane - 如何使用鼠标滚轮滚动(而不是选择)选项卡(SCROLL_TAB_LAYOUT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51639630/