2016-08-13 3 views
0

StackOverFlow Frage Hallo zum zweiten Mal heute dedizierte Stack-Overflow-Benutzer! XD

Ich versuche, die Positionierung dieser 9 Tasten in einem Gitterformat mit .setBounds so einzustellen, die akzeptiert (x-Koordinate, y-Koordinate, #ofPixelsWide, #ofPixelsTall)

jemand eine noch effizientere/compact wissen Würde Weg, dies zu tun? Ich möchte auch wissen, ob es nicht .setBounds nicht verwendet, nachdem alles, was ich hier bin XD für alle Vorschläge

DankJava- Effizient machen .setBounds (int, int, int, int);

for (int i = 0; i < groupOfButtons.length; i++) { 
     int x = 0, y = 0; 
     if (i == 1 || i == 4 || i == 7) { 
      x = 110; 
     } 
     if (i == 2 || i == 5 || i == 8) { 
      x= 220; 
     } 
     if (i > 2 && i < 6) { 
      y = 110; 
     } 
     if (i > 5 && i < 9) { 
      y = 220; 
     } 
     groupOfButtons[i].setBounds(x, y, 100, 100); 
    } 

Dieses anstelle des Schreibens dieses btw war erfahren (auf diese Weise ist eigentlich kürzer aber sieht viel chaotischer aus):

groupOfButtons[0].setBounds(0, 0, 100, 100); 
groupOfButtons[1].setBounds(110, 0, 100, 100); 
groupOfButtons[2].setBounds(220, 0, 100, 100); 
groupOfButtons[3].setBounds(0, 110, 100, 100); 
groupOfButtons[4].setBounds(110, 110, 100, 100); 
groupOfButtons[5].setBounds(220, 110, 100, 100); 
groupOfButtons[6].setBounds(0, 220, 100, 100); 
groupOfButtons[7].setBounds(110, 220, 100, 100); 
groupOfButtons[8].setBounds(220, 220, 100, 100); 
+3

Verwenden Sie einen Layout-Manager: https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html – Tom

+1

Das ist genau das, was die Layout-Manager sind - Sie machen die Dinge viel zu schwierig für dich selber. –

+1

[GridLayout] (http://docs.oracle.com/javase/tutorial/uiswing/layout/grid.html) wäre hier perfekt. –

Antwort

1

Sie müssen ein Rasterlayout verwenden. Sie fügen dann einfach diese Schaltflächen hinzu und sie werden automatisch in ein Rasterformat eingefügt. Schauen Sie sich diese Dokumentation für eine im Detail explaination von Layouts:

https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

Wenn Sie ein anderes Layout neben Raster-Layout für andere Komponenten Ihres Projekts verwenden müssen, können Sie nisten Layouts (so das Raster von Tasten wird ein verschachteltes Layout innerhalb eines anderen Layouts).

Verwandte Themen