Re-JeePMedlem sedan sep. 200642 inlägg Hej!
Jag har gjort ett eget träd över mappar på en hårddisk genom att extenda JTree.
Jag har gjort en testklass för att lägga till träd i en JFrame.
Problemet är att om jag lägger till mer än ett träd så överskrids dom jag har lagt till innan.
Testklassen:
import javax.swing.*;
import java.io.*;
import java.awt.Dimension;
public class test extends JFrame
{
public static void main(String[] args)
{
new test();
}
public test()
{
FolderTree tree = new FolderTree("/");
FolderTree tree2 = new FolderTree("/home/");
JScrollPane scrollpane = new JScrollPane();
add(scrollpane);
scrollpane.setPreferredSize(new Dimension(250, 450));
scrollpane.getViewport().add(tree);
scrollpane.getViewport().add(tree2);
add(scrollpane);
setVisible(true);
setSize(300, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
LimeMedlem sedan sep. 2001961 inlägg Men snälla... läs API:et...
"A container class which implements automatic horizontal and/or vertical scrolling for a single child component." (http://java.sun.com/javase/6/docs/api/java/awt/ScrollPane.html)
Men det går bra att lägga träden på en panel och lägga till panelen...
Re-JeePMedlem sedan sep. 200642 inlägg
Lime skrev:
Men snälla... läs API:et...
"A container class which implements automatic horizontal and/or vertical scrolling for a single child component." (http://java.sun.com/javase/6/docs/api/java/awt/ScrollPane.html)
Förstår inte hur jag kunde missa det... :q
Edit *
Eller jo... Det gör jag!
Läste här: http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JScrollPane.html
Jag löste det med JPanel! Tack för hjälpen!
import javax.swing.*;
import java.io.*;
import java.awt.*;
public class test extends JFrame
{
public static void main(String[] args)
{
new test();
}
public test()
{
FolderTree tree = new FolderTree("/");
FolderTree tree2 = new FolderTree("/home/");
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2, 1));
panel.add(tree);
panel.add(tree2);
JScrollPane scrollpane = new JScrollPane();
add(scrollpane);
scrollpane.setPreferredSize(new Dimension(250, 450));
scrollpane.getViewport().add(panel);
add(scrollpane);
setVisible(true);
setSize(300, 500);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}