Hallo,
ich habe mal folgende Frage:
ich habe mir folgenden Beispielcode angeschaut:
Nun möchte ich folgendes realisieren:
Links der Baum. Der Anwender klickt auf ein Node und rechts dazu erscheint eine Art "Hilfetext". Ähnlich wie bei der Office-Hilfe. Kann mir da jemand helfen?
ich habe mal folgende Frage:
ich habe mir folgenden Beispielcode angeschaut:
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
public class TreeDemo {
public static void main( String[] args ) {
TreeFrame frm = new TreeFrame(
"Tree Demo"
);
frm.setVisible( true );
frm.pack();
}
}
class TreeFrame extends JFrame {
public TreeFrame( String title ) {
super( title );
addWindowListener(
new WindowAdapter() {
public void windowClosing(
WindowEvent ev
) {
System.exit( 0 );
}
}
);
final JFrame frm = this;
Container cp = getContentPane();
// Der Root-Knoten für den Tree
DefaultMutableTreeNode top =
new DefaultMutableTreeNode(
"/"
);
createNodes( top );
final JTree tree = new JTree( top, true );
tree.getSelectionModel().setSelectionMode(
TreeSelectionModel.SINGLE_TREE_SELECTION
);
JScrollPane sp = new JScrollPane( tree );
tree.addTreeSelectionListener(
new TreeSelectionListener() {
public void valueChanged(
TreeSelectionEvent ev
) {
DefaultMutableTreeNode node =
(DefaultMutableTreeNode)
tree.getLastSelectedPathComponent();
if ( node == null ) return;
Object nodeInfo =
node.getUserObject();
System.out.println(
"selektiertes Objekt = " +
node
);
}
}
);
tree.addTreeExpansionListener(
new TreeExpansionListener() {
public void treeCollapsed(
TreeExpansionEvent ev
) {
frm.pack();
}
public void treeExpanded(
TreeExpansionEvent ev
) {
frm.pack();
}
}
);
MouseListener ml = new MouseAdapter() {
public void mousePressed(
MouseEvent ev
) {
if ( ev.getClickCount() != 2 ) {
return;
}
int selRow = tree.getRowForLocation(
ev.getX(), ev.getY()
);
TreePath selPath =
tree.getPathForLocation(
ev.getX(), ev.getY()
);
if ( selRow < 0 ) return;
if ( tree.isCollapsed( selRow ) )
tree.expandRow( selRow );
else tree.collapseRow( selRow );
System.out.println(
"Doppelklick in Zeile = " +
selRow
);
if (
tree.isCollapsed( selRow )
) {
tree.expandRow( selRow );
}
else {
tree.collapseRow( selRow );
}
}
};
tree.addMouseListener( ml );
cp.add( sp );
}
public void createNodes(
DefaultMutableTreeNode top
) {
DefaultMutableTreeNode e =
new DefaultMutableTreeNode( "etc" );
top.add( e );
e.add(
new DefaultMutableTreeNode(
"inittab", false
)
);
DefaultMutableTreeNode n =
new DefaultMutableTreeNode( "usr" );
top.add( n );
n.add(
new DefaultMutableTreeNode( "share" )
);
DefaultMutableTreeNode n1 =
new DefaultMutableTreeNode( "local" );
n.add( n1 );
n1.add(
new DefaultMutableTreeNode( "bin" )
);
n1.add(
new DefaultMutableTreeNode( "lib" )
);
n1.add(
new DefaultMutableTreeNode( "man" )
);
}
}
Nun möchte ich folgendes realisieren:
Links der Baum. Der Anwender klickt auf ein Node und rechts dazu erscheint eine Art "Hilfetext". Ähnlich wie bei der Office-Hilfe. Kann mir da jemand helfen?