D
DuenenTuessy
Gast
Hallo zusammen,
ich habe folgendes Problem, welches ich nicht verstehe. Ich habe gestern schon den ganzen Tag danach gesucht, aber irgendwie keien Lösung gefunden.
Wenn man das Beispiel ausführt sieht man dasss, die zweio Textfelder sehr klein sind, obwohl genü+gend Platz ist. Maximiert man das Fenster so werden sie so groß wie ich mir es vorstelle. Das komische ist, sie werden nicht groß wenn ich das Fenster nach unten ziehe und nicht wenn ich es in die Breite ziehe.
Irgendwo gab es die Lösung setMinimumSize zu benutzen, aber auch dann verhält es sich komisch. Wenn ich diese setze, macht er es bei dem kleinen Fenster, aber wenn ich es maximiere, wird es komischerweise kleiner...
Übersehe ich da irgendetwas?
Wenn ich übrigens in das ScrollPane eine Textarea eingefügt habe hat alles funktioniert, es muss also irgendwie an der Tabelle liegen...
Ich hoffe mir kann jemand helfen.
Grüße Nicole
ich habe folgendes Problem, welches ich nicht verstehe. Ich habe gestern schon den ganzen Tag danach gesucht, aber irgendwie keien Lösung gefunden.
Wenn man das Beispiel ausführt sieht man dasss, die zweio Textfelder sehr klein sind, obwohl genü+gend Platz ist. Maximiert man das Fenster so werden sie so groß wie ich mir es vorstelle. Das komische ist, sie werden nicht groß wenn ich das Fenster nach unten ziehe und nicht wenn ich es in die Breite ziehe.
Irgendwo gab es die Lösung setMinimumSize zu benutzen, aber auch dann verhält es sich komisch. Wenn ich diese setze, macht er es bei dem kleinen Fenster, aber wenn ich es maximiere, wird es komischerweise kleiner...
Übersehe ich da irgendetwas?
Wenn ich übrigens in das ScrollPane eine Textarea eingefügt habe hat alles funktioniert, es muss also irgendwie an der Tabelle liegen...
Ich hoffe mir kann jemand helfen.
Grüße Nicole
Code:
import java.awt.*;
import javax.swing.*;
public class Beispiel extends JFrame{
JTable table = new JTable(50,2);
public Beispiel() {
super("Beispiel");
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e){
e.printStackTrace();
}
setSize(800,600);
setExtendedState(JFrame.MAXIMIZED_BOTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBereiche();
setVisible(true);
}
protected void setBereiche() {
JScrollPane scrollPane = new JScrollPane(table);
final Container cont = getContentPane();
GridBagLayout gbl = new GridBagLayout();
cont.setLayout(gbl);
//erstellt Label/Textfelder/...
JLabel titel_lb = new JLabel("Titel:");
JLabel bez_lb = new JLabel("Bezeichnung:");
JTextField titel_tf = new JTextField("fhfggjh");
JTextField bez_tf = new JTextField("fgjsgj");
//Fügt Elemente dem Fenster hinzu(Insets: top, left, bottom, right)
addComponent(cont, gbl, titel_lb , 0, 0, 1, 1, GridBagConstraints.WEST, new Insets(20,40, 0,10) ,0 ,0 , GridBagConstraints.NONE);
addComponent(cont, gbl, titel_tf , 1, 0, 1, 1, GridBagConstraints.WEST, new Insets(20, 0, 0,10) ,0 ,0 , GridBagConstraints.NONE);
addComponent(cont, gbl, bez_lb , 2, 0, 1, 1, GridBagConstraints.WEST, new Insets(20,50, 0,10) ,0 ,0 , GridBagConstraints.NONE);
addComponent(cont, gbl, bez_tf , 3, 0, 1, 1, GridBagConstraints.WEST, new Insets(20, 0, 0,10) ,0 ,0 , GridBagConstraints.NONE);
addComponent(cont, gbl, new JLabel(""), 4, 0, 1, 1, GridBagConstraints.WEST, new Insets(20, 0, 0,40) ,1.0 ,1.0, GridBagConstraints.BOTH);
addComponent(cont, gbl, scrollPane , 0, 1, 5, 1, GridBagConstraints.CENTER, new Insets(50,40,100,40) ,1.0 ,1.0, GridBagConstraints.BOTH);
tabelleFuellen();
}
protected void tabelleFuellen(){
for(int i = 0; i < table.getRowCount(); i++){
for(int j = 0; j < table.getColumnCount(); j++){
table.setValueAt("Test: r"+i+" c"+j,i,j);
}
}
}
protected void addComponent(Container cont, GridBagLayout gbl, JComponent comp, int x, int y,
int width, int height, int anchor, Insets in, double wx,double wy,int fill){
GridBagConstraints c = new GridBagConstraints();
c.weightx = wx; c.weighty = wy;
c.fill = fill;
c.gridx = x; c.gridy = y;
c.gridwidth = width; c.gridheight= height;
c.insets = in; c.anchor = anchor;
gbl.setConstraints(comp,c); cont.add(comp);
}
public static void main(String[] args){
new Beispiel();
}
}