웨어 하우스의 데이터베이스와 상호 작용할 GUI 인터페이스를 만들고 있습니다. 응용 프로그램은 항목을 데이터베이스에 추가하고 업데이트하고 표시해야합니다. 데이터베이스에 테이블이 있고 각 테이블에 대해 JPanel을 만들어 카드 레이아웃에 넣으므로 JMenu 항목으로 탐색 할 수 있습니다. 각 JPanel은 동일한 양식을가집니다. 맨 위에는 텍스트 필드, 콤보 상자 등이있는 상자가있어 테이블에 항목을 추가합니다. 상자 아래에 1 행이있는 JTable이 있고 그 아래에 JScrollPane에있는 JTable이있어 테이블의 내용을 표시합니다. 각 열은 마지막 너비 (너비 = 100, 수정을 위해 JButton을 포함)를 제외하고 너비가 150이어야합니다. 첫 번째 JTable을 필터로 사용합니다 (예 : 첫 번째 열에 '1'이 포함 된 경우 두 번째 JTable은 '1'로 시작하는 ID가있는 항목 만 표시 함). 다른 JPanels에 대한 정확한 레이아웃을 선택하는 방법을 모르겠습니다. 잠시 동안 각 JPanel에는 BorderLayout이 있고 각 구성 요소는 가운데에 배치됩니다. 그러나 문제는 각 열의 너비를 선택할 수 없다는 것입니다.JTable 너비 레이아웃
0
A
답변
0
글쎄, 마침내 나는 내 자신의 문제를 해결했습니다. 사실 JTable을 JPanel에, JPanel을 JScrollPane에 넣어야합니다. 여기에 코드가 있습니다 :
public class Brouillon extends JFrame {
public Brouillon() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel jpContent = new JPanel();
JPanel jpCards = new JPanel();
jpContent.setLayout(new BoxLayout(jpContent, BoxLayout.PAGE_AXIS));
CardLayout clSelect = new CardLayout();
jpCards.setLayout(clSelect);
JButton jbTest = new JButton();
jbTest.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
clSelect.next(jpCards);
}
});
jpContent.add(jbTest);
JPanel jpContainer1 = new JPanel();
JTable jtData1 = new JTable(new Object[2][3], new String[] {"1", "2", "3"});
jtData1.getColumnModel().getColumn(0).setPreferredWidth(150);
jtData1.getColumnModel().getColumn(1).setPreferredWidth(150);
jtData1.getColumnModel().getColumn(2).setPreferredWidth(50);
JPanel jpTemp1 = new JPanel();
jpTemp1.setLayout(new BorderLayout());
jpTemp1.add(jtData1.getTableHeader(), BorderLayout.NORTH);
jpTemp1.add(jtData1, BorderLayout.CENTER);
JScrollPane jspData1 = new JScrollPane(jpTemp1);
jpContainer1.add(jspData1);
JPanel jpContainer2 = new JPanel();
JTable jtData2 = new JTable(new Object[2][7], new String[] {"1", "2", "3", "4", "5", "6", "7"});
jtData2.getColumnModel().getColumn(0).setPreferredWidth(150);
jtData2.getColumnModel().getColumn(1).setPreferredWidth(150);
jtData2.getColumnModel().getColumn(2).setPreferredWidth(150);
jtData2.getColumnModel().getColumn(3).setPreferredWidth(150);
jtData2.getColumnModel().getColumn(4).setPreferredWidth(150);
jtData2.getColumnModel().getColumn(5).setPreferredWidth(150);
jtData2.getColumnModel().getColumn(6).setPreferredWidth(50);
JPanel jpTemp2 = new JPanel();
jpTemp2.setLayout(new BorderLayout());
jpTemp2.add(jtData2, BorderLayout.CENTER);
jpTemp2.add(jtData2.getTableHeader(), BorderLayout.NORTH);
JScrollPane jspData2 = new JScrollPane(jpTemp2);
jpContainer2.add(jspData2);
jpCards.add(jpContainer2);
jpCards.add(jpContainer1);
jpContent.add(jpCards);
this.getContentPane().add(jpContent);
this.pack();
this.setVisible(true);
}
public static void main(String[] args) {
new Brouillon();
}
}
0
jTable의 경우 열 크기를 설정할 수 있습니다. 아마도 아래의 예가 도움이 될 수 있습니다. 이것이 당신이 찾고있는 것이라면 알려주세요!
TableColumn column = null;
for (int i = 0; i < 3; i++) {
column = table.getColumnModel().getColumn(i);
if (i == 2) {
column.setPreferredWidth(100); //sport column is bigger
} else {
column.setPreferredWidth(50);
}
}
관련 문제
- 1. Jtable 보유 열 너비
- 2. JTable 열 너비 자동 조절
- 3. Android, 레이아웃 화면 너비
- 4. 가변 너비 버튼 레이아웃
- 5. Android 최소 너비 레이아웃
- 6. SWT 눈금 레이아웃 너비
- 7. 고정 너비 페이지 레이아웃
- 8. 레이아웃 너비 css
- 9. CSS를 사용하여 유체 너비 레이아웃
- 10. 레이아웃 파일의 최대 TextView 너비
- 11. 너비 열 테이블 레이아웃 동적으로
- 12. CSS 레이아웃, 다양한 열 너비
- 13. 안드로이드 레이아웃, 잘못된 너비 만들기
- 14. Android 레이아웃 높이 및 너비
- 15. SearchView 제안 - 레이아웃 너비 : match_parent
- 16. Android 이미지 너비 채우기 레이아웃
- 17. Android 표 레이아웃 너비 prob
- 18. 스윙 레이아웃 문제 - JTable 및 JTree
- 19. 부트 스트랩 3 고정 너비 레이아웃, 전체 너비 바닥 글
- 20. JTable 내부의 JTable 내부 JTable
- 21. CListCtrl (아이콘보기)에서 너비/레이아웃 제어하기
- 22. 3 열 레이아웃 자동 중간 열 너비
- 23. jQuery 추가 유연한 너비 CSS 레이아웃
- 24. Xcode 6 자동 레이아웃 유연한 너비
- 25. Twitter 부트 스트랩 레이아웃 너비 숨김 요소
- 26. UISearchBar 너비 애니메이션 및 자동 레이아웃
- 27. IE()에서 고정 너비 레이아웃 나누기
- 28. 2 열, 위쪽 맞춤, 고정 너비 레이아웃
- 29. 사진 : wrap_content,하지만 max_width = 레이아웃 너비
- 30. 닫을 때 JQuery 레이아웃 고정 너비
나는 또한 그것을 사용했습니다. 그러나 스크롤 창에 테이블을 넣으면 효과가 나타나지 않습니다. 그리고 테두리 레이아웃의 중심에 놓으면, jframe의 장소. – ardayigit
이 게시물을 확인해 주시겠습니까? http://stackoverflow.com/questions/953972/java-jtable-setting-column-width – Sirsendu
내 문제를 해결하지 못합니다 ... – ardayigit