簡體   English   中英

class 無法轉換為 class javax.swing.tree.DefaultTreeCellRenderer 錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM