我有一个简单的JPanel,用作JTabbedPane的tabComponent。它是MainTabComponent类:
public class MainTabComponent extends JPanel {
private JLabel label;
public MainTabComponent(String title, MainTabbedPane mainTabbedPane) {
// unset default FlowLayout gaps
super(new FlowLayout(FlowLayout.LEFT, 0, 0));
setOpaque(false);
label = new JLabel(title, Images.tabIconSaved, JLabel.LEADING);
add(label);
// add more space between the label and the button
label.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 5));
// tab button
JButton button = new TabButton();
add(button);
// add more space to the top of the component
setBorder(BorderFactory.createEmptyBorder(2, 0, 0, 0));
}
}
接下来我需要允许用户拖动标签(即MainTabComponent)。
问题是TabbedPaneUI的tabForCoordinate方法没有返回正确的tab索引。 它总是返回0。
所以我需要在鼠标点击时查找标签索引,但是如何使用自定义标签执行此操作?
谢谢!