1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.EventObject;
import javax.swing.DropMode;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.TransferHandler;
import javax.swing.event.CellEditorListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellEditor;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeCellEditor;
import javax.swing.tree.TreeCellRenderer;
import javax.swing.tree.TreePath;
public class Main extends JFrame {
public Main() {
super("Fenetre test");
JButton bouton = new JButton("1");
JButton bouton2 = new JButton("2");
JButton bouton3 = new JButton("3");
JButton bouton4 = new JButton("4");
JButton bouton5 = new JButton("5");
JButton bouton6 = new JButton("6");
ActionListener action = new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog((Component)e.getSource(), e.getSource().toString());
}
};
bouton.addActionListener(action);
bouton2.addActionListener(action);
bouton3.addActionListener(action);
bouton4.addActionListener(action);
bouton5.addActionListener(action);
bouton6.addActionListener(action);
DefaultMutableTreeNode node = new DefaultMutableTreeNode(bouton.getText());
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode(bouton2.getText());
DefaultMutableTreeNode node3 = new DefaultMutableTreeNode(bouton3.getText());
DefaultMutableTreeNode node4 = new DefaultMutableTreeNode(bouton4.getText());
DefaultMutableTreeNode node5 = new DefaultMutableTreeNode(bouton5.getText());
DefaultMutableTreeNode node6 = new DefaultMutableTreeNode(bouton6.getText());
node.add(node2);
node.add(node3);
node2.add(node4);
node3.add(node5);
node3.add(node6);
JTree tree = new JTree(new DefaultTreeModel(node));
tree.setCellRenderer(new TreeCellRenderer(){
@Override
public Component getTreeCellRendererComponent(JTree tree,
Object value, boolean selected, boolean expanded,
boolean leaf, int row, boolean hasFocus) {
// TODO Auto-generated method stub
return new JButton(value.toString());
}
});
tree.setCellEditor(new TreeCellEditor(){
@Override
public Component getTreeCellEditorComponent(JTree tree,
Object value, boolean isSelected, boolean expanded,
boolean leaf, int row) {
// TODO Auto-generated method stub
return new JButton(value.toString());
}
@Override
public void addCellEditorListener(CellEditorListener l) {
// TODO Auto-generated method stub
}
@Override
public void cancelCellEditing() {
// TODO Auto-generated method stub
}
@Override
public Object getCellEditorValue() {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean isCellEditable(EventObject anEvent) {
// TODO Auto-generated method stub
return true;
}
@Override
public void removeCellEditorListener(CellEditorListener l) {
// TODO Auto-generated method stub
}
@Override
public boolean shouldSelectCell(EventObject anEvent) {
return true;
}
@Override
public boolean stopCellEditing() {
return false;
}
});
add(new JScrollPane(tree), BorderLayout.CENTER);
pack();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Main();
}
} |
Partager