PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Java:Swing] Probleme mit den Sizes



Sym
13-03-2004, 16:51
Hallo,

ich bekomme immer wieder ein Problem mit den Sizes von irgendwelchen JComponents. Irgendwie passen sich einige Komponenten nicht an die Größe des Panels an, in das diese Komponente eingebettet wurde.
Beispiel:

package HysteresisMeasurement.gui;

import javax.swing.*;

/* Copyright (C) 2003
...blabla...
GNU LESSER GENERAL PUBLIC LICENSE
*/

public class PreferencesFrame extends JFrame{

//window preferences
int width = 400;
int height = 480;
int screenwidth = getToolkit().getScreenSize().width;
int screenheight = getToolkit().getScreenSize().height;

//tabbedPane
private JTabbedPane tabbedPane = new JTabbedPane();

//Panels
private PlugInPanel plugInPanel = new PlugInPanel();

//JScrollPanes
private JScrollPane jspSystemPanel = new JScrollPane();
private JScrollPane jspUserPanel = new JScrollPane();
private JScrollPane jspPlugInPanel = new JScrollPane(plugInPanel);

public PreferencesFrame() {

this.setSize(width,height);
this.setLocation((screenwidth-width)/2,(screenheight-height)/2);
this.setTitle("Preferences");

this.getContentPane().add(this.tabbedPane);

this.tabbedPane.add(this.jspSystemPanel);
this.tabbedPane.add(this.jspUserPanel);
this.tabbedPane.add(this.jspPlugInPanel);

this.tabbedPane.setTitleAt(0, "System");
this.tabbedPane.setTitleAt(1, "User");
this.tabbedPane.setTitleAt(2, "PlugIns");

}//constructor PreferencesFrame()

//--- internal classes -----------------------------------------------------

class PlugInPanel extends JPanel {

private JTextField topic = new JTextField();

public PlugInPanel() {

this.add(this.topic);
topic.setEditable(false);
this.topic.setText("test................,.");

}//constructor PlugInPanel()
}//class PlugInPanel
}//class


Ich möchte nun, dass das JTextField an die Größe des Panels angepasst wird. Die sollte dann angepasst werden auf die Größe des JScrollPane.

Die ScrollPane ist auf jeden Fall an die TabbedPane angepasst (sieht man). Den Text bekomme ich aber nicht "raufgezoomt". Irgendwas verstehe ich nicht. Habe schon getPreferredSize() bzw. getSize() auf topic bzw. auf das PlugInPanel angewandt. Leider ohne Erfolg.

Weiß jemand Rat?

Sym
14-03-2004, 19:36
Hallo,

habe ich was verbrochen oder sind meine Fragen nicht ganz klar. Habt ihr diese Probleme nicht? Vielleicht denken die, welche eine Antwort wüssten, ja auch, dass dieses Problem zu trivial ist und ich mich mehr mit lesen beschäftigen sollte?

Leider finde ich immernoch keine Lösung zu meinem Problem.

Sym
15-03-2004, 20:36
Endlich habe ich sie.

Ich habe schon einmal die Tipp bzgl. Layoutnutzung bekommen. Das wars dann auch. Allerdings muss man für jede implementierte Komponente ein Layout definieren. Ich hatte es immer nur für die innerste Komponente gemacht.

Dann klappt es auch mit dem Nachbarn...