2012-12-20 3 views
8

에 가능한 중복 열을 숨기기
How to make a columns in JTable Invisible for Swing Java
How to hide a particlar column in DefaultTableModel from displaying it in table?JTable의

내가 JTable의 세 컬럼에 데이터를 입력하려고하지만, 난 단지 두 개의 열을 표시 할를. 사실, 너비를 0으로 설정하지 않고 세 번째 열을 숨기고 싶지만 클릭 이벤트에서 숨겨진 열의 데이터를 얻을 수있는 다른 방법으로는 숨길 수 있습니다.

어떻게이 방식으로 열을 숨길 수 있습니까? 제로로 열 최소 및 최대 폭을 설정

try { 
    String Title[]= new String{"a","b","c"}; 
    Object obj= new Object[50][3]; 
    JTable table= new JTable(obj,title); 
    JScrollPane jsp= new JScrollPane(table); 
    add(jsp); 
} catch(Exception ex) { 
    ex.printStackTrace(); 
} 
+2

[DefaultTableModel의 특정 열을 테이블에 숨기려면 어떻게해야합니까?] (http://stackoverflow.com/questions/12195973/how-to-hide-a-particlar-column-in-defaulttablemodel -from-displaying-it-in-table) 또는 [이 질문] (http://stackoverflow.com/questions/10088853/could-not-set-the-column-width-to-zero-ie-not-made -column-invisible/10089138 # 10089138) 또는 [this one] (http://stackoverflow.com/questions/8371328/jtable-hide-and-show-columns) 또는 –

+1

[SwingX] (http : // swingx.java.net) : 해당 열의 JXTable/TableColumnExt 지원/visible 열 – kleopatra

+0

가능한 복제본 [Swing Java에서 JTable Invisible에서 열을 만드는 방법] (http://stackoverflow.com/q/1492217/813853). –

답변

24

:

나는 다음과 같은 코드를 사용하고 있습니다. 당신은 또한 removeColumn을 사용할 수있는 코멘트 섹션에서 앤드류 톰슨에 의해 제안 링크로

table.getColumnModel().getColumn(columnIndex).setMinWidth(0); 
table.getColumnModel().getColumn(columnIndex).setMaxWidth(0); 

.

javaDoc에서부터;

public void removeColumn(TableColumn aColumn) 

removeColumn의 열이 JTable의 배열에 aColumn을 제거한다. 참고 :이 메서드는 데이터 열을 모델에서 제거하지 않습니다. 단지 표시 할 책임이있는 TableColumn을 제거합니다. 매개 변수 : - :하지만 개인적으로 JTable의 열을 숨기려면 첫 번째 방법을 사용했다 에 aColumn TableColumn의이

P.S을 제거 할. removeColumn 메서드를 주셔서 감사합니다. 지금부터 사용해 보겠습니다.

+0

@ALJI 모하메드는 여기에 답을 취소 취소하고, 올바르지 않은 행동을 무시하십시오. donw_voter – mKorbel

+1

나는 너비가 설정된 방식을 좋아합니다. 사용자가 실수로 그것을 표시하지 않도록 크기를 조정할 수 있다고 생각 하겠지만 :'table.getColumnModel(). getColumn (columnIndex) .setResizable (false);' – OLL

+0

이것은 실제로'JTable'에서 ID를 가져올 때 도움이됩니다. – Francisunoxx