/**
* Copyright (c) 2009 Juwi MacMillan Group GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package de.juwimm.swing.domtotree;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.MouseEvent;
import javax.swing.JApplet;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: JuwiMacMillanGroup</p>
* @author Michael Meyer
* @version 1.0
*/
public class TreeApplet extends JApplet {
private Color click, normal;
private TreeModel treemodel;
private TreeAppletSelectionListener treelistener;
private JScrollPane scrollPane = new JScrollPane();
private JTree booktree = new JTree();
private TreeSelectionModel treeSelectionModel1 = new javax.swing.tree.DefaultTreeSelectionModel();
public TreeApplet() {
try {
jbInit();
} catch (Exception e) {
}
}
private void jbInit() {
booktree.setFont(new java.awt.Font("SansSerif", 0, 11));
booktree.setAlignmentX((float) 0.5);
booktree.setSelectionModel(treeSelectionModel1);
booktree.setToggleClickCount(3);
booktree.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
booktreeMouseClicked(e);
}
});
this.getContentPane().add(scrollPane, BorderLayout.CENTER);
scrollPane.getViewport().add(booktree, null);
}
/**
* Set the treemodel for the tree.
*
* @param model The treemodel
* @param c Color when a node is not selected.
* @param n Color when the node is selected.
*/
public void setTreeModel(TreeModel model, Color c, Color n) {
// TreeRenderer r = new TreeRenderer();
click = c;
normal = n;
ColorTreeRenderer r = new ColorTreeRenderer(click, normal);
booktree.setCellRenderer(r);
treemodel = model;
treelistener = new TreeAppletSelectionListener();
booktree.addTreeSelectionListener(treelistener);
booktree.addTreeExpansionListener(treelistener);
booktree.setModel(treemodel);
}
public void setNewTreeModel(String xmlfile) {
}
private void booktreeMouseClicked(MouseEvent e) {
try {
JTree tr = (JTree) e.getSource();
int r = tr.getRowForLocation(e.getX(), e.getY());
TreePath path = tr.getPathForRow(r);
if (path != null) {
MyTreeNode node = (MyTreeNode) tr.getLastSelectedPathComponent();
// node.setCheckBox();
try {
AktColorNode.getColorNode().setColor(normal);
} catch (Exception ex) {
System.out.println("aktnode");
}
node.setColor(click);
tr.repaint();
}
} catch (Exception ex) {
System.out.println("mouse :" + ex.getMessage());
}
}
}