Darstellung in Swing

Status
Nicht offen für weitere Antworten.
D

Doodle

Gast
Hallo, wir nehmen zur Zeit Swing in Java durch. Ich wollte dazu ein kleines Programm erstellen, habe aber viele Probleme bei der richtigen darstellung.
Und zwar hab ich eine kleine Text-Area und rechts daneben sollen 4 eingabefelder sein, untereinander. Mein Problem nur, sie sind alle nebeneinander.
Weiß einer, wie ich alle 4 untereinander rechts neben der Text-Area bekomme?
Nach dem täglichen rumprobieren sieht der Code nun so aus: (im Moment nur 2 Eingabefelder)

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class Metropole extends JFrame {
  JTextField jtf_groesse;
  JTextField jtf_gewicht;
  JTextArea  jta_ausgabe;
  Container cp;
  Color hintergrundfarbe;

public Metropole(String title) {
  super(title);
  cp = getContentPane();
  hintergrundfarbe = cp.getBackground();
  Lauscher lausch = new Lauscher();


  JLabel jl_ueberschrift = new JLabel("Programm zur Ermittlung,",SwingConstants.CENTER);
         jl_ueberschrift.setFont(new Font("Arial",Font.PLAIN,20));
  JLabel jl_ueberschrift2 = new JLabel(" ob eine Stadt eine Metropole ist",SwingConstants.CENTER);
         jl_ueberschrift2.setFont(new Font("Arial",Font.ITALIC,14));

  JPanel jl_north = new JPanel();
         jl_north.add(jl_ueberschrift);
         jl_north.add(jl_ueberschrift2);

  JLabel jl_groesse = new JLabel("Groesse: ");
  JLabel jl_cm = new JLabel("cm");
  JLabel jl_gewicht = new JLabel("Gewicht: ");
  JLabel jl_kg = new JLabel("kg");
         jtf_groesse = new JTextField("180",4);
         jtf_groesse.setHorizontalAlignment(SwingConstants.RIGHT);
         jtf_gewicht = new JTextField("80",4);
         jtf_gewicht.setHorizontalAlignment(4);
         jtf_gewicht.setOpaque(false);

  JButton jb_berechnen = new JButton("Berechnen");
          jb_berechnen.addActionListener(lausch);

  JPanel jp_center = new JPanel();
         jta_ausgabe = new JTextArea(4,20);
         jta_ausgabe.setLayout( new GridLayout(3, 2, 6, 3) );
         jp_center.add(jta_ausgabe);
         jta_ausgabe.setText("Stadtnamen eingeben:");


         jp_center.add(jtf_groesse);

         jp_center.add(jtf_gewicht);

         jp_center.add(jl_kg);
         jp_center.add(jb_berechnen);


         jp_center.setOpaque(false);
         jta_ausgabe.setBackground(Color.lightGray);

  JButton jb_quit = new JButton("QUIT");
          jb_quit.addActionListener(lausch);

  JPanel jp_south = new JPanel();
         jp_south.add(jb_quit);
         jp_south.setLayout(new GridLayout(1,3));

  cp.add(jl_north,"North");
  cp.add(jp_center,"Center");
  cp.add(jp_south,"South");

  this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  }

class Lauscher implements ActionListener {

  public void actionPerformed(ActionEvent e) {

  String bezeichner = e.getActionCommand();
  double groesse,gewicht,index;

  if(bezeichner.equals("Berechnen")) {
    jta_ausgabe.setBackground(Color.white);
    groesse = Double.parseDouble(jtf_groesse.getText());
    gewicht = Double.parseDouble(jtf_gewicht.getText());

    index = (int) (gewicht*100/(groesse/100*groesse/100))/100.0;

    jta_ausgabe.setText("Sie haben ein Body Mass-Index von:\n\t"+index);
    if(index>=19&&index<=25) {
      jta_ausgabe.append("\n Herzlichen Glückwunsch!!");
      jta_ausgabe.setBackground(Color.cyan);
    }
  }

  if(bezeichner.equals("yellow")) {
    cp.setBackground(Color.yellow);
  }

  if(bezeichner.equals("blue")) {
    cp.setBackground(Color.blue.brighter());
  }

  if(bezeichner.equals("Standard")) {
    cp.setBackground(hintergrundfarbe);
  }

  if(bezeichner.equals("Zufallsfarbe")) {
    int r = (int)(1+Math.random()*254);
    int g = (int)(10+Math.random()*244);
    int b = (int)(100+Math.random()*154);
    cp.setBackground(new Color(r,g,b));
  }


  if(bezeichner.equals("QUIT")) {
    if(JOptionPane.showConfirmDialog(null,"Wirklich beenden?","Frage",
       JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
         System.exit(0);
       }
  }

  if(bezeichner.equals("About")) {
  int titel = JOptionPane.WARNING_MESSAGE;
  JOptionPane.showMessageDialog (null, "About-Test", "About",titel);
  }
}
}

public static void main(String[] args) {

  Metropole fenster = new Metropole("Metropole");
                   fenster.setLocation(250,200);
                   fenster.setSize(450,250);
                   fenster.setVisible(true);
}
}

Das Ursprungsprogramm war übrigends ein BMI-Rechner, falls manches merkwürdig vorkommt;)
 

Marco13

Top Contributor
Indem du ein Programm im Netz suchst, bei dem zufällig eine TextArea und daneben 4 Eingabefleder sind :roll:

http://java.sun.com/docs/books/tutorial/uiswing/

Code:
// Von [url]http://www.java-forum.org/de/viewtopic.php?t=70008&highlight=&sid=9c077f4f68244c503dabf71bc9009e48[/url]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class Metropole extends JFrame {
  JTextField jtf_groesse;
  JTextField jtf_gewicht;
  JTextArea  jta_ausgabe;
  Container cp;
  Color hintergrundfarbe;

public Metropole(String title) {
  super(title);
  cp = getContentPane();
  hintergrundfarbe = cp.getBackground();
  Lauscher lausch = new Lauscher();


  JLabel jl_ueberschrift = new JLabel("Programm zur Ermittlung,",SwingConstants.CENTER);
         jl_ueberschrift.setFont(new Font("Arial",Font.PLAIN,20));
  JLabel jl_ueberschrift2 = new JLabel(" ob eine Stadt eine Metropole ist",SwingConstants.CENTER);
         jl_ueberschrift2.setFont(new Font("Arial",Font.ITALIC,14));

  JPanel jl_north = new JPanel();
         jl_north.add(jl_ueberschrift);
         jl_north.add(jl_ueberschrift2);

  JLabel jl_groesse = new JLabel("Groesse: ");
  JLabel jl_cm = new JLabel("cm");
  JLabel jl_gewicht = new JLabel("Gewicht: ");
  JLabel jl_kg = new JLabel("kg");
         jtf_groesse = new JTextField("180",4);
         jtf_groesse.setHorizontalAlignment(SwingConstants.RIGHT);
         jtf_gewicht = new JTextField("80",4);
         jtf_gewicht.setHorizontalAlignment(4);
         jtf_gewicht.setOpaque(false);

  JButton jb_berechnen = new JButton("Berechnen");
          jb_berechnen.addActionListener(lausch);

  JPanel jp_center = new JPanel(new BorderLayout());
         jta_ausgabe = new JTextArea(4,20);
         jta_ausgabe.setLayout( new GridLayout(3, 2, 6, 3) );
         jp_center.add(jta_ausgabe, BorderLayout.WEST);
         jta_ausgabe.setText("Stadtnamen eingeben:");


         JPanel p = new JPanel(new GridLayout(4,1,6,3));
         p.add(jtf_groesse);
         p.add(jtf_gewicht);
         p.add(jl_kg);
         p.add(jb_berechnen);
         jp_center.add(p, BorderLayout.EAST);

         jp_center.setOpaque(false);
         jta_ausgabe.setBackground(Color.lightGray);

  JButton jb_quit = new JButton("QUIT");
          jb_quit.addActionListener(lausch);

  JPanel jp_south = new JPanel();
         jp_south.add(jb_quit);
         jp_south.setLayout(new GridLayout(1,3));

  cp.add(jl_north,"North");
  cp.add(jp_center,"Center");
  cp.add(jp_south,"South");

  this.setDefaultCloseOperation(EXIT_ON_CLOSE);
  }

