So, ich glaub eh, ich hab hier totale Wurst verzapft....
Aber wir sollen jedenfalls einen XML-Editor erstellen, der links noch ne TreeView-Komponente hat. Es geht jetzt erstmal nur um die GUI. Mein Menü ist noch nicht fertig, also kann das erstmal außer Acht gelassen werden. Und mein geplanter TreeView ist jetzt auch erstmal nur nen Test. Worauf ich eigentlich hinaus will, ist, dass der links eben nicht angezeigt wird, sondern nur ein ganz schmaler Streifen da ist:
Ich frage mich nun, wie man den denn dann in dem Frame angezeigt bekommen...
Könnte sein, dass der hier:
noch irgendwie mit angegeben werden muss? Ich hab jetzt aber in der API nichts gefunden, was mir weiterhilft...
Aber wir sollen jedenfalls einen XML-Editor erstellen, der links noch ne TreeView-Komponente hat. Es geht jetzt erstmal nur um die GUI. Mein Menü ist noch nicht fertig, also kann das erstmal außer Acht gelassen werden. Und mein geplanter TreeView ist jetzt auch erstmal nur nen Test. Worauf ich eigentlich hinaus will, ist, dass der links eben nicht angezeigt wird, sondern nur ein ganz schmaler Streifen da ist:
Code:
package xmlEditor;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeSelectionModel;
public class GUI
{
JTextArea textArea;
JMenuBar menuBar; JMenu menu; JMenuItem öffnen; JMenuItem speichern;
JTree treeView;
public JMenuBar createMenuBar()
{
menuBar = new JMenuBar();
menu = new JMenu("Datei");
menu.setMnemonic(KeyEvent.VK_A);
menu.getAccessibleContext().setAccessibleDescription(
"The only menu in this program that has menu items");
menuBar.add(menu);
öffnen = new JMenuItem("Öffnen", KeyEvent.VK_T);
öffnen.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_1, ActionEvent.ALT_MASK));
öffnen.getAccessibleContext().setAccessibleDescription(
"This doesn't really do anything");
menu.add(öffnen);
speichern = new JMenuItem("Speichern", KeyEvent.VK_T);
speichern.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_1, ActionEvent.ALT_MASK));
speichern.getAccessibleContext().setAccessibleDescription(
"This doesn't really do anything");
menu.add(speichern);
return menuBar;
}
public JTree createJTree()
{
treeView = new JTree();
DefaultMutableTreeNode parent = new DefaultMutableTreeNode("Color", true);
DefaultMutableTreeNode black = new DefaultMutableTreeNode("Black");
DefaultMutableTreeNode blue = new DefaultMutableTreeNode("Blue");
DefaultMutableTreeNode nBlue = new DefaultMutableTreeNode("Navy Blue");
DefaultMutableTreeNode dBlue = new DefaultMutableTreeNode("Dark Blue");
DefaultMutableTreeNode green = new DefaultMutableTreeNode("Green");
DefaultMutableTreeNode white = new DefaultMutableTreeNode("White");
parent.add(black);
parent.add(blue);
blue.add(nBlue);
blue.add(dBlue);
parent.add(green );
parent.add(white);
JTree tree = new JTree(parent);
treeView.add(tree);
return treeView;
}
public Container createContentPane()
{
JFrame xmlEditor = new JFrame ("XML Editor");
Container inhalt = xmlEditor.getContentPane();
inhalt.setLayout (new BorderLayout() );
int w = Toolkit.getDefaultToolkit().getScreenSize().width;
int h = Toolkit.getDefaultToolkit().getScreenSize().height;
xmlEditor.setSize(w, h);
xmlEditor.setVisible(true);
textArea = new JTextArea();
JScrollPane sptextArea = new JScrollPane();
sptextArea.setViewportView(textArea);
JScrollPane sptreeView = new JScrollPane();
sptreeView.setViewportView(treeView);
inhalt.add(menuBar, BorderLayout.NORTH);
inhalt.add(sptextArea, BorderLayout.CENTER);
inhalt.add(sptreeView, BorderLayout.WEST);
return xmlEditor;
}
private static void createAndShowGUI()
{
//Create and set up the window.
JFrame xmlEditor = new JFrame("XML Editor");
xmlEditor.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
GUI demo = new GUI();
xmlEditor.setJMenuBar(demo.createMenuBar());
xmlEditor.setContentPane(demo.createContentPane());
}
public static void main(String[] args)
{
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
createAndShowGUI();
}
});
}
}
Ich frage mich nun, wie man den denn dann in dem Frame angezeigt bekommen...
Könnte sein, dass der hier:
Code:
//Create and set up the content pane.
GUI demo = new GUI();
xmlEditor.setJMenuBar(demo.createMenuBar());
xmlEditor.setContentPane(demo.createContentPane());