gpt4 book ai didi

java - JTabbedPane 带有获取 Pane 的按钮

转载 作者:行者123 更新时间:2023-12-02 07:25:46 27 4
gpt4 key购买 nike

我有一个 JTappedPane,上面有一个按钮,我想关闭该选项卡。我这样做是这样的:

jTabbedPane1.addTab(title, null, panel, null);

JPanel pnl = new JPanel();
JButton close = new JButton();
try {
Image img = ImageIO.read(getClass().getResource("x.png"));
close.setIcon(new ImageIcon(img));
} catch (IOException ex) {
ex.printStackTrace();
}
close.setPreferredSize(new Dimension(10, 10));
close.setBorderPainted(false);
close.addActionListener(new java.awt.event.ActionListener(){

public void actionPerformed(ActionEvent evt) {
//TODO CLOSE THE TAP WHEN BUTTON IS PRESSED

}

}});
JLabel lab = new JLabel(s);

pnl.setOpaque(false);
pnl.add(lab);
pnl.add(close);

jTabbedPane1.setTabComponentAt(jTabbedPane1.getTabCount() - 1, pnl);

我正在尝试获取已按下按钮的选项卡上的选项卡标题。我以为我可以做类似的事情close.getContaining() 返回它所在的选项卡,但我错了。

有什么想法吗?

最佳答案

如果我理解正确的话,您想要找到将按钮的父级作为 tabComponent 的选项卡的索引:

public void actionPerformed(ActionEvent evt) {
JComponent source = (JComponent) evt.getSource();
Container tabComponent = source.getParent();
int tabIndex = jTabbedPane1.indexOfTabComponent(tabComponent);
jTabbedPane1.removeTabAt(tabIndex);
}

关于java - JTabbedPane 带有获取 Pane 的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13604396/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com