class Lauscher implements ActionListener {

  public void actionPerformed(ActionEvent e) {

  String bezeichner = e.getActionCommand();
  double groesse,gewicht,index;

  if(bezeichner.equals("Berechnen")) {
    jta_ausgabe.setBackground(Color.white);
    groesse = Double.parseDouble(jtf_groesse.getText());
    gewicht = Double.parseDouble(jtf_gewicht.getText());

    index = (int) (gewicht*100/(groesse/100*groesse/100))/100.0;

    jta_ausgabe.setText("Sie haben ein Body Mass-Index von:\n\t"+index);
    if(index>=19&&index<=25) {
      jta_ausgabe.append("\n Herzlichen Glückwunsch!!");
      jta_ausgabe.setBackground(Color.cyan);
    }
  }

  if(bezeichner.equals("yellow")) {
    cp.setBackground(Color.yellow);
  }

  if(bezeichner.equals("blue")) {
    cp.setBackground(Color.blue.brighter());
  }

  if(bezeichner.equals("Standard")) {
    cp.setBackground(hintergrundfarbe);
  }

  if(bezeichner.equals("Zufallsfarbe")) {
    int r = (int)(1+Math.random()*254);
    int g = (int)(10+Math.random()*244);
    int b = (int)(100+Math.random()*154);
    cp.setBackground(new Color(r,g,b));
  }


  if(bezeichner.equals("QUIT")) {
    if(JOptionPane.showConfirmDialog(null,"Wirklich beenden?","Frage",
       JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
         System.exit(0);
       }
  }

  if(bezeichner.equals("About")) {
  int titel = JOptionPane.WARNING_MESSAGE;
  JOptionPane.showMessageDialog (null, "About-Test", "About",titel);
  }
}
}

public static void main(String[] args) {

  Metropole fenster = new Metropole("Metropole");
                   fenster.setLocation(250,200);
                   fenster.setSize(450,250);
                   fenster.setVisible(true);
}
}
 
G

Guest

Gast
So hatte ich das auch schon ein paar mal. Aber laut aufgabenblatt soll es so aussehen, also die Buttons frei stehend:



javahr5.jpg
 

Schandro

Top Contributor
dann mach
setLayout(null)
und leg die Pixelkoordinaten der einzelnen Sachen mit
setBounds(...)
fest
 
D

Doodle

Gast
Danke für die antwort, hast du vielleicht nochmal ein Beispiel zu setBounds()?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Swing-Darstellung in Windows-Optik? Java Basics - Anfänger-Themen 13
C Darstellung von Datum - Codes richtig? Java Basics - Anfänger-Themen 2
pkelod Binäre Darstellung Bitwise-Operator Java Basics - Anfänger-Themen 10
W OOP Objektorientiert: Darstellung von Uhrzeiten im 24-Stunden-Format Java Basics - Anfänger-Themen 15
J Frage zur Darstellung Java Basics - Anfänger-Themen 2
I Darstellung von Brüchen Java Basics - Anfänger-Themen 25
T Erste Schritte Darstellung der Java-Projekte in Eclipse Java Basics - Anfänger-Themen 2
H Eclipse , Design-Modus, unvollständige Darstellung Java Basics - Anfänger-Themen 0
I Fehlermeldung bei Darstellung von Arrays Java Basics - Anfänger-Themen 2
G Graphische Darstellung (Arbeiten mit einem Window) Java Basics - Anfänger-Themen 1
V Rechenzeichen bei Termen - Darstellung bei Schleifen Java Basics - Anfänger-Themen 7
M Arrays: Trennung von Daten und Darstellung Java Basics - Anfänger-Themen 1
B Quadratwurzel nach Heron in rekursiver Darstellung Java Basics - Anfänger-Themen 1
M Darstellung von Dezimalzahlen Java Basics - Anfänger-Themen 2
S Darstellung eines Balkendiagrammes Java Basics - Anfänger-Themen 14
G Adjazenzlisten-Darstellung Java Basics - Anfänger-Themen 2
J Falsche Darstellung von Float Java Basics - Anfänger-Themen 2
J Automatentheorie-Darstellung der regulären Sprache eines DEA Java Basics - Anfänger-Themen 5
A Char Bytes Umwandlung und Darstellung Java Basics - Anfänger-Themen 3
Fab1 Interface UML Darstellung von impl. Methoden Java Basics - Anfänger-Themen 7
K Problem mit JTable Daten-darstellung Java Basics - Anfänger-Themen 6
-horn- Einfache graphische Darstellung von 3D Koordinaten für Flugbahnen? Java Basics - Anfänger-Themen 4
Z Probleme bei Darstellung von Brüchen Java Basics - Anfänger-Themen 15
D Bit-Darstellung Gleitkommazahl Java Basics - Anfänger-Themen 2
E JLabel deaktivieren ohne Veränderung der Darstellung Java Basics - Anfänger-Themen 2
F Tabellenähnliche Darstellung Java Basics - Anfänger-Themen 17
F Datentypen 4- bit darstellung Java Basics - Anfänger-Themen 5
DStrohma Alternative Darstellung von Paketen in Eclipse Java Basics - Anfänger-Themen 2
H Darstellung ComboBox in jTable Java Basics - Anfänger-Themen 5
B Effektive Implementierung für Darstellung großer Datenmengen in Jogl Java Basics - Anfänger-Themen 5
E Darstellung der Choice Einträge Java Basics - Anfänger-Themen 4
W Darstellung negativer Zahlen und Mengen von Zahlen Java Basics - Anfänger-Themen 9
A Program zur Darstellung von Zahlen in Java Java Basics - Anfänger-Themen 4
S Darstellung der Ausgabe Java Basics - Anfänger-Themen 8
A GregorianCalendar -Darstellung mit drawString Java Basics - Anfänger-Themen 3
A JFileChooser Darstellung Java Basics - Anfänger-Themen 3
K Silo Volumenberechnung mit Visueller darstellung Java Basics - Anfänger-Themen 20
S Darstellung von Umlauten Java Basics - Anfänger-Themen 24
P Problem mit Darstellung im Baum Java Basics - Anfänger-Themen 4
T Special Character darstellung Java Basics - Anfänger-Themen 4
G Problem mit der Darstellung (JFreechart) Java Basics - Anfänger-Themen 3
D JFileChooser Darstellung ändern? Java Basics - Anfänger-Themen 4
B Darstellung eines gesperrten JTextField Java Basics - Anfänger-Themen 2
M Illegal Escape Character und keine Darstellung? Java Basics - Anfänger-Themen 7
M Programm zur Darstellung von Abschreibungen Java Basics - Anfänger-Themen 5
B Grafische Darstellung einer Emailverteilerliste Java Basics - Anfänger-Themen 2
G Problem bei der Darstellung von bestimmten ASCII-Zeichen Java Basics - Anfänger-Themen 4
J SWING UI Designer und zeichnen Java Basics - Anfänger-Themen 4
G Maven Swing: Wie verwende ich WindowListener ? Java Basics - Anfänger-Themen 2
C Threads und Swing Java Basics - Anfänger-Themen 9
A Swing: Raumshiff Java Basics - Anfänger-Themen 3
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
nbergmann Wo ist javax.swing.JOptionPane gespeichert? Java Basics - Anfänger-Themen 4
StevenGG Java swing "New Integer" Java Basics - Anfänger-Themen 5
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
O ImageIcon, Swing Java Basics - Anfänger-Themen 1
O Swing JPanel Java Basics - Anfänger-Themen 4
F Swing - Fehler - Paint Methode Java Basics - Anfänger-Themen 7
M Input/Output Java Swing: Prüft ob Text aus JTextField ausschließlich Integer enthält Java Basics - Anfänger-Themen 15
mobaer Swing Timer stoppen Java Basics - Anfänger-Themen 3
M Wie kann ich hier ein Textfeld hinzufügen Java Swing? Java Basics - Anfänger-Themen 1
M SpielMenü mit Swing Java Basics - Anfänger-Themen 3
M Wie kann ich eine Eingabe im Java-Swing übergeben? Java Basics - Anfänger-Themen 1
N javax swing JOptionPane Hilfe Java Basics - Anfänger-Themen 3
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
C Der Swing Layout-Manager hasst mich Java Basics - Anfänger-Themen 4
M Java swing im Browser starten Java Basics - Anfänger-Themen 0
M JavaFX in Swing-Applikationen einbetten Java Basics - Anfänger-Themen 5
Z Threads SWING mit EventQueue.invokeLater Java Basics - Anfänger-Themen 1
P JDK installieren javac behauptet Javax.swing existiert nicht Java Basics - Anfänger-Themen 8
K Ascii Converter mit Swing Java Basics - Anfänger-Themen 4
b1ck Interface Verständnisfrage zum GUI mit "swing" Java Basics - Anfänger-Themen 1
N Erste Schritte Karte in SWING Application Java Basics - Anfänger-Themen 4
D Mehrfacherfassung in Swing GUI Java Basics - Anfänger-Themen 12
D Datum aus Swing in MySQL DB speichern Java Basics - Anfänger-Themen 22
R warum kann System.out.println(..) etwas, was Swing-Elemente Nicht können ? Java Basics - Anfänger-Themen 11
J Input/Output Charset Swing- Eingaben? Java Basics - Anfänger-Themen 8
S JUnit - Swing- Anwendung wird nicht neu gestartet Java Basics - Anfänger-Themen 0
Q Threads Threads in Swing Anwendungen Java Basics - Anfänger-Themen 5
B Swing intstalliert Eclips{}, mackiert Rot Java Basics - Anfänger-Themen 6
U Java Swing Timer mit ButtonKlick starten u. nach 12 Sekunden Befehl ausführen Java Basics - Anfänger-Themen 7
S Input/Output In Java Swing auf Button warten? Java Basics - Anfänger-Themen 9
N Problem mit Swing Textfeld und Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 6
G Performance - höhere Anzahl Swing Elemente Java Basics - Anfänger-Themen 5
B Java Swing "Zeichenfläche" Java Basics - Anfänger-Themen 1
O Alternative zum swing-Timer Java Basics - Anfänger-Themen 5
F Swing Applet: mehrere Komponenten hinzufügen Java Basics - Anfänger-Themen 1
F Platzieren von Komponenten in Swing Applet funktioniert nicht Java Basics - Anfänger-Themen 3
P Hintergrundbild in Swing einfügen Java Basics - Anfänger-Themen 3
C Swing frage Java Basics - Anfänger-Themen 8
T Rechenprogramm mit Swing Java Basics - Anfänger-Themen 3
K Swing Darstellungsproblem Java Basics - Anfänger-Themen 11
G Verständnisproblem mit swing Java Basics - Anfänger-Themen 6
P Swing - Blackscreen Java Basics - Anfänger-Themen 10
Y Random-Objekt und Swing Java Basics - Anfänger-Themen 4
M Klassen Hilfe bei SWING Java Basics - Anfänger-Themen 5
S GUI Problem: Swing Java Basics - Anfänger-Themen 8
M Javax.swing - Timer(2 Button) Java Basics - Anfänger-Themen 17
J Timer - Swing Java Basics - Anfänger-Themen 5
B Erste Schritte Primefaces -> Swing Gui Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben