Announcement

Collapse
No announcement yet.

Buttonsplazierungsproblem in GridLayout

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Buttonsplazierungsproblem in GridLayout

    Hallo zusammen,

    ich schreibe ein Taschenrechnerprogramm und habe ein Problem um die Buttons zu palzieren. Ich will dass die Buttons (von 9-0) in vier Rheien so platzieren, dass das Button mit dem Schrift "0" ganz unten und in der Mitte erscheint, d.h, vor und nach dem Button0, gibts keine Buttons mehr.

    9 8 7
    6 5 4
    3 2 1
    0

    In meinem Program 0 bekomme ich links und nihct in der Mitte.

    Mein Code sieht folgendermaßen aus: (es zeigt 0 unten links)

    Code:

    //Number Buttons
    JPanel buttonPanel = new JPanel();
    buttonPanel.setLayout(new GridLayout(0,3,5,5));


    for(int i=9; i>=0; i--){
    try{
    JButton numberButton = new
    JButton(Integer.toString(i));
    buttonPanel.add(numberButton);
    numberButton.addActionListener(numListener);
    }
    catch(RuntimeException e){
    System.out.println("Rum time exception" + e);

    }
    }

    danke
    und
    mfg
    alan

  • #2
    Hallo,

    also, ein Blick in die api würde schon helfen, denke ich.
    Im GridLayout erfolgt die Ausrichtung (ComponentOrientation) entweder von links nach rechts oder eben umgekehrt.
    Und wieso ...... new GridLayout(0,3,5,5) ? Wenn ich mir das überlege, wäre ein (4,3,5,5) etwas sauber, auch wenn es im ersten Fall ebenfalls funktioniert.
    Wenn es unbedingt das GridLayout sein soll, wie wäre es, im Fall der 0 (0-Button) erst einen unbeschrifteten Button einzufügen ,der nicht sichtbar ist ?

    Gruss
    Carste

    Comment


    • #3
      Hallo Cartsen,

      danke, habe es hingekriegt, wie ich es wollte. Habe 4 Zeilen in Try-Clausel hinzugefügt.

      for(int i=9; i>=0; i--){
      try{
      JButton numberButton = new

      JButton(Integer.toString(i));
      buttonPanel.add(numberButton);
      numberButton.addActionListener(numListener);

      if(i==1 || i==0){
      JButton nullButton = new JButton();
      buttonPanel.add(nullButton);
      nullButton.setVisible(false);

      }

      }
      catch(RuntimeException e){
      System.out.println("Rum time exception" + e);

      }
      }

      Vielen Dank

      Ala

      Comment

      Working...
      X