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?
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?