Hallo zusammen,
ich habe folgendes Problem. Ich habe ein JPanel. Innerhalb dieser JPanel platziere ich weitere Objekte, die von JPanel abgeleitet sind. Wenn ich nun versuche, die Position per setBounds() oder setLocation() festzulegen, funktioniert das nicht. Stattdessen setzt sich die Position auf die Werte der Größe des Objekts!
Als Beispiel, wenn ich folgendes tue:
gt01.setBounds( 0 , 0 , 630 , 140 );
verhält es sich so, als hätte ich folgendes getan:
gt01.setBounds( 630 , 140 , 630 , 140 );
Hat irgendjemand eine Idee, woran das liegen kann? Ich nutze keinen Layout Manager.
Relevanter Quellcode ist folgender:
ich habe folgendes Problem. Ich habe ein JPanel. Innerhalb dieser JPanel platziere ich weitere Objekte, die von JPanel abgeleitet sind. Wenn ich nun versuche, die Position per setBounds() oder setLocation() festzulegen, funktioniert das nicht. Stattdessen setzt sich die Position auf die Werte der Größe des Objekts!
Als Beispiel, wenn ich folgendes tue:
gt01.setBounds( 0 , 0 , 630 , 140 );
verhält es sich so, als hätte ich folgendes getan:
gt01.setBounds( 630 , 140 , 630 , 140 );
Hat irgendjemand eine Idee, woran das liegen kann? Ich nutze keinen Layout Manager.
Relevanter Quellcode ist folgender:
Code:
class GrafischerTruck extends JPanel{
GrafischerTruck( ){
this.setSize( 630 , 140 );
this.setLocation( 0 , 0 );
this.setLayout( null );
/*Anschließend werden hier noch Labels und Textboxes hinzugefügt, hier nur eine als Beispiel*/
modell_label = new JLabel("Modell");
modell_textfield = new JTextField( "Standardmodell" );
}
GrafischerTruck( Truck truck ){
this.setSize( 630 , 140 );
this.setLocation( 0 , 0 );
this.setLayout( null );
/*Anschließend werden hier noch Labels und Textboxes hinzugefügt, hier nur eine als Beispiel*/
modell_label = new JLabel("Modell");
this.add( modell_label );
modell_textfield = new JTextField( truck.modell );
modell_label.setBounds( 430 , 40 , 90 , 20);
modell_textfield.setBounds( 520 , 40 , 110 , 20);
}
}
Code:
public class TruckVerwalterGUI {
static JFrame mainframe;
static JPanel leftpanel;
static JScrollPane scrollpane_left;
static JScrollPane scrollpane_right;
static Insets main_insets;
static Insets left_insets;
public static void main(String[] args) {
setNativeLookAndFeel();
initGUI();
}
static void setNativeLookAndFeel() {
try {
UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );
}
catch( Exception e )
{
e.printStackTrace();
}
}
protected static void initGUI () {
mainframe = new JFrame("Titel");
main_insets = mainframe.getInsets();
mainframe.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
mainframe.setLayout( null );
leftpanel = new JPanel();
left_insets = leftpanel.getInsets();
leftpanel.setLayout( null );
scrollpane_left = new JScrollPane( leftpanel );
GrafischerTruck gt01 = new GrafischerTruck();
leftpanel.add(gt01);
gt01.setLocation( 0 + left_insets.left , 0 + left_insets.top );
}