1 year ago

#283634

test-img

Moon Light

Adding each node a different color when adding a new node to JTree

Adding each node a different color when adding a new node to JTree.

import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeSelectionModel;

public class jtre extends javax.swing.JFrame {

    public jtre() {
        initComponents();
    }

    private void jButtonAddActionPerformed(java.awt.event.ActionEvent evt) {
        DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) jTree1.getSelectionPath().getLastPathComponent();
        DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(jTextField1.getText());
        selectedNode.add(newNode);
        DefaultTreeModel model = (DefaultTreeModel) jTree1.getModel();
        model.reload();
    }

    private void jTree1MouseClicked(java.awt.event.MouseEvent evt) {
        TreeSelectionModel smd = jTree1.getSelectionModel();
        if (smd.getSelectionCount() > 0) {
            DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) jTree1.getSelectionPath().getLastPathComponent();
            jTextField1.setText(selectedNode.getUserObject().toString());
        }
    }

    private void jButtonEditActionPerformed(java.awt.event.ActionEvent evt) {
        DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) jTree1.getSelectionPath().getLastPathComponent();
        selectedNode.setUserObject(jTextField1.getText());
        DefaultTreeModel model = (DefaultTreeModel) jTree1.getModel();
        model.reload();
    }

    private void jButtonRemoveActionPerformed(java.awt.event.ActionEvent evt) {
        DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) jTree1.getSelectionPath().getLastPathComponent();
        if (selectedNode != jTree1.getModel().getRoot()) {
            DefaultTreeModel model = (DefaultTreeModel) jTree1.getModel();
            model.removeNodeFromParent(selectedNode);
            model.reload();
        }
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new jtre().setVisible(true);
            }
        });
    }
    private javax.swing.JButton jButtonAdd;
    private javax.swing.JButton jButtonEdit;
    private javax.swing.JButton jButtonRemove;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTree jTree1;
}

When the add button is clicked the new node of the tree will be added with a different color. How can I make it?

java

swing

jpanel

jtree

0 Answers

Your Answer

Accepted video resources