JTabbedPane
Nimbus 룩앤필 을 사용하여 애플리케이션을 만들고있었습니다.
이 코드를 사용하여 탭을 배치했습니다.
pane.addTab("Welcome",new ImageIcon("resources\\1.png"),mainPanel,"Takes to the welcome page");
아이콘을 왼쪽에 표시하고
JTabbedPane.setTabComponentAt (int index, Component component) 메서드를 통해 탭 제목을 렌더링하기위한 사용자 정의 구성 요소를 설정할 수 있습니다 .
지정된 탭의 제목을 렌더링하는 구성 요소를 설정합니다 . null 값
JTabbedPane
은 지정된 탭의 제목 및 / 또는 아이콘을 렌더링 함을 의미 합니다. null이 아닌 값은 구성 요소가 제목을JTabbedPane
렌더링하고 제목 및 / 또는 아이콘을 렌더링하지 않음을 의미 합니다.참고 : 구성 요소는 개발자가 탭 창에 이미 추가 한 구성 요소가 아니어야합니다.
예를 들어 다음과 같이 할 수 있습니다.
JLabel label = new JLabel("Tab1");
label.setHorizontalTextPosition(JLabel.TRAILING); // Set the text position regarding its icon
label.setIcon(UIManager.getIcon("OptionPane.informationIcon"));
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.LEFT);
tabbedPane.addTab(null, new JPanel());
tabbedPane.setTabComponentAt(0, label); // Here set the custom tab component
스크린 샷 1 :
참고 : 이 기능을 사용하여 원하는 Component
대로 설정할 수 있습니다 . 예를 들어 JPanel
a JButton
를 사용하여 탭을 닫을 수 있습니다 .
final JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.LEFT);
ActionListener actionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JButton button = (JButton)e.getSource();
for(int i = 0; i < tabbedPane.getTabCount(); i++) {
if(SwingUtilities.isDescendingFrom(button, tabbedPane.getTabComponentAt(i))) {
tabbedPane.remove(i);
break;
}
}
}
};
JLabel label = new JLabel("Tab1", UIManager.getIcon("OptionPane.informationIcon"), JLabel.RIGHT);
JButton closeButton = new JButton("X");
closeButton.addActionListener(actionListener);
JPanel tabComponent = new JPanel(new BorderLayout());
tabComponent.add(label, BorderLayout.WEST);
tabComponent.add(closeButton, BorderLayout.EAST);
tabbedPane.addTab(null, new JPanel());
tabbedPane.setTabComponentAt(0, tabComponent); // Here set the custom tab component
스크린 샷 2 :
이 항목도보고 싶을 수 있습니다. JTabbedPane : 탭 배치가 LEFT로 설정되었지만 아이콘이 정렬되지 않았습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다