webForumDet fria alternativet

Lägga till mer än ett JTree

2 svar · 313 visningar · startad av Re-JeeP

Re-JeePMedlem sedan sep. 200642 inlägg
#1

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
#2

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
#3

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);
	}
}
132 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)