Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16

Thema: GridBagLayout Problem

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.09.2004
    Beiträge
    54

    GridBagLayout Problem

    Das ist die Struktur die rauskommen soll:

    ----------- ----------- -----------
    |Label |Label |Label |
    |-----------|-----------|-----------|
    |List |List |List |
    | | | |
    |-----------|-----------|-----------|
    |Label|tf |Label|tf |Label|tf |
    |-----------|-----------|-----------|
    |Label|tf |Label|tf |Label|tf |
    |-----------|-----------|-----------|
    |List |btn |btn |
    | |----------- |-----------|
    | |btn |btn |
    ----------- ----------- -----------

    Wenn jemand nen TIP geben könnte, wär das super.

    Die Struktur soll auf das MainFrame. Dadrüber ist nur das menü. also wird von der struktur der gesamte restliche platz verwendet.

    mfg
    Snoop

  2. #2
    Registrierter Benutzer
    Registriert seit
    23.09.2004
    Beiträge
    54
    so ein mist , warum werden keine Leerzeichen akzeptiert???

    egal. nochmal im klartext:

    3 Spalten:

    1. spalte:
    5 Zeilen
    zeile 3 und 4 nochmals in 2 spalten unterteilt

    2. spalte:
    7 Zeilen
    zeile 3 und 4 nochmals in 2 spalten unterteilt

    3. Spalte:
    7 Zeilen
    zeile 3 und 4 nochmals in 2 spalten unterteilt

    mfg
    Snoop

  3. #3
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    [ code ] drum hilft bei Leerzeichen

    Die Unter-Unterteilung innerhalb des "Hauptgrids" machst du méglicherweise ganz gut mit HBox und VBox (oder heissen die HBoxLayout oder so àhnlich?).

    Aber am besten nimmst du fèr so mèhsames Zeugs eh einen GUI-Designer (der mit gridbaglayout umgehen kann)

    MfG Peschmà
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  4. #4
    Registrierter Benutzer
    Registriert seit
    26.10.2004
    Ort
    Beijing
    Beiträge
    31

    richtig

    ja nen guibuilder wuerd ich dir auch vorschlagen.
    GANZ besonders beim gridbaglayout!

    guck dir mal folgendes an:

    http://cloudgarden.com/jigloo/

    gruss
    marius

  5. #5
    Registrierter Benutzer
    Registriert seit
    14.10.2003
    Beiträge
    35
    Mit etwas übung kann man Gridbags auch von Hand schreiben. Einfach bei 2-3 Projekten machen und schon hasst man wieder jeden GUI-Builder. Wenn man in Eclipse noch ein paar Templates macht, dann habe ich zumindest das Gefühl, dass ich schneller als mit einem Builder bin (ausserdem habe ich volle Kontrolle über den Code).

    Ansonst alternative Layouts anwenden. Ich nehme am liebsten das von jgoodies.com. Es ist zwar fast so aufwendig wie das Gridbag, aber es ist damit leichter schöne Ergebnisse zu bekommen.



    Dein Layout ist irgendwie merkwürdig... Sieht das wirklich so aus?

    Code:
     ----------- ----------- -----------
    |Label      |Label      |Label      | 
    |-----------|-----------|-----------|
    |List       |List       |List       |
    |           |           |           |
    |-----------|-----------|-----------|
    |Label|tf   |Label|tf   |Label|tf   |
    |-----------|-----------|-----------|
    |Label|tf   |Label|tf   |Label|tf   |
    |-----------|-----------|-----------|
    |List       |btn        |btn        |
    |           |-----------|-----------|
    |           |btn        |btn        | 
     ----------- ----------- -----------
    Geändert von dark_red (12-11-2004 um 07:41 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    23.09.2004
    Beiträge
    54
    jup das layout soll so aussehen. Das tool soll ja keinen schönheitswettbewerb gewinnen, sondern einfach nur funktional sein. *gg*

    schon mal thx für eure antworten, werd mich da mal durchwuseln. =)

  7. #7
    Registrierter Benutzer
    Registriert seit
    23.09.2004
    Beiträge
    54
    Zitat Zitat von marius
    GANZ besonders beim gridbaglayout!

    http://cloudgarden.com/jigloo/
    was für sachen kann der denn noch so alles.

    Es gibt ja für Eclipse den Visual Editor, was haltet ihr von dem???

    mfg
    Snoop

  8. #8
    Registrierter Benutzer
    Registriert seit
    23.09.2004
    Beiträge
    54
    des weiteren sollten die Proggies die mit dem Editor erstellt werden auch unter Windows , Linux und Solaris laufen, sprich keine Bindung vorhanden sein an Java 5 oder anderen versionen. Sprich es sollte einem selbst überlassen sein von welcher verseion man das proggie abhängig macht.

    hab grad ein wenig gegoogelt und da gibt es ja extrem viele editoren aber bei vielen les ich so nur für windoofs oder auch für linux ab 1.4. So groß aufwendig soll ja die applikation nicht werden aber laufen muss sie unter den 3 oben genannten systemen.

    mfg
    snoop

  9. #9
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    VE: Hab ihn noch nicht "ernsthaft" benutzt, machte aber einen guten Eindruck. Allerdings sehr lahm.

    Zitat Zitat von McSnoop
    des weiteren sollten die Proggies die mit dem Editor erstellt werden auch unter Windows , Linux und Solaris laufen, sprich keine Bindung vorhanden sein an Java 5 oder anderen versionen. Sprich es sollte einem selbst überlassen sein von welcher verseion man das proggie abhängig macht.
    Die Gui-Builder erstellen dir Code - Swing-Code. Den kompilierst du und das ist dann ein normales Programm. Das "nur Windows" oder so bezieht sich meist auf den GUI-Builder selber und nicht auf die damit erstellten Guis.

    Was aber eventuell irgendwo ein kleiner Stolperstein werden könnte ist die Abwärtskompatibilität zu älteren JVMs. D.h. wenn du Programme entwickelst die unbedingt auch unter Java 2 1.3 laufen sollen musst du schon etwas aufpassen (nicht so sehr bei GUIs aber andernorts, manche Klassen (wie z.B. XML-Verarbeitung glaube ich) gibts in Java erst ab Java 2 1.4)

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  10. #10
    Registrierter Benutzer
    Registriert seit
    12.11.2004
    Ort
    Berlin
    Beiträge
    32
    Hi
    Wenn du dies einfügst, sollte es auf allen Maschinen laufen

    JPanel pnPanel0;
    JLabel lbLabel0;
    JLabel lbLabel1;
    JLabel lbLabel2;
    JList lsList0;
    JList lsList1;
    JList lsList2;
    JLabel lbLabel3;
    JLabel lbLabel4;
    JLabel lbLabel5;
    JTextField tfText0;
    JTextField tfText1;
    JTextField tfText2;
    JList lsList3;
    JButton btBut0;
    JButton btBut1;
    JButton btBut2;
    JButton btBut3;

    pnPanel0 = new JPanel();
    GridBagLayout gbPanel0 = new GridBagLayout();
    GridBagConstraints gbcPanel0 = new GridBagConstraints();
    pnPanel0.setLayout( gbPanel0 );

    lbLabel0 = new JLabel( "Label 1" );
    gbcPanel0.gridx = 0;
    gbcPanel0.gridy = 0;
    gbcPanel0.gridwidth = 2;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 1;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( lbLabel0, gbcPanel0 );
    pnPanel0.add( lbLabel0 );

    lbLabel1 = new JLabel( "Label 2" );
    gbcPanel0.gridx = 2;
    gbcPanel0.gridy = 0;
    gbcPanel0.gridwidth = 2;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 1;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( lbLabel1, gbcPanel0 );
    pnPanel0.add( lbLabel1 );

    lbLabel2 = new JLabel( "Label 3" );
    gbcPanel0.gridx = 4;
    gbcPanel0.gridy = 0;
    gbcPanel0.gridwidth = 2;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 1;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( lbLabel2, gbcPanel0 );
    pnPanel0.add( lbLabel2 );

    String []dataList0 = { "Chocolate", "Ice Cream", "Apple Pie" };
    lsList0 = new JList( dataList0 );
    gbcPanel0.gridx = 0;
    gbcPanel0.gridy = 1;
    gbcPanel0.gridwidth = 2;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 1;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( lsList0, gbcPanel0 );
    pnPanel0.add( lsList0 );

    String []dataList1 = { "Chocolate", "Ice Cream", "Apple Pie" };
    lsList1 = new JList( dataList1 );
    gbcPanel0.gridx = 2;
    gbcPanel0.gridy = 1;
    gbcPanel0.gridwidth = 2;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 1;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( lsList1, gbcPanel0 );
    pnPanel0.add( lsList1 );

    String []dataList2 = { "Chocolate", "Ice Cream", "Apple Pie" };
    lsList2 = new JList( dataList2 );
    gbcPanel0.gridx = 4;
    gbcPanel0.gridy = 1;
    gbcPanel0.gridwidth = 2;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 1;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( lsList2, gbcPanel0 );
    pnPanel0.add( lsList2 );

    lbLabel3 = new JLabel( "Label 4" );
    gbcPanel0.gridx = 0;
    gbcPanel0.gridy = 2;
    gbcPanel0.gridwidth = 1;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 1;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( lbLabel3, gbcPanel0 );
    pnPanel0.add( lbLabel3 );

    lbLabel4 = new JLabel( "Label 5" );
    gbcPanel0.gridx = 2;
    gbcPanel0.gridy = 2;
    gbcPanel0.gridwidth = 1;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 1;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( lbLabel4, gbcPanel0 );
    pnPanel0.add( lbLabel4 );

    lbLabel5 = new JLabel( "Label 6" );
    gbcPanel0.gridx = 4;
    gbcPanel0.gridy = 2;
    gbcPanel0.gridwidth = 1;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 1;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( lbLabel5, gbcPanel0 );
    pnPanel0.add( lbLabel5 );

    tfText0 = new JTextField( );
    gbcPanel0.gridx = 1;
    gbcPanel0.gridy = 2;
    gbcPanel0.gridwidth = 1;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 0;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( tfText0, gbcPanel0 );
    pnPanel0.add( tfText0 );

    tfText1 = new JTextField( );
    gbcPanel0.gridx = 3;
    gbcPanel0.gridy = 2;
    gbcPanel0.gridwidth = 1;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 0;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( tfText1, gbcPanel0 );
    pnPanel0.add( tfText1 );

    tfText2 = new JTextField( );
    gbcPanel0.gridx = 5;
    gbcPanel0.gridy = 2;
    gbcPanel0.gridwidth = 1;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 0;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( tfText2, gbcPanel0 );
    pnPanel0.add( tfText2 );

    String []dataList3 = { "Chocolate", "Ice Cream", "Apple Pie" };
    lsList3 = new JList( dataList3 );
    gbcPanel0.gridx = 0;
    gbcPanel0.gridy = 3;
    gbcPanel0.gridwidth = 2;
    gbcPanel0.gridheight = 2;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 1;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( lsList3, gbcPanel0 );
    pnPanel0.add( lsList3 );

    btBut0 = new JButton( "Button 1" );
    gbcPanel0.gridx = 2;
    gbcPanel0.gridy = 3;
    gbcPanel0.gridwidth = 2;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 0;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( btBut0, gbcPanel0 );
    pnPanel0.add( btBut0 );

    btBut1 = new JButton( "Button 3" );
    gbcPanel0.gridx = 2;
    gbcPanel0.gridy = 4;
    gbcPanel0.gridwidth = 2;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 0;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( btBut1, gbcPanel0 );
    pnPanel0.add( btBut1 );

    btBut2 = new JButton( "Button 2" );
    gbcPanel0.gridx = 4;
    gbcPanel0.gridy = 3;
    gbcPanel0.gridwidth = 2;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 0;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( btBut2, gbcPanel0 );
    pnPanel0.add( btBut2 );

    btBut3 = new JButton( "Button 4" );
    gbcPanel0.gridx = 4;
    gbcPanel0.gridy = 4;
    gbcPanel0.gridwidth = 2;
    gbcPanel0.gridheight = 1;
    gbcPanel0.fill = GridBagConstraints.BOTH;
    gbcPanel0.weightx = 1;
    gbcPanel0.weighty = 0;
    gbcPanel0.anchor = GridBagConstraints.NORTH;
    gbPanel0.setConstraints( btBut3, gbcPanel0 );
    pnPanel0.add( btBut3 );

  11. #11
    Registrierter Benutzer
    Registriert seit
    23.09.2004
    Beiträge
    54
    erst mal thx für deine Antwort. Wenn ich das Einfüge und das ganze in ein JFrame packe bleibt es leer.

    ich habe hier noch ein Beispiel aber versteh noch nicht warum das funktioniert bzw warum das so gestrickt ist.

    Code:
    ......
    
    public LookandFeel(){
      super("look and Feel");
      setSize(400,200);
      addWindowListener(new CloseAdapter());   <----- das wird gebraucht um das Frame zu beenden
    
      JPanel pa = new JPanel();
      JPanel pb = new JPanel();
    
      getContentPane().setLayout(new BorderLayout());<----- warum wird hier
      getContentPane().add(BorderLayout.CENTER,pa);<-----  getContentPane
      getContentPane().add(BorderLayout.SOUTH,pb);<------ verwendet???
      
      pa.setLayout(new GridLayout(2,1,10,10));
    
      ....... einfügen der komponenten wie buttons usw.
    
    }
    ......
    mfg
    Snoop

  12. #12
    Registrierter Benutzer
    Registriert seit
    12.11.2004
    Ort
    Berlin
    Beiträge
    32
    Im Gegensatz zu AWT ist Swing etwas anders aufgebaut. Daher desteht das JFrame aus mehreren Layern. getContentPane() wird benötigt um vom JFrame den zum setzen von Layouts etc. wichigen Layer zu erhalten. Dieser ist ContentPane.

    Zum Layout: Wenn du die Attribute in der Klasse definierst und das setzen im Konstruktor funktioniert das einwandfrei!

    Ciao

  13. #13
    Registrierter Benutzer
    Registriert seit
    12.11.2004
    Ort
    Berlin
    Beiträge
    32
    Das ist mir schon klar, dass das bei dir nicht funktioniert. Du erzeugst zwar alles nötige, fügst es aber nie ein. Ich habe dir das mal erweitert.
    Code:
    public class MyFrame extends JFrame{
    	JPanel pnPanel0;
    	JLabel lbLabel0;
    	JLabel lbLabel1;
    	JLabel lbLabel2;
    	JList lsList0;
    	JList lsList1;
    	JList lsList2;
    	JLabel lbLabel3;
    	JLabel lbLabel4;
    	JLabel lbLabel5;
    	JTextField tfText0;
    	JTextField tfText1;
    	JTextField tfText2;
    	JList lsList3;
    	JButton btBut0;
    	JButton btBut1;
    	JButton btBut2;
    	JButton btBut3;
    
    	MyFrame(){
    		super("MY PROGRAM");
    		getContentPane().setLayout(new BorderLayout());
    
    		pnPanel0 = new JPanel();
    		GridBagLayout gbPanel0 = new GridBagLayout();
    		GridBagConstraints gbcPanel0 = new GridBagConstraints();
    		pnPanel0.setLayout( gbPanel0 );
    
    		lbLabel0 = new JLabel( "Label 1"  );
    		gbcPanel0.gridx = 0;
    		gbcPanel0.gridy = 0;
    		gbcPanel0.gridwidth = 2;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 1;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( lbLabel0, gbcPanel0 );
    		pnPanel0.add( lbLabel0 );
    		
    		lbLabel1 = new JLabel( "Label 2"  );
    		gbcPanel0.gridx = 2;
    		gbcPanel0.gridy = 0;
    		gbcPanel0.gridwidth = 2;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 1;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( lbLabel1, gbcPanel0 );
    		pnPanel0.add( lbLabel1 );
    		
    		lbLabel2 = new JLabel( "Label 3"  );
    		gbcPanel0.gridx = 4;
    		gbcPanel0.gridy = 0;
    		gbcPanel0.gridwidth = 2;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 1;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( lbLabel2, gbcPanel0 );
    		pnPanel0.add( lbLabel2 );
    		
    		String []dataList0 = { "Chocolate", "Ice Cream", "Apple Pie" };
    		lsList0 = new JList( dataList0 );
    		gbcPanel0.gridx = 0;
    		gbcPanel0.gridy = 1;
    		gbcPanel0.gridwidth = 2;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 1;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( lsList0, gbcPanel0 );
    		pnPanel0.add( lsList0 );
    	
    		String []dataList1 = { "Chocolate", "Ice Cream", "Apple Pie" };
    		lsList1 = new JList( dataList1 );
    		gbcPanel0.gridx = 2;
    		gbcPanel0.gridy = 1;
    		gbcPanel0.gridwidth = 2;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 1;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( lsList1, gbcPanel0 );
    		pnPanel0.add( lsList1 );
    	
    		String []dataList2 = { "Chocolate", "Ice Cream", "Apple Pie" };
    		lsList2 = new JList( dataList2 );
    		gbcPanel0.gridx = 4;
    		gbcPanel0.gridy = 1;
    		gbcPanel0.gridwidth = 2;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 1;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( lsList2, gbcPanel0 );
    		pnPanel0.add( lsList2 );
    	
    		lbLabel3 = new JLabel( "Label 4"  );
    		gbcPanel0.gridx = 0;
    		gbcPanel0.gridy = 2;
    		gbcPanel0.gridwidth = 1;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 1;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( lbLabel3, gbcPanel0 );
    		pnPanel0.add( lbLabel3 );
    	
    		lbLabel4 = new JLabel( "Label 5"  );
    		gbcPanel0.gridx = 2;
    		gbcPanel0.gridy = 2;
    		gbcPanel0.gridwidth = 1;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 1;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( lbLabel4, gbcPanel0 );
    		pnPanel0.add( lbLabel4 );
    		
    		lbLabel5 = new JLabel( "Label 6"  );
    		gbcPanel0.gridx = 4;
    		gbcPanel0.gridy = 2;
    		gbcPanel0.gridwidth = 1;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 1;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( lbLabel5, gbcPanel0 );
    		pnPanel0.add( lbLabel5 );
    		
    		tfText0 = new JTextField( );
    		gbcPanel0.gridx = 1;
    		gbcPanel0.gridy = 2;
    		gbcPanel0.gridwidth = 1;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 0;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( tfText0, gbcPanel0 );
    		pnPanel0.add( tfText0 );
    	
    		tfText1 = new JTextField( );
    		gbcPanel0.gridx = 3;
    		gbcPanel0.gridy = 2;
    		gbcPanel0.gridwidth = 1;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 0;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( tfText1, gbcPanel0 );
    		pnPanel0.add( tfText1 );
    		
    		tfText2 = new JTextField( );
    		gbcPanel0.gridx = 5;
    		gbcPanel0.gridy = 2;
    		gbcPanel0.gridwidth = 1;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 0;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( tfText2, gbcPanel0 );
    		pnPanel0.add( tfText2 );
    		
    		String []dataList3 = { "Chocolate", "Ice Cream", "Apple Pie" };
    		lsList3 = new JList( dataList3 );
    		gbcPanel0.gridx = 0;
    		gbcPanel0.gridy = 3;
    		gbcPanel0.gridwidth = 2;
    		gbcPanel0.gridheight = 2;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 1;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( lsList3, gbcPanel0 );
    		pnPanel0.add( lsList3 );
    		
    		btBut0 = new JButton( "Button 1"  );
    		gbcPanel0.gridx = 2;
    		gbcPanel0.gridy = 3;
    		gbcPanel0.gridwidth = 2;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 0;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( btBut0, gbcPanel0 );
    		pnPanel0.add( btBut0 );
    	
    		btBut1 = new JButton( "Button 3"  );
    		gbcPanel0.gridx = 2;
    		gbcPanel0.gridy = 4;
    		gbcPanel0.gridwidth = 2;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 0;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( btBut1, gbcPanel0 );
    		pnPanel0.add( btBut1 );
    	
    		btBut2 = new JButton( "Button 2"  );
    		gbcPanel0.gridx = 4;
    		gbcPanel0.gridy = 3;
    		gbcPanel0.gridwidth = 2;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 0;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( btBut2, gbcPanel0 );
    		pnPanel0.add( btBut2 );
    	
    		btBut3 = new JButton( "Button 4"  );
    		gbcPanel0.gridx = 4;
    		gbcPanel0.gridy = 4;
    		gbcPanel0.gridwidth = 2;
    		gbcPanel0.gridheight = 1;
    		gbcPanel0.fill = GridBagConstraints.BOTH;
    		gbcPanel0.weightx = 1;
    		gbcPanel0.weighty = 0;
    		gbcPanel0.anchor = GridBagConstraints.NORTH;
    		gbPanel0.setConstraints( btBut3, gbcPanel0 );
    		pnPanel0.add( btBut3 );
    	
    		getContentPane().add(BorderLayout.CENTER,pnPanel0);
      	             setVisible(true);
    	}

  14. #14
    Registrierter Benutzer
    Registriert seit
    23.09.2004
    Beiträge
    54
    Geil funzt. THX an alle.

    Bezüglich des GridBagLayouts:

    da es immer mehr blöcke werden je mehr komponenten man einfügt, würde es sich anbieten das ganze vielleicht in Schleifen zu packen??? so das die sourcen überschaubarer werden oder würden die schleifen das nur komplizierter machen???

    mfg
    Snoop

  15. #15
    Registrierter Benutzer
    Registriert seit
    12.11.2004
    Ort
    Berlin
    Beiträge
    32
    Klar kannst du das in Schleifen Packen. Dann musst du aber auch die Layoutelemente mindestens in ein Array packen um sie nacheinander anzusprechen. Die Frage ist nun, da du viele unterschiedliche Layoutelemente hast, von welchen Typ dein Array sein soll. Du kannst den Typ auf Component setzen da alle von Component geerbt haben, musst aber dann beim konkreten Zugriff wieder Casten und das kostet Zeit.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •