Java Tabbed Pane: display an icon close on the title
it is possible to show an ic开发者_运维知识库on "X" on the title of the tab, used to close the tab ? Thanks
I would suggest looking over the tutorial of, How to Use Tabbed Panes and scroll down to the section entitled Tabs With Custom Components.
Also if you look at the example index link inside that section, the sample code is given.
I actually just created an implementation of this myself. :)
Something like this:
/* These need to be final so you can reference them in the MouseAdapter subclass
* later. I personally just passed them to a method to add the tab, with the
* parameters marked as final.
* i.e., public void addCloseableTab(final JTabbedPane tabbedPane, ...)
*/
final Component someComponent = ...; //Whatever component is being added
final JTabbedPane tabbedPane = new JTabbedPane();
//I had my own subclass of AbstractButton, but that's irrelevant in this case
JButton closeButton = new JButton("x");
/*
* titlePanel is initialized containing a JLabel with the tab title,
* and closeButton. (I don't recall the tabbed pane showing a title itself after
* setTabComponentAt() is called)
*/
JPanel titlePanel = ...;
tabbedPane.add(someComponent);
tabbedPane.setTabComponentAt(tabbedPane.indexOfComponent(someComponent), titlePanel);
closeButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
tabbedPane.remove(someComponent);
}
});
精彩评论