Hallo Leute,
brauche eure hilfe! ich versuche das programm zum xmltreeview.java umzuschreiben...
will das es gerne als JApplet umschreiben
brauche bei dem umschreiben von Jframe zu Japplet hilfe: Was mache ich hier falsch ?
hab das versucht und applet wird geladen, aber es wird noch ein extra Jframe geladen mit dem xmltreeview, jedoch will ich das alles in nur im Applet geladen wird!!
Kann mir jemand helfen?
lg
Melissa
brauche eure hilfe! ich versuche das programm zum xmltreeview.java umzuschreiben...
will das es gerne als JApplet umschreiben
brauche bei dem umschreiben von Jframe zu Japplet hilfe: Was mache ich hier falsch ?
hab das versucht und applet wird geladen, aber es wird noch ein extra Jframe geladen mit dem xmltreeview, jedoch will ich das alles in nur im Applet geladen wird!!
Kann mir jemand helfen?
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Event.*;
import java.io.*;
import javax.swing.tree.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import com.sun.org.apache.xerces.internal.parsers.SAXParser;
public class XMLTreeView extends JApplet{
private SAXTreeBuilder saxTree = null;
private static String file = "";
public void start(){
JFrame frame = new JFrame("XMLTreeView: [test.xml ]");
frame.setSize(400,400);
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
file = "test.xml";
new XMLTreeView();
}
//public static void main(String args[]){}
public XMLTreeView(){
JFrame frame = new JFrame();
frame.getContentPane().setLayout(new BorderLayout());
DefaultMutableTreeNode top = new DefaultMutableTreeNode(file);
// DefaultMutableTreeNode top = new DefaultMutableTreeNode("XML Document");
saxTree = new SAXTreeBuilder(top);
try {
SAXParser saxParser = new SAXParser();
saxParser.setContentHandler(saxTree);
saxParser.parse(new InputSource(new FileInputStream(file)));
}catch(Exception ex){
top.add(new DefaultMutableTreeNode(ex.getMessage()));
}
JTree tree = new JTree(saxTree.getTree());
JScrollPane scrollPane = new JScrollPane(tree);
frame.getContentPane().add("Center",scrollPane);
frame.setVisible(true);
}
}
class SAXTreeBuilder extends DefaultHandler{
private DefaultMutableTreeNode currentNode = null;
private DefaultMutableTreeNode previousNode = null;
private DefaultMutableTreeNode rootNode = null;
public SAXTreeBuilder(DefaultMutableTreeNode root){
rootNode = root;
}
public void startDocument(){
currentNode = rootNode;
}
public void endDocument(){
}
public void characters(char[] data,int start,int end){
String str = new String(data,start,end);
if (!str.equals("") && Character.isLetter(str.charAt(0)))
currentNode.add(new DefaultMutableTreeNode(str));
}
public void startElement(String uri,String qName,String lName,Attributes atts){
previousNode = currentNode;
currentNode = new DefaultMutableTreeNode(lName);
// Add attributes as child nodes //
attachAttributeList(currentNode,atts);
previousNode.add(currentNode);
}
public void endElement(String uri,String qName,String lName){
if (currentNode.getUserObject().equals(lName))
currentNode = (DefaultMutableTreeNode)currentNode.getParent();
}
public DefaultMutableTreeNode getTree(){
return rootNode;
}
private void attachAttributeList(DefaultMutableTreeNode node,Attributes atts){
for (int i=0;i<atts.getLength();i++){
String name = atts.getLocalName(i);
String value = atts.getValue(name);
node.add(new DefaultMutableTreeNode(name + " = " + value));
}
}
}
Melissa
Zuletzt bearbeitet von einem Moderator: