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;
}
}