Results 1 to 1 of 1
Thread: TreeEditor Demonstration
-
TreeEditor Demonstration
Java Code:import org.eclipse.swt.SWT; import org.eclipse.swt.custom.*; import org.eclipse.swt.events.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; /** * This class demonstrates TreeEditor */ public class TextTreeEditor { // Constant for how many items to create at each level private static final int NUM = 3; /** * Runs the //Send questions, comments, bug reports, etc. to the authors: //Rob Warner (rwarner@interspatial.com) //Robert Harris (rbrt_harris@yahoo.com)application */ public void run() { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Text Tree Editor"); createContents(shell); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } /** * Creates the contents of the main window * * @param shell the main window */ public void createContents(Shell shell) { shell.setLayout(new FillLayout()); // Create the tree final Tree tree = new Tree(shell, SWT.SINGLE); // Fill the tree with data for (int i = 0; i < NUM; i++) { TreeItem iItem = new TreeItem(tree, SWT.NONE); iItem.setText("Item " + (i + 1)); for (int j = 0; j < NUM; j++) { TreeItem jItem = new TreeItem(iItem, SWT.NONE); jItem.setText("Sub Item " + (j + 1)); for (int k = 0; k < NUM; k++) { new TreeItem(jItem, SWT.NONE).setText("Sub Sub Item " + (k + 1)); } jItem.setExpanded(true); } iItem.setExpanded(true); } // Create the editor and set its attributes final TreeEditor editor = new TreeEditor(tree); editor.horizontalAlignment = SWT.LEFT; editor.grabHorizontal = true; // Add a key listener to the tree that listens for F2. // If F2 is pressed, we do the editing tree.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent event) { // Make sure one and only one item is selected when F2 is pressed if (event.keyCode == SWT.F2 && tree.getSelectionCount() == 1) { // Determine the item to edit final TreeItem item = tree.getSelection()[0]; // Create a text field to do the editing final Text text = new Text(tree, SWT.NONE); text.setText(item.getText()); text.selectAll(); text.setFocus(); // If the text field loses focus, set its text into the tree // and end the editing session text.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent event) { item.setText(text.getText()); text.dispose(); } }); // If they hit Enter, set the text into the tree and end the editing // session. If they hit Escape, ignore the text and end the editing // session text.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent event) { switch (event.keyCode) { case SWT.CR: // Enter hit--set the text into the tree and drop through item.setText(text.getText()); case SWT.ESC: // End editing session text.dispose(); break; } } }); // Set the text field into the editor editor.setEditor(text, item); } } }); } /** * The application entry point * * @param args the command line arguments */ public static void main(String[] args) { new TextTreeEditor().run(); } }"The sole cause of man’s unhappiness is that he does not know how to stay quietly in his room." - Blaise Pascal
Similar Threads
-
SWT List Example Demonstration
By Java Tip in forum SWTReplies: 0Last Post: 07-02-2008, 08:03 PM -
Demonstration of drawing an Arc in SWT
By Java Tip in forum SWTReplies: 0Last Post: 06-28-2008, 09:24 PM -
TreeCellRenderer Demonstration
By Java Tip in forum javax.swingReplies: 0Last Post: 06-27-2008, 07:41 PM -
JToggleButton Demonstration
By Java Tip in forum javax.swingReplies: 0Last Post: 06-26-2008, 07:38 PM -
Ftp client demonstration
By Java Tip in forum java.netReplies: 0Last Post: 04-07-2008, 08:11 PM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks