이 유형의 게시물은 이전에 처리되었지만 내 코드 구조에 따라 문제가 있습니다.JTable에 JCombo 열 추가
그냥 마지막 열의 모든 행에 JComboBox를 추가하려고합니다. 코드는 다음과 같습니다.
//Return Person objects from a method
ArrayList<Person> people = getPersonList();
String[] columnNames {"Name", "Age", "English Speaker?" };
DefaultTableModel model = new DefaultTableModel();
model.setColumnIdentifiers(columnNames);
JTable table = new JTable(model);
//Create JComboBox for last column (English Speaker?)
JComboBox<Integer> englishCombo = new JComboBox<>();
int count = 1;
//For loop to add each Person to there rows
//Also add a boolean value to determine check box
for(Person p: people)
{
boolean english =false;
if(p.isEnglishSpeaker() == true)
{
english = true;
}
else
{
english = false;
}
questionCombo.addItem(count);
model.addRow(new Object[]{p.getName(), p.getAge(), english);
}
//Get 3rd column (English Speaker)
TableColumn englishColumn = table.getColumnModel().getColumn(2);
//Add JComboBox to English Speaker
englishColumn.setCellEditor(new DefaultCellEditor(englishCombo));
이 코드를 실행하면 JcomboBox가 아닌 3 번째 열에 만 false가 표시됩니다. 누구든지 문제를 파악할 수 있습니까? 감사합니다.
'거짓 부울 = 영어; if (p.isEnglishSpeaker() == true) { english = true; } else { english = false; }'도 쓸 수 있습니다 :'boolean english = p.isEnglishSpeaker();'. 더 간단하거나, 전에 쓰여진 모든 것을 버리고 간단하게 다음을 호출하십시오 :'model.addRow (new object [] {p.getName(), p.getAge(), p.isEnglishSpeaker()); ' –
http://stackoverflow.com/questions/11226926/java-jtable-with-jcombobox/11227034#11227034). –
답장을 보내 주셔서 감사합니다. 나는 그 쉬운 방법으로 바꿨다. (나는 그것을 놓쳤다.) 하지만 여전히 실제 JComboBox가 아니라 false의 true를 반환합니다. 감사합니다. –