Hi,
Ich habe den Code von Sun ausprobiert, wo ein JTreeTable dargestellt wird.
http://java.sun.com/products/jfc/tsc/articles/treetable1/
Ich habe eine Testklasse geschrieben, die auf einem Knopfdruck den Tree zeichnet und auf einem anderen Knopfdruck löscht. Das Problem ist, dass der Tree immer dieselbe Dimension hat, kann ich den nicht größer machen. Ich füge hier meine Klassen ein, die anderen benötigten Klassen sind von den Link zu kriegen ( die imports com.sun durch javax ersetzen)
Bitte Hilfe, ich habe schon eine Woche mit dem Tree verloren!!
Ich habe den Code von Sun ausprobiert, wo ein JTreeTable dargestellt wird.
http://java.sun.com/products/jfc/tsc/articles/treetable1/
Ich habe eine Testklasse geschrieben, die auf einem Knopfdruck den Tree zeichnet und auf einem anderen Knopfdruck löscht. Das Problem ist, dass der Tree immer dieselbe Dimension hat, kann ich den nicht größer machen. Ich füge hier meine Klassen ein, die anderen benötigten Klassen sind von den Link zu kriegen ( die imports com.sun durch javax ersetzen)
Bitte Hilfe, ich habe schon eine Woche mit dem Tree verloren!!
Code:
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class TreeTableFrame extends JFrame implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 6709164139621728165L;
private JPanel jpHaupt;
private JPanel jpTasten;
private JPanelTree jpTree;
private JButton jbCreate;
private JButton jbLoeschen;
public TreeTableFrame()
{
super();
try{
FrameInit();
pack();
}
catch(Exception ex){
ex.printStackTrace();
}
}
private void FrameInit()
{
jpHaupt = new JPanel();
jpTasten = new JPanel();
jpHaupt.setLayout(new GridBagLayout());
jpHaupt.setBackground(Color.BLUE);
jpTasten.setLayout(new GridBagLayout());
jpTree = new JPanelTree();
getContentPane().add(jpHaupt);
jpHaupt.add(jpTree, new GridBagConstraints(0, 0, 2, 1, 0.3, 0.3
,GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(3, 6, 6, 6), 0, 3));
jpHaupt.add(jpTasten, new GridBagConstraints(0, 1, 2, 1, 0.0, 0.0
,GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(6, 6, 3, 3), 0, 0));
PopulateTasten();
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
public void PopulateTasten()
{
Font fontArial15 = new Font("Arial", 0, 20);
jbLoeschen = new JButton("Loeschen");
jbCreate = new JButton("Create");
jbLoeschen.setFont(fontArial15);
jbCreate.setFont(fontArial15);
jbLoeschen.addActionListener(this);
jbCreate.addActionListener(this);
jpTasten.add(jbLoeschen, new GridBagConstraints(0, 0, 1, 1, 0.5, 1.0
,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 50, 0));
jpTasten.add(jbCreate, new GridBagConstraints(1, 0, 1, 1, 0.5, 1.0
,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(2, 2, 2, 2), 0, 0));
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String cmd = e.getActionCommand ();
if ( cmd.equals ("Create")){
jpTree.DrawTree();
pack();
}else{
jpTree.DeleteTree();
pack();
}
}
}
Code:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
public class JPanelTree extends JPanel {
JTreeTable treeTable = new JTreeTable(new FileSystemModel());
JScrollPane scrollTree;
public JPanelTree ()
{
super();
}
public void DrawTree()
{
treeTable.setBounds(0, 0, 800, 600);
scrollTree = new JScrollPane(treeTable);
scrollTree.setBackground(Color.RED);
this.add(scrollTree, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0
,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(3, 6, 6, 6), 0, 3));
Graphics g = this.getGraphics();
this.paint(g);
}
public void DeleteTree()
{
this.remove(scrollTree);
Graphics g = this.getGraphics();
System.out.println("add tree");
this.paint(g);
}
}