을 JTabbedPane
의 빈 칸에 추가하려고합니다 (탭 오른쪽과 내용 패널 위). 탭 패널의 추가 공간에 레이블을 추가하는 방법
MigLayout
를 사용하여)이 SSCCE 매우 가까이 :
public static void main(String[] args) {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
JFrame frame = new JFrame();
frame.setLayout(new MigLayout(new LC().fill().insetsAll("0")));
JTabbedPane jtp = new JTabbedPane();
jtp.add(new JPanel(), "Tab 1");
jtp.add(new JPanel(), "Tab 2");
JLabel label = new JLabel("label");
JPanel panel = new JPanel(new MigLayout(new LC().fill()));
panel.add(jtp, "id tabbedpane, grow, span");
panel.add(label, "pos (tabbedpane.w-label.w) 10, id label");
label.setBounds(100, 100, 10, 10);
frame.add(panel, "grow, span");
frame.setSize(500, 500);
frame.setLocationRelativeTo(null); // Sorry, Andrew Thompson
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
그러나이 불행하게도,이 SSCCE가 MigLayout
버그 (: MigLayout error: "Unstable cyclic dependency in absolute linked values!"를 읽기) 안타. 당신이 WindowsLookAndFeel
코드를 제거하는 경우,이 있습니다 :
WindowsLookAndFeel
부족을 제외하고 내가 원하는 것을 정확하게
(내 응용 프로그램에 대한 요구 사항 인, MigLayout
이 아닌). 그래도 MigLayout
없이는이 작업을 수행하는 방법을 알 수 없습니다.
빈 공간에 JLabel
을 어떻게 추가 하시겠습니까?
레이아웃과 관련하여 이러한 끔찍한 해결 방법이 필요한 이유는 무엇입니까? 왜 JLayer가 아니겠습니까? –