GUI 응용 프로그램에서 JTable
을 만들고 행을 추가하고 행을 제거하고 추가 및 제거 버튼을 사용하고 싶습니다. 문제는 내가 원하는 행을 제거 할 때입니다. 선택한 행 인덱스는 getSelectedRow()
메서드를 호출 할 때 NullPointerException
이되었습니다. 나는 그것을 시도하고 내 질문에 답변을 찾지 못했습니다 또한 자바 문서를 읽으려고했지만이 방법은 평소에 그 예외를 포기하지 않는 것으로 나타났습니다.JTable에서 행을 제거 할 때의 문제
코드 :
// creating the table
JTable table = new JTable(model);
model.addColumn("NO.");
model.addColumn("Name");
model.addColumn("Status");
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.setRowSelectionAllowed(true);
table.setShowGrid(false);
table.getColumnModel().getColumn(0).setPreferredWidth(28);
table.getColumnModel().getColumn(1).setPreferredWidth(222);
table.getColumnModel().getColumn(2).setPreferredWidth(100);
table.setBackground(color);
table.setPreferredScrollableViewportSize(new Dimension(350,250));
table.setFillsViewportHeight(true);
scroll = new JScrollPane(table);
center.add(scroll);
// adding records to it
public class AddEvent implements ActionListener{
public void actionPerformed (ActionEvent event){
String text = write.getText();
if (!text.equals("") && !text.contains(" ")){
String view = "http://www." + text;
write.setText(null);
model.addRow(new Object[]{model.getRowCount()+1, view,"Active"});
}
}
}
// to remove the selected row
public class RemoveEvent implements ActionListener{
public void actionPerformed (ActionEvent event){
int index = table.getSelectedRow(); // it throws the exception here
table.clearSelection();
System.out.println(index);
if(index != -1){
table.remove(index);
}
}
}
1) 빨리 더 나은 도움이 필요한 경우는,을 게시 어딘가에 당신은 아마 클래스 변수를 정의 [SSCCE] (http://sscce.org/). 2)'TableModel'을 변경하는 것이 더 좋습니다. 테이블 자체는 그대로 두십시오. –