Absätze?

hammet hat es in seinem letzten Post schon gesagt.
Du musst dir dein Fenster als ein 2D-Koordinatensystem vorstellen. Der 0-Punkt ist dabe links oben in der Ecke.

Die Parameter von setLocation sind jeweils die X- und Y-Koordinate der linken oberen Ecke deines z.b. Labels.

Die Parameter von setSize sind einmal die Breite und die Höhe deiner Komponente in Pixeln.


EDIT.: Nanu? Wo ist dein letzter Beitrag hin swany?
 
Also ich habe das bisher wie folgt gemacht:

PHP:
setLayout(null);
        Label nameLabel = new Label ("Anzahl Spieler:");
        add(nameLabel);
        nameLabel.setLocation(10,100);
        nameLabel.setSize(100,20);
        Checkbox chk1 = new Checkbox("1 Spieler");
        chk1.setLocation(120,100);
        chk1.setSize(100,20);
        add(chk1);
        Label nameLabel1 = new Label ("Name:");
        nameLabel1.setLocation(220,100);
        nameLabel1.setSize(200,20);
        add(nameLabel1);
        TextField txt2 = new TextField(10);
        txt2.setLocation(300,100);
        txt2.setSize(80,10);
        add(txt2);
        Button pushButton = new Button("Bestätigen");
        pushButton.setLocation(300,100);
        pushButton.setSize(80,10);
        add(pushButton);
        Checkbox chk2 = new Checkbox("2 Spieler");
        chk2.setLocation(120,200);
        chk2.setSize(100,20);
        add(chk2);
        Label nameLabel2 = new Label ("Name:");
        add(nameLabel2);
        TextField txt3 = new TextField(10);
        add(txt3);
        Label nameLabel3 = new Label ("Name:");
        add(nameLabel3);
        TextField txt4 = new TextField(10);
        add(txt4);
        Button pushButton1 = new Button("Bestätigen");
        add(pushButton1);

Aber mein Text-Fenster erscheint nicht mehr..... egal was ich für werte eingebe..... warum?
 
Meinst du mit Textfenster dein gesammtes Fenster oder die Textfelder?
Dem Textfeld 3 und 4 (und eineigen anderen Komponenten) hast du noch keine Größe und Location gegeben.
Wenn du das gesammte Fenster meinst, dann musst du bischen mehr Code posten.
 
Ich weiß, dass ich bei dem Textfeld 3 und 4 (und eineigen anderen Komponenten) noch keine Größe und Location angegeben habe. Aber ich sehe ja bisher noch nichteinmal das erste Textfeld.... egal was ich für koordinaten und größen eingebe.....
 
PHP:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Main 
    extends Frame{
    
    public Main(){
        
        setLayout(null);
        Label nameLabel = new Label ("Anzahl Spieler:");
        add(nameLabel);
        nameLabel.setLocation(10,100);
        nameLabel.setSize(100,20);
        Checkbox chk1 = new Checkbox("1 Spieler");
        chk1.setLocation(120,100);
        chk1.setSize(100,20);
        add(chk1);
        Label nameLabel1 = new Label ("Name:");
        nameLabel1.setLocation(220,100);
        nameLabel1.setSize(200,20);
        add(nameLabel1);
        TextField txt2 = new TextField(10);
        txt2.setLocation(300,100);
        txt2.setSize(80,10);
        add(txt2);
        Button pushButton = new Button("Bestätigen");
        pushButton.setLocation(300,100);
        pushButton.setSize(80,10);
        add(pushButton);
        Checkbox chk2 = new Checkbox("2 Spieler");
        chk2.setLocation(120,200);
        chk2.setSize(100,20);
        add(chk2);
        Label nameLabel2 = new Label ("Name:");
        add(nameLabel2);
        TextField txt3 = new TextField(10);
        add(txt3);
        Label nameLabel3 = new Label ("Name:");
        add(nameLabel3);
        TextField txt4 = new TextField(10);
        add(txt4);
        Button pushButton1 = new Button("Bestätigen");
        add(pushButton1);
        
        pack();
        addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent evt){
            System.exit(0);
        }
        });
            }
        

    public static void main(String[] args) {
        
        Main window=new Main();
        window.setTitle("Spiel des Studentenlebens");
        window.setSize(500,200);
        window.setVisible(true);
        window.setResizable(true);
        window.setBackground(Color.white);
    }
      
    }
 
Die Größen der Felder passen nicht so richtig zusammen.
Hab grad mal das erste gesehen:
Java:
Label nameLabel1 = new Label ("Name:");
        nameLabel1.setLocation(220,100);
        nameLabel1.setSize(200,20);
Wenn du die Größe runtersetzt wird es angezeigt. Das überschneidet sich mit irgendwas anderem.

Desweiteren würde ich dir empfehlen in deinem Quellcode zusammengehörige Objekte auch optisch zu gruppieren und bessere Namen geben. Das ist das reinste Chaos, da blickt ja keiner durch - und dein Code ist !noch! kurz.

Also ich würd an Deiner Stelle:
1. Namen neu verteilen und gruppieren
2. Größen und Positionen überprüfen, damit sie stimmig sind
3. wie vorhin schon gesagt wurde, die Positionen und Größen von allen Objekten definieren! auch von denen da:
Java:
Label nameLabel2 = new Label ("Name:");
        add(nameLabel2);
        TextField txt3 = new TextField(10);
        add(txt3);
        Label nameLabel3 = new Label ("Name:");
        add(nameLabel3);
        TextField txt4 = new TextField(10);
        add(txt4);
        Button pushButton1 = new Button("Bestätigen");
        add(pushButton1);

Gruß
 
Zusätzlich zu starbucks Anmerkung, möchte ich noch hinzufügen, dass du lieber die Swing anstadt die AWT Komponenten verwenden solltest, da AWT-Komponenten nach eigener Erfahrung manchmal Probleme mit solchen überlagerungen haben.
 
Danke! Hab meinen Fehler grad schon selber gefunden gehabt! *freu*
jetzt schaut es so aus, wie ich es haben wollte :)

kann man eigentlich auch ein jpg als Hintergrund (für das komplette fenster) nehmen? Also wie ich die Farbe ändern kann weiß ich, aber gehen eigentlich auch grafiken?
 
Yo, diese Frage gab es hier schon einmal und wurde vom "Meister" persönlich beantwortet ^^ : hier!
Musst du nur auf dein Panel abändern ;)
 

Neue Beiträge

Zurück