0
xml에서 사용자 데이터를로드하여 트리 모델을 만들기 위해 app을 만들고 싶습니다. 트리에서 데이터를 선택하고 아이콘을 설정하는 옵션이 있습니다. .사용자 당 트리 노드에 대한 아이콘을 동적으로 설정합니다.
내가 성공적으로 XML 파일에서 데이터를로드 할 수 있지만, 문제는 내가 나무 여기
의 모든 노드에 대해 서로 다른 아이콘을 설정할 수 있습니다 내가
public class DefaultTreeRenderer extends DefaultTreeCellRenderer {
private static final long serialVersionUID = 1L;
private Icon userIcon;
private int getSelecteRow;
public DefaultTreeRenderer(String IconPath,int selected) throws IOException {
Image img = ImageIO.read(new File(IconPath)) ;
Image newimg = img.getScaledInstance(28, 28, java.awt.Image.SCALE_SMOOTH) ;
Icon x = new ImageIcon(newimg);
userIcon= x;
getSelecteRow = selected;
}
@Override
public Component getTreeCellRendererComponent(
JTree tree,
Object value,
boolean sel,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus) {
JLabel label = (JLabel) super.getTreeCellRendererComponent(
tree, value, sel,
expanded, leaf, row,
hasFocus);
if (?!!!) {
// This's the missing part, what should i state to set per row icon ?
label.setIcon(tutorialIcon);
label.setText(label.getText()+" √");
} else{
}
return label;
}
}
한 테스트 코드 방법은 다음과 같습니다
try {
jTree1.setCellRenderer(new DefaultTreeRenderer(iconPathTextBox.getText(),jTree1.getMinSelectionRow()));
} catch (IOException ex) {
Logger.getLogger(frame.class.getName()).log(Level.SEVERE , null , ex);
}
[JTree : 개별 그룹에 대해 사용자 정의 열림/닫힘 아이콘 설정] (http://stackoverflow.com/questions/14096725/jtree-set-custom-open-closed-icons-for-individual)의 접근 방식을 시도해보십시오. -여러 떼). – trashgod
도와 줘서 고맙다는 trashgod. jtree 에있는 모든 데이터 조각에 대해 Map을 작성하여이 문제를 해결할 수있었습니다. userObject가 map 키와 같은지 확인한 다음 키 값 (아이콘)을 가져 와서 setIcon을 확인합니다. – Nemotatu
[자신의 질문에 답할 수 있습니다] (http://meta.stackexchange.com/q/17463/163188). – trashgod