Projektowanie systemów informatycznych
Przykład. Program pozwala wyświetlić zawartość dowolnego pliku w formacie XML w postaci
drzewa.
Szkielet programu dom_tree.java:
1. Import pakietów Javy
• java.io.*, java.util podstawowe pakiety
• java.awt.*,java.awt.event.*, javax.swing.*,
j avax. swing. event. *, j avax. swing. tree. * - pakiety pozwalające stworzyć graficzny interfejs użytkownika
• javax.xml .parsers . *, org.xml.sax.*, org.w3c.dom. * - pakiety umożliwiające parsowanie dokumentu za pomocą parsera DOM
2. Główne fragmenty programu
utworzenie instancji DocumentBuilderFactory DocumentBuilderFactory factory =
| DocumentBuilderFactory.newlnstance(); białe znaki (spacje, tabulatory) zostaną zignorowane przez parser
factory.setlgnoringElementContentWhitespace(true); utworzenie obiektu DocumentBuilder
builder = factory.newDocumentBuilder(); w przypadku wystąpienia błędów zostaną one obsłużone przez metody klasy dom error (implementuje ona interfejs ErrorHandler)
builder.setErrorHandler(new dom_error());
metoda parse zwraca reprezentację dokumentu XML w postaci drzewa, które jest reprezentowane przez obiekt Document
Document doc=builder.parse(f);
klasa dom_tree_model implementuje interfejs TreeModel, którego metody po odpowiednim ich nadpisaniu pozwolą utworzyć drzewo
class dom_tree_model implements TreeModel {
Document document; konstruktor
public dom_tree_model(Document doc)
document=doc;
metoda zwraca korzeń drzewa
public Object getRoot()
return document.getDocumentElement();
}
metoda zwraca liczbę dzieci danego rodzica
public int getChildCount(Object parent)
Michał Bleja
Uniwersytet Łódzki