[英]JTree - cannot be cast to javax.swing.tree.MutableTreeNode
[英]class cannot be cast to class javax.swing.tree.DefaultTreeCellRenderer error
public class jtre extends javax.swing.JFrame {
static{
try{
UIManager.setLookAndFeel(NimbusLookAndFeel.class.getName());
}catch (ClassNotFoundException ex){
} catch (InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
Logger.getLogger(jtre.class.getName()).log(Level.SEVERE, null, ex);}}
public jtre() {
initComponents();
jTree1.setCellRenderer(new WarnaRender());
DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)jTree1.getCellRenderer();
Icon closedIcon = new ImageIcon("/images/ve.png");
Icon openIcon = new ImageIcon("/images/veya.png");
Icon leafIcon = new ImageIcon("/images/xor.png");
renderer.setClosedIcon(closedIcon);
renderer.setOpenIcon(openIcon);
renderer.setLeafIcon(leafIcon); }
public class WarnaRender implements TreeCellRenderer{
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
JLabel label = new JLabel();
label.setText(value.toString());
label.setOpaque(true);
if(row %2 == 1){
label.setBackground(Color.RED);
label.setForeground(Color.WHITE);
} else {
label.setBackground(Color.GREEN);
label.setForeground(Color.RED); }
return label;}}
我制作了一個名為 WarnaRender 的 class,用於為 jtree 的每個節點着色。 我的代碼正在運行。 After that I want to add icons to jtree and I encountered an error which is "ClassCastException: class WarnaRender cannot be cast to class javax.swing.tree.DefaultTreeCellRenderer (WarnaRender is in unnamed module of loader 'app'; javax.swing.tree .DefaultTreeCellRenderer 位於加載程序'bootstrap'的模塊 java.desktop)"。 我怎么解決這個問題? 你能幫助我嗎。 我在 İinternet 中調查了此錯誤,但找不到解決方案。 請幫助我的代碼。 謝謝你。
您的 class WarnaRender
不會擴展DefaultTreeCellRenderer
,因此您不能將其轉換為該 class。
所以從它延伸:
public class WarnaRender extends DefaultTreeCellRenderer {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.