Netbeans의 디자인 모드에서 만든 JTable이 있습니다. 내 코드에서 나는 시작에 다음 코드 줄을 배치를 선택했다 :JTable 셀에 이미지를 추가하는 방법은 무엇입니까?
model = new TableModel();
tbShares.setAutoCreateColumnsFromModel(false);
tbShares.setModel(model);
tbShares
내 JTable의 개체입니다.
내 JTable에 포함 된 JFrame의
은 다음과 같다 : 그 화상을 표시 할 수 있도록첫 번째 열, Object
형 (다른 두 문자열 임)로 설정 하였다. 이 코드는 이미지를로드하기 위해 입력 한 코드이지만 작동하지 않습니다 (list.add
부분, 나머지는 내 코드가 어떻게 구성되어 있는지에 대한 통찰력을 제공하는 것입니다). 이것은 AbstractTableModel
의 확장입니다.
public void addRegister(String status, String name, String clients){
ImageIcon activeStatus = new ImageIcon(CleanSheets.class.getResource("res/img/active.png"));
ImageIcon inactiveStatus = new ImageIcon(CleanSheets.class.getResource("res/img/inactive.png"));
list.add(new Register((status.equals("true") ? activeStatus : inactiveStatus), name, clients));
this.fireTableDataChanged();
}
class Register{
Object status;
String name;
String clients;
public Register(Object status, String name, String clients) {
this.status = status;
this.name = name;
this.clients = clients;
}
}
아마도 내가 지정한 폴더에서 이미지를 가져 오지만 실제로 이미지 대신 해당 열에 텍스트를 출력하는 것일 것입니다. 올바른 이미지를 표시하려면 어떻게해야합니까? 고맙습니다.
좋아 형식을 변경하지 않을 경우 렌더러를 사용하지 않는, 나는 로컬 변수로 사람들을 넣었습니다. fireTableRowsInserted()는 행과 열을 요청합니다. 삽입 된 현재 행과 열은 어떻게 가져 옵니까? 그리고 ImageIcon에 관해서는, 나는 그 부분에서 길을 잃었습니다. 공유 아이콘을 업데이트해야하기 때문에 공유가 활성화/비활성화되면 이미지가 변경됩니다. – swiftcode
API를 읽었습니까? 아닙니다. [this.fireTableRowsInserted (data.size() - 1, data.size() - 1);] (http://stackoverflow.com/a/6901508/714968) – mKorbel
예, 구현은 벡터를 사용하여 데이터를 저장합니다. 데이터는 내 것과 관련이 없습니다. 나는 이것을 가지고 해냈다 .fireTableRowsInserted (tbShares.getRowCount(), tbShares.getColumnCount()); 그러나 그것은 내 목표가 아닙니다. 단지 이미지를 보여주고 싶습니다. – swiftcode