www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Java" - Buttons
Buttons < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Buttons: Java JButton Tipp
Status: (Frage) beantwortet Status 
Datum: 15:02 So 19.02.2012
Autor: Philphil

Hallo,

ich würde gerne wissen wie ich in nem Fenster sagen kann, dass die buttons 1-4 oben stehen 5-8 genau drunter und so weiter...

Ich googel jetzt schon länger und finde ncihts brauchbares :/ bitte um einen Tipp :)

Gruß Phil

        
Bezug
Buttons: Antwort
Status: (Antwort) fertig Status 
Datum: 16:17 So 19.02.2012
Autor: MathePower

Hallo philphil,

> Hallo,
>  
> ich würde gerne wissen wie ich in nem Fenster sagen kann,
> dass die buttons 1-4 oben stehen 5-8 genau drunter und so
> weiter...
>  


Dazu ist die Position und die Größe der Buttons festzulegen.

Position wird z.B. mit setLocation(x,y) festgelegt.
Größe z.B. mit setSize(x,y).


> Ich googel jetzt schon länger und finde ncihts brauchbares
> :/ bitte um einen Tipp :)
>  
> Gruß Phil


Gruss
MathePower

Bezug
                
Bezug
Buttons: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:28 So 19.02.2012
Autor: Philphil

Ich habe beides implementiert gehabt:

button[i].setPreferredSize(new Dimension(15,15));
button[i].setLocation(X,Y);

(Ich lege viele Buttons an drum ist das in Form eines Arrays)

Dabei belasse ich die Dimension der Size gleich und die Location verändere ich. Trotz dessen bleiben alle Buttons in einer Reihe und stehen nciht untereinander.
(Um kurz dazulegen, was ich erreichen will: Ich möchte eine Art Schachbrett mit Buttons darstellen. Hierbei möchte ich ein Feld aus Buttons im Format 8x8 erstellen).

Gruß Phil

Bezug
                        
Bezug
Buttons: Antwort
Status: (Antwort) fertig Status 
Datum: 16:44 So 19.02.2012
Autor: MathePower

Hallo Philphil,

> Ich habe beides implementiert gehabt:
>  
> button.setPreferredSize(new Dimension(15,15));
> button.setLocation(X,Y);
>
> (Ich lege viele Buttons an drum ist das in Form eines
> Arrays)
>
> Dabei belasse ich die Dimension der Size gleich und die
> Location verändere ich. Trotz dessen bleiben alle Buttons
> in einer Reihe und stehen nciht untereinander.
> (Um kurz dazulegen, was ich erreichen will: Ich möchte
> eine Art Schachbrett mit Buttons darstellen. Hierbei
> möchte ich ein Feld aus Buttons im Format 8x8 erstellen).
>


Nun, dann mußt Du Dir für die Positionen einen Algorithmus überlegen,
der die Position des i. Buttons berechnet.


> Gruß Phil


Gruss
MathePower

Bezug
                                
Bezug
Buttons: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 16:49 So 19.02.2012
Autor: Philphil

Hi, den habe ich ja schon:

for (int j = 0; j < 8; j++) {
int X = 16 * j;
for (int i = 0; i < 8; i++) {
int Y = 16 * i;
button[i] = new JButton("" + (i + 1));
button[i].setVisible(true);
button[i].setSize(new Dimension(15,15));
button[i].setBackground(Color.GREEN);
button[i].setLocation(X,Y);
add(button[i]);
}
}

Aber trotzdem stimmt da noch irendwas nicht, da immer min. ein button das ganze Fenster ausfüllt.

Gruß Phil

Bezug
                                        
Bezug
Buttons: Antwort
Status: (Antwort) fertig Status 
Datum: 17:12 So 19.02.2012
Autor: MathePower

Hallo Philphil,

> Hi, den habe ich ja schon:
>  
> for (int j = 0; j < 8; j++) {
>   int X = 16 * j;
>   for (int i = 0; i < 8; i++) {
>   int Y = 16 * i;
>   button = new JButton("" + (i + 1));
> button.setVisible(true);
> button.setSize(new Dimension(15,15));
> button.setBackground(Color.GREEN);
> button.setLocation(X,Y);
> add(button);
> }
> }
>
> Aber trotzdem stimmt da noch irendwas nicht, da immer min.
> ein button das ganze Fenster ausfüllt.
>


Diesen Effekt habe ich nicht.

Gut, es dauert etwas, bis die Buttons aufgebaut sind.


> Gruß Phil


Gruss
MathePower

Bezug
                                                
Bezug
Buttons: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 14:30 Di 21.02.2012
Autor: Philphil

Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

Hi, ich hab mal wieder n neues Problem...
Ich dachte mir, dass es die Übersichtlichkeit des Programms erhöht, wenn ich die verschiedenen Elemente der Oberfläche in eigene Klassen einteile, aber wenn ich dies tue, und dann die externe Klasse aufrufen möchte, erstellt er unendlich neue Fenster. In welche Falle bin ich getappt?

relevanter Code in der Hauptklasse der Gui:

JFrame frame = new JFrame();
BuildMatrix MainScreen = new BuildMatrix(Matrix, frame);

Code in der aufgerufenen Klasse:

public class BuildMatrix extends Gui{

JButton[] button = new JButton[64];

public BuildMatrix(boolean[][] Matrix, JFrame frame) {

super(Matrix);

//Zeile
for (int j = 0; j < Matrix.length; j++) {

int X = 20 * (j + 1);
//Spalte
for (int i = 0; i < Matrix[j].length; i++) {

int Y = 20 * (i + 1);

button[i + 8*j] = new JButton();
button[i + 8*j].setVisible(true);
button[i + 8*j].setSize(new Dimension(20,20));
button[i + 8*j].setLocation(X,Y);

if (Matrix[j][i]) {
button[i + 8*j].setBackground(Color.BLUE);
}
else {
button[i + 8*j].setBackground(Color.GRAY);
}
frame.add(button[i + 8*j]);
}//for int i
}//for int j

}


Bezug
                                                        
Bezug
Buttons: Antwort
Status: (Antwort) fertig Status 
Datum: 15:53 Di 21.02.2012
Autor: MathePower

Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

Hallo Philphil,

> Eingabefehler: "{" und "}" müssen immer paarweise
> auftreten, es wurde aber ein Teil ohne Entsprechung
> gefunden (siehe rote Markierung)
>  
> Hi, ich hab mal wieder n neues Problem...
>  Ich dachte mir, dass es die Übersichtlichkeit des
> Programms erhöht, wenn ich die verschiedenen Elemente der
> Oberfläche in eigene Klassen einteile, aber wenn ich dies
> tue, und dann die externe Klasse aufrufen möchte, erstellt
> er unendlich neue Fenster. In welche Falle bin ich
> getappt?
>  
> relevanter Code in der Hauptklasse der Gui:
>  
> JFrame frame = new JFrame();
>  BuildMatrix MainScreen = new BuildMatrix(Matrix, frame);
>  
> Code in der aufgerufenen Klasse:
>  
> public class BuildMatrix extends Gui{
>  
> JButton[] button = new JButton[64];
>  
> public BuildMatrix(boolean[][] Matrix, JFrame frame) {
>  
> super(Matrix);
>  
> //Zeile
>   for (int j = 0; j < Matrix.length; j++) {
>  
> int X = 20 * (j + 1);
>   //Spalte
>   for (int i = 0; i < Matrix[j].length; i++) {
>  
> int Y = 20 * (i + 1);
>  
> button[i + 8*j] = new JButton();
>   button[i + 8*j].setVisible(true);
>   button[i + 8*j].setSize(new Dimension(20,20));
> button[i + 8*j].setLocation(X,Y);
>  
> if (Matrix[j]) {
> button[i + 8*j].setBackground(Color.BLUE);
> }
> else {
> button[i + 8*j].setBackground(Color.GRAY);
> }
> frame.add(button[i + 8*j]);
> }//for int i
> }//for int j
>
> }
>   


Schau Dir den Konstruktor der Hauptklasse, hier: super(Matrix), an.

Dieser ist wahrscheinlich dafür verantwortlich,
daß immer wieder neue Fenster erstellt werden.


Gruss
MathePower

Bezug
                                                                
Bezug
Buttons: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 17:27 Di 21.02.2012
Autor: Philphil

Danke, ich habs jetzt bisschen umgebaut und nciht mehr als extends ... gemacht und die Knöpfe als array returnt und in der Hauptklasse des Gui dann erst hinzugefügt (sicherlich nicht die schönste geschweige den aleganteste Art, aber es funktioniert).

Ich schlage mich aber immernoch damit rum, dass die knöpfe erst sichtbar sind wenn man mit der Maus einmal drüber fährt. Also wenn ich auf Run drücke dann erscheint mein Programmfenster, aber die einzelnen Knöpfe sind nicht sichtbar (sie existieren zwar, aber sie sind wie gesagt erst sichtbar wenn man mit der Maus drüber fährt).

Ich habe nirgends irgendwas gefunden, was mir mit diesem Problem weiter helfen könnte :(

Weiß hier jemand woran es liegen kann? Gibt es sone Art refresh funktion die man eventuell nach dem Aufbauen der Oberfläche einmal ausführen könnte?

Gruß Phil

Bezug
                                                                        
Bezug
Buttons: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:20 Do 23.02.2012
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]