시험이 코드를 (어쩌면 내가 탭에 대해 이야기하고있을 때, 나는이 탐색 구성 요소를 참조하는 것이 당신이 구성 요소 자체를 구성 요소가 표시 전환에 대한 클릭 수에 추가해야합니다.) :
public class Tabs extends javax.swing.JFrame {
public Tabs() {
initComponents();
}
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jTabbedPane1 = new javax.swing.JTabbedPane();
jPanel2 = new javax.swing.JPanel();
jPanel3 = new javax.swing.JPanel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setLayout(new java.awt.BorderLayout());
jPanel2.setLayout(new java.awt.BorderLayout());
jTabbedPane1.addTab("tab1", jPanel2);
jPanel3.setLayout(new java.awt.BorderLayout());
jTabbedPane1.addTab("tab2", jPanel3);
jPanel1.add(jTabbedPane1, java.awt.BorderLayout.CENTER);
add(jPanel1);
pack();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Tabs().setVisible(true);
}
});
}
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JTabbedPane jTabbedPane1;
}
얼마나 멀리 갈 의향이 있느냐에 따라 다릅니다. 때로는 겉으로보기에 매우 단순하기 때문에 실제로는 전체 구성 요소를 직접 다시 작성하는 것이 더 쉽습니다 (필자는 쉽지 않다고 말했고, Swing을 수정하려고 시도하는 것보다 쉬웠다 고 말한 것). 예를 들어, OS 네이티브 테이블 표시를 원한다고 상상해보십시오. 여기서 스크롤바는 JTable 헤더를 포함한 ** JTable의 모든 높이를 사용합니다 **. 이것은 스윙 - 애플 리케이션 죽은 공짜입니다. 그것은보기 흉한. 기본적으로 더 멋진 JTable을 다시 작성하는 것 외에는 할 일이별로 없습니다. 말한 당신의 구체적인 경우에 대해서는 아무것도 모릅니다. – SyntaxT3rr0r
예, 재 작성은 기본적으로 (CardLayout을 사용하여) 문제를 해결하기 위해 수행 한 작업이었습니다. 하지만 이제는 실제로 매우 전문적으로 보이지 않으므로 JTabbedPane을 통해 간단한 방법이 있는지 궁금합니다. – kohlehydrat
JPanel의 layoutManager는 무엇입니까? [BorderLayout이 작업에 적합합니다. ] –