我有一个JTabbedPane
带有自定义选项卡的组件。该组件包含一个JLabel
(显示选项卡标题)和一个JButton
(关闭按钮)。当我更改停止接收鼠标事件中的文本JLabel
并且JLabel
直接单击标签时无法再选择该选项卡时,如果单击标签周围,则可以选择该选项卡。有任何想法吗?
代码片段:
class ShellPanelTabComponent extends JPanel implements ActionListener{
private ShellPanel panel;
private JLabel label;
public ShellPanelTabComponent(final ShellPanel panel){
super(new FlowLayout(FlowLayout.LEFT, 0, 0));
this.panel = panel;
setOpaque(false);
label = new JLabel(panel.getTitle());
label.setFocusable(false);
add(label);
label.setBorder(BorderFactory.createEmptyBorder(2,0,0,5));
//now the button
CloseButton closeButton = new CloseButton(panel);
add(closeButton);
closeButton.addActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
panel.getShell().removeShellPanel(panel);
}
/**
* @return the label
*/
public JLabel getLabel() {
return label;
}
}