2016-12-14 12 views
2

Я хочу добавить кнопку в свой фон JTabbedPane, например Google Chrome, чтобы каждый раз добавлять новые вкладки, щелкая по нему.Как добавить кнопку в фон JTabbedPane?

enter image description here

Как я могу это сделать? Заранее спасибо!

EDIT: Я взял незакрепленный JFrame.

ответ

2

Посмотрите на метод JTabbedPane.setTabComponentAt(int index, Component component). Этот метод позволяет вам установить компонент, с помощью которого будет отображаться заголовок.

Описание из документации:

Устанавливает компонент, который отвечает за отображение названия на вкладке указанного. Нулевое значение означает, что JTabbedPane отобразит заголовок и/или значок для указанной вкладки. Непустое значение означает, что компонент будет отображать заголовок, а JTabbedPane не будет отображать заголовок и/или значок.

Примечание. Компонент не должен быть тем разработчиком, который уже добавлен в панель с вкладками.


Что вы можете сделать:

  • Создайте JTabbedPane
  • Добавить новую вкладку к нему, его предполагаемой функции, как хром «добавить закладку»
  • Установить заголовок компонент этой вкладки к кнопке (соответствующим стилю)
  • Когда эта кнопка нажата, добавьте новую вкладку прямо перед вкладкой кнопки и покажите ее e недавно добавленная вкладка
1

Этот код создаст для него только одну вкладку и кнопку.

class Test extends JFrame 
{ 
JTabbedPane jtab; 
JButton but; 
JPanel panel; 

    Test() 
{ 
    super("JTabbedPane"); 
    jtab=new JTabbedPane(); 
    but=new Button("Click"); 
    panel=new JPanel(); 
    panel.add(but); 

    jtab.add("Tab",panel); 

    add(jtab); 

    setVisible(true); 
    setSize(400,400); 
    } 

public static void main(String[] args) 
{ 
    new Test(); 
} 
}