2
我想添加一個按鈕到JTabbedPane的標題欄(類似於Firefox中的'打開新選項卡'('+')按鈕) 我試圖添加到玻璃窗格JTabbedPane的容器。但由於我的tabbedpane包含在一個JPanel看起來不適合我。 任何建議對我來說都是很有幫助的。 謝謝。Firefox上的'打開新選項卡'JTabbedPane
我想添加一個按鈕到JTabbedPane的標題欄(類似於Firefox中的'打開新選項卡'('+')按鈕) 我試圖添加到玻璃窗格JTabbedPane的容器。但由於我的tabbedpane包含在一個JPanel看起來不適合我。 任何建議對我來說都是很有幫助的。 謝謝。Firefox上的'打開新選項卡'JTabbedPane
而不是添加一個按鈕我嘗試過不同的方式,併爲我工作...我已經添加了一個JLabel(與'+')作爲隱藏標籤,當用戶試圖選擇該標籤時,我會正在添加一個新標籤。
public class AddTabButtonDemo extends JFrame{
private JTabbedPane tabbedPane = new JTabbedPane();
public AddTabButtonDemo() {
JLabel tab1Label = new JLabel("tab1");
JPanel tab1 = new JPanel();
tab1.add(tab1Label);
tabbedPane.addTab("tab1", tab1);
tabbedPane.addTab("+", new JLabel());
tabbedPane.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (tabbedPane.getSelectedComponent() instanceof JLabel) {
int count = tabbedPane.getTabCount();
JLabel newTabLabel = new JLabel("tab" + count);
JPanel newTab = new JPanel();
newTab.add(newTabLabel);
tabbedPane.add(newTab, count - 1);
tabbedPane.setTitleAt(count - 1, "tab" + count);
tabbedPane.setSelectedComponent(newTab);
}
}
});
this.add(tabbedPane, BorderLayout.CENTER);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setMinimumSize(new Dimension(300, 300));
this.setVisible(true);
}
public static void main(String[] args) {
new AddTabButtonDemo();
}
}
重複的https://stackoverflow.com/questions/1971141/java-add-tab-button-for-a-jtabbedpane/ – 2017-10-24 19:54:44