public class LayerPanelNode extends DefaultMutableTreeNode { public static class LayerCellEditor extends AbstractCellEditor implements TreeCellEditor, ActionListener, MouseListener { private LayerPanel layerpanel; private Object value; public LayerCellEditor(String layerName) { layerpanel=new LayerPanel(layerName); layerpanel.getNameLabel().addMouseListener(this); } public Object getCellEditorValue(){ return layerpanel; } public void actionPerformed(ActionEvent e){//this is not called in my code layerpanel = (LayerPanel) value; System.out.println("Pressed: " ); stopCellEditing(); } public Component getTreeCellEditorComponent(JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row){ layerpanel = (LayerPanel)value; layerpanel.getNameLabel().setText(value.toString()); return layerpanel; } public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub System.out.println("Pressed: " ); } public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub } public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub } public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub String val = value.toString(); JOptionPane.showInputDialog("GFDGD"); JOptionPane.showInputDialog ("Clicked: " + val); stopCellEditing(); } public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } public void addCellEditorListener(CellEditorListener arg0) { // TODO Auto-generated method stub } public void cancelCellEditing() { // TODO Auto-generated method stub } public boolean isCellEditable(EventObject arg0) { // TODO Auto-generated method stub return false; } public void removeCellEditorListener(CellEditorListener arg0) { // TODO Auto-generated method stub } public boolean shouldSelectCell(EventObject arg0) { // TODO Auto-generated method stub return false; } public boolean stopCellEditing() { // TODO Auto-generated method stub return false; } } public static class LayerCellRenderer extends JLabel implements TreeCellRenderer { private LayerPanel layerpanel; public LayerCellRenderer(String layerName){ //super(new BorderLayout()); layerpanel=new LayerPanel(layerName); layerpanel.nameLabel.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent e) { JOptionPane.showInputDialog("GFDGD"); System.out.println("1111111111"); } @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub } }); //add(layerpanel ,BorderLayout.EAST); } public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus){ //super.getTreeCellRendererComponent(tree, value, sel,expanded, leaf, row,hasFocus); layerpanel.getNameLabel().setText(value.toString());// i think value is layerPanel object if (leaf) { JLabel label =new JLabel(layerpanel.getNameLabel().getText()); label.setIcon(Utilities.loadResourceImageIcon("eye.png")); return label; } return layerpanel; } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)