J
Jocbe
Gast
Hallo,
nach ein wenig Erfahrung mit anderen Sprachen wie VB und C++ habe ich mich jetzt Java zugewendet. Jetzt möchte bzw. muss ich Programme mit einer GUI programmieren, allerdings ohne einen visual editor zu verwenden (ich habe in diesem Fall keine Wahl). Meine Entscheidung fiel auf swing mit einem GridBagLayout.
Ich habe etwas herumprobiert und bin auf das Problem gestoßen, dass die Steuerelemente aus irgend einem Grund immer zentriert sind. Ich schaffe es nicht, die Steuerelemente am linken Fensterrand zu verankern.
Ich hab unten mal den Code gepostet, mit dem ich bisher experimentiert habe (nicht der sauberste, aber ich experimentiere ja noch). Ich verwende für die Tests übrigens Netbeans:
Ich habe schon etwas recherchiert, es dennoch nicht zum laufen bekommen, obwohl ich denke, dass es ja eigentlich nicht so schwer sein sollte. Wie kann man also die Steuerelemente so anordnen, dass sie sich an der oberen linken Ecke orientieren?
Vielen Dank im Voraus!
MfG,
Jocbe
nach ein wenig Erfahrung mit anderen Sprachen wie VB und C++ habe ich mich jetzt Java zugewendet. Jetzt möchte bzw. muss ich Programme mit einer GUI programmieren, allerdings ohne einen visual editor zu verwenden (ich habe in diesem Fall keine Wahl). Meine Entscheidung fiel auf swing mit einem GridBagLayout.
Ich habe etwas herumprobiert und bin auf das Problem gestoßen, dass die Steuerelemente aus irgend einem Grund immer zentriert sind. Ich schaffe es nicht, die Steuerelemente am linken Fensterrand zu verankern.
Ich hab unten mal den Code gepostet, mit dem ich bisher experimentiert habe (nicht der sauberste, aber ich experimentiere ja noch). Ich verwende für die Tests übrigens Netbeans:
Java:
package guitest;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
*
* @author xxx
*/
public class GUITest {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
JFrame mFrm = new JFrame("Window title");
JPanel mPan = new JPanel(new GridBagLayout());
mFrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mFrm.setSize(400,300);
mFrm.setVisible(true);
mFrm.getContentPane().setLayout(new BorderLayout());
mFrm.getContentPane().add(mPan, BorderLayout.NORTH);
mPan.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
JButton lbl1 = new JButton("label1");
JButton lbl2 = new JButton("label2");
JButton lbl3 = new JButton("label3");
JButton lbl4 = new JButton("label4");
JButton lbl5 = new JButton("label5");
c.fill = GridBagConstraints.HORIZONTAL;
c.anchor = GridBagConstraints.NORTHWEST;
c.insets = new Insets(1,1,1,1);
c.gridx = 0;
c.gridy = 0;
mPan.add(lbl1, c);
c.gridx = 2;
c.gridy = 0;
mPan.add(lbl2, c);
c.gridx = 1;
c.gridy = 1;
mPan.add(lbl3, c);
c.gridx = 0;
c.gridy = 2;
c.gridwidth = 2;
mPan.add(lbl4, c);
c.gridx = 0;
c.gridy = 3;
c.gridwidth = 3;
mPan.add(lbl5, c);
}
}
Ich habe schon etwas recherchiert, es dennoch nicht zum laufen bekommen, obwohl ich denke, dass es ja eigentlich nicht so schwer sein sollte. Wie kann man also die Steuerelemente so anordnen, dass sie sich an der oberen linken Ecke orientieren?
Vielen Dank im Voraus!
MfG,
Jocbe