如何在JTabbedPane中拖动自定义组件的标签?

时间:2014-04-20 12:51:26

标签: java swing jtabbedpane

我有一个简单的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。

所以我需要在鼠标点击时查找标签索引,但是如何使用自定义标签执行此操作?

谢谢!

0 个答案:

没有答案