이미지에 표시된대로 JLabel/JPanel을 추가해야합니다. 프레임 크기를 조정할 때 탭 패널과 레이블/패널이 모두 있어야합니다. 탭 패널 내부의 레이블과 패널은 독립적입니다. 어떻게해야합니까? 그림과 같이상단에 레이블이있는 탭이있는 패널
2
A
답변
2
여기 (mKorbel에 의해 제안) JLayer를 사용하는 간단한 예입니다
import java.awt.*;
import javax.swing.*;
import javax.swing.plaf.*;
public class TopRightCornerLabelLayerUITest {
public static JComponent makeUI() {
JTabbedPane tab = new JTabbedPane();
tab.addTab("New tab1", new JLabel("1"));
tab.addTab("New Tab2", new JLabel("2"));
JPanel p = new JPanel(new BorderLayout());
p.add(new JLayer<JComponent>(tab, new TopRightCornerLabelLayerUI()));
return p;
}
private static void createAndShowUI() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(makeUI());
f.setSize(320, 240);
f.setLocationRelativeTo(null);
f.setVisible(true);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override public void run() {
createAndShowUI();
}
});
}
}
class TopRightCornerLabelLayerUI extends LayerUI<JComponent> {
private JLabel l = new JLabel("A Label at right corner");
private JPanel rubberStamp = new JPanel();
@Override public void paint(Graphics g, JComponent c) {
super.paint(g, c);
Dimension d = l.getPreferredSize();
int x = c.getWidth() - d.width - 5;
SwingUtilities.paintComponent(g, l, rubberStamp, x, 2, d.width, d.height);
}
}
2
나는 JLabel의/인 JPanel을 추가해야합니다. 프레임의 크기를 조정할 때 탭이있는 창과 레이블/패널이 모두 있어야합니다. 라벨과 탭 패널 내부의 패널은 독립적입니다. 에 해결책이있는 경우 도와주세요.
당신은 사용할 수 있습니다
의 GlassPane
-
,
가능하다면 내가 JLayer을 사용하십시오 for example이 (Java7 필요).
관련 문제
- 1. 레이블이있는 드래그 앤 드롭 패널
- 2. 부트 스트랩 탭이있는 JS- 패널
- 3. CSS를 통해 상단에 레이블이있는 가로 레이아웃을 작성하십시오.
- 4. 기존 패널 탭이있는 새 패널 탭을 동적으로 추가
- 5. 메인 프레임 상단에 겹쳐진 패널
- 6. YUI 도구 설명이 패널 상단에 표시되지 않습니다.
- 7. Ext.js4 - 아래쪽이 아닌 패널 상단에 상자 추가
- 8. 굉장 3.5 - 상단에 두 개의 패널 (wiboxes)
- 9. 막대 상단에 눈금 레이블이있는 jqPlot 가로 막 대형 차트
- 10. Simple_Form 상단에 단일 레이블이있는 여러 입력의 여러 행
- 11. 레이블이있는 라파엘 버튼
- 12. 레이블이있는 SCJP
- 13. 레이블이있는 PieChart
- 14. 탭이있는 jqgrid
- 15. 탭이있는 ViewPager
- 16. 탭이있는 ActionBarSherlock
- 17. 탭이있는 Wrap_content?
- 18. JFrame 레이아웃 문제, 패널 상단에 있어야하지만 중간에 있습니다
- 19. 상단에 스크롤 상단에
- 20. % 및 백분율 * 레이블이있는 ggplot 막대 그래프 *
- 21. 탭이있는 jQuery UI 대화 상자
- 22. 레이블이있는 LDA 사용
- 23. 여러 레이블이있는 문자열 ToCharArray
- 24. 티커의 레이블이있는 세로 슬라이더
- 25. 레이블이있는 TextBox 일치
- 26. 여러 레이블이있는 iOS UIButton
- 27. 레이블이있는 섹션이있는 Android 목록보기
- 28. 레이블이있는 세로 정렬 입력
- 29. 목록보기 레이블이있는 체크 박스
- 30. 레이블이있는 플롯 선
대! Working ... Thanks a lot – Abin
이 레이블에 메뉴 항목을 추가하기 위해이 레이블 ("오른쪽 모서리의 레이블")에 JPopupMenu를 추가하는 방법을 알려주십시오. pleaseee – Abin
'LayerUI # processMouseEvent (MouseEvent e, JLayer l)'을 재정의 (override)하고 싶다면 다음과 같이하면됩니다 :'if (labelRect.contains (pt) && e.isPopupTrigger()) popup.show (tabbedPane, pt .x, pt.y); – aterai