Datum in Fenster?

Status
Nicht offen für weitere Antworten.

mobile

Bekanntes Mitglied
Hi,

ich habe mal eine Frage. Ich möchte in mein Fenster noch das aktuelle Datum ausgeben. Ich weiß nur nicht wie. :(! Also die Ausgabe habe ich in der Main Methode schon erstellt. Allerdings möchte ich jetzt ein viertes Panel ganz oben in mein Fenster einfügen, nur wiemache ich das? Ich habe ja schon North,Center,East vergeben. Das Datum soll jetzt quasi über North.

Ich bekomme es auch nicht hin, dass das Datum dann in dem Label angezeigt wird. Habe es schon ähnlich versucht wie mit der Methode datenAusgeben.setText(..) aber irgendwie geht das nicht.

Hoffe ihr könnt mir helfen. HIer der Code

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


final public class CBMI extends JFrame
{
   //Behandlung für das Frame WindowLauscher
    final class CBMIRechner extends WindowAdapter
   {
       final public void windowClosing(WindowEvent e)
      {
         System.exit(0);
      }
   }
   
   //Behandlung für Button BMI Rechnen
   final class CRechnen implements ActionListener
   {
        final public void actionPerformed(ActionEvent e)
      	{
           	float gewicht = Float.parseFloat(ge.getText());
			float groese = Float.parseFloat(gr.getText());
			double ergebnis;
			ergebnis = gewicht / Math.pow((groese),2);
		
			//Bedingungen für Ergebniss
			if(ergebnis <= 19)
				{
				datenAusgabe.setText("Ihr BMI beträgt " + (byte) ergebnis + "!" + " Das heißt, dass Sie Untergewicht haben");
				}
			else
				{
				datenAusgabe.setText("Ihr BMI beträgt  " + (byte) ergebnis + "!" + " Das heißt, dass Sie Normalgewicht haben");	
				}
			if(ergebnis >= 26)
				{
				datenAusgabe.setText("Ihr BMI beträgt  " + (byte) ergebnis + "!" + " Das heißt, dass Sie Übergewicht haben");	
				}
			if(ergebnis >= 30)
				{
				datenAusgabe.setText("Ihr BMI beträgt  " + (byte) ergebnis + "!" + " Das heißt, dass Sie fettsüchtig sind");
				}
		}
   	}
	
	//Behandlung der Schalter Exit
   final class CProgrambeenden implements ActionListener
   {
      final public void actionPerformed(ActionEvent e)
      {
         System.exit(0);
      }
   }
   
   //Behandlung der Schalter Tabelle
   final class CTabelleOpen implements ActionListener
   {
      final public void actionPerformed(ActionEvent e)
      {
        CTabelle Fenster2 = new CTabelle("BMI Tabelle");
      
      	Fenster2.pack();
      	Fenster2.setSize(360,225);
      	Fenster2.show();
      	Fenster2.setLocation(150,125);
      }
   }
   
   //Behandlung der Schalter Gewicht/Puls
   final class CGewichtOpen implements ActionListener
   {
      final public void actionPerformed(ActionEvent e)
      {
        CPuls Fenster3 = new CPuls("Gewicht und Puls");
      
      	Fenster3.pack();
      	Fenster3.setSize(320,280);
      	Fenster3.show();
      	Fenster3.setLocation(400,500);
      }
   }
     
      
   //Kontruktor legt Schalter und Label an
   CBMI(String titel)
   {
      super(titel);   //Fenstertitel
      
      //layout des Fensters
      getContentPane().setLayout(new BorderLayout());
            
      //Panel für Eingabe erzeugen
      JPanel eingabe = new JPanel();
           
      JLabel datengr = new JLabel("Größe in m: ");
      ge = new JTextField(4);
      JLabel datenge = new JLabel("Gewicht in Kg: ");
      gr = new JTextField(4);
      JButton berechnen = new JButton ("Berechnen");
      
     
      eingabe.add(datengr);
      eingabe.add(gr);
      eingabe.add(datenge);
      eingabe.add(ge);
      eingabe.add(berechnen);
      
      datengr.setForeground(Color.blue);
      datenge.setForeground(Color.blue);
      berechnen.setForeground(Color.blue);
      
      berechnen.setBackground(Color.white);
      
      berechnen.setPreferredSize(new Dimension(98,20));
           
      //Neues Panel für AusgabeFeld erzeugen
      JPanel ausgabe = new JPanel();
      datenAusgabe = new JLabel ("Hier erscheint Ihr Ergebnis");
      
      ausgabe.add(datenAusgabe);
      
      datenAusgabe.setForeground(Color.black);
      
      //Panel für Buttons erzeugen
      JPanel button = new JPanel();
      JButton exit = new JButton ("Beenden");
      JButton tabelle = new JButton ("Optimaler BMI");
      JButton gekö = new JButton ("Gewicht/Puls");
      	
      button.add(tabelle);
      button.add(gekö);
      button.add(exit);
      
      tabelle.setForeground(Color.orange);
      exit.setForeground(Color.orange);
      gekö.setForeground(Color.orange);
      
      tabelle.setBackground(Color.white);
      exit.setBackground(Color.white);
      gekö.setBackground(Color.white);
      
      gekö.setPreferredSize(new Dimension(115,20));
      tabelle.setPreferredSize(new Dimension(115,20));
      exit.setPreferredSize(new Dimension(115,20));
            
      //Panels zum Fenster zufügen
      getContentPane().add(eingabe,"North");
      getContentPane().add(ausgabe,"Center");
      getContentPane().add(button,"South");
      
      //Frame bei Listener anmelden
      addWindowListener(new CBMIRechner());
            
      //Listener für Schalter regisrieren
      berechnen.addActionListener(new CRechnen());
      exit.addActionListener(new CProgrambeenden());
      tabelle.addActionListener(new CTabelleOpen());
      gekö.addActionListener(new CGewichtOpen());
     
      
}
   private JLabel datenAusgabe;
   
   private JPanel eingabe = null;
   private JTextField ge = null;
   private JTextField gr = null;
   private JButton berechnen = null;
   private JPanel ausgabe = null;
   private JPanel button = null;
   private JButton exit = null;

   //Hauptklasse des Programms
   public static void main(String[] args)
   {
      //Instanz von Fensterklasse anlegen
      CBMI Fenster = new CBMI("BMI Berechnen");
      
      Fenster.pack();
      Fenster.setSize(400,130);
      Fenster.show();
      Fenster.setLocation(400,400);
      
      Date heute = new Date();
      DateFormat formatiere = DateFormat.getDateInstance(DateFormat.MEDIUM,Locale.GERMANY);
      String datumDeutsch = formatiere.format(heute);
	  
    }   
}

Danke für eure Hilfe!
 

The_S

Top Contributor
Du könntest dein Label mit der Uhrzeit einen neuen Container adden und danach die Componente die sich momenten im BorderLayout.NORTH befindet ebenfalls diesem Container adden. Dann addest du deiner Haupt-Componente im BorderLayout.NORTH diesen neuen Container. Musst halt deinen Container mit den gewünschten Layout-Manager (GridLayout z. B.) ausstatten und schon haste dein Datum ganz oben ;).

Ein Label mit einem Datum bekommste z. B. so

Code:
GregorianCalendar cal = new GregorianCalendar();
JLabel datum = new JLabel(cal.get(Calendar.DAY_OF_MONTH) + "." + (cal.get(Calendar.MONTH) + 1) + "." + cal.get(Calendar.YEAR));

Noch was allgemeines zu deinem Code, was mir beim drüberfliegen aufgefallen ist:

show ist deprecated, benutze setVisible und das pack() kannste dir sparen wenn de danach eh mit setSize die größe setzt.
 

Snape

Bekanntes Mitglied
Außerdem:
Objekte beginnen mit einem Kleinbuchstaben
Klassennamen brauchen deshalb auch kein führendes C oder T wie bei C/C++, ist also auch zu entfernen. Z.B. CProgrambeenden -> Programbeenden, wobei Programmbeenden auch weder eine sinnvolle Bezeichnung ist noch sich an die Konventionen hält. Wenn schon, dann ProgrammBeenden. Aber da dies der ActionListener für den ExitButton ist, wäre ExitButtonListener eine treffendere Bezeichnung. Usw. usf.
 

The_S

Top Contributor
Was außerdem noch ist:

Den WindowListener kannste dir ebenfalls sparen, setz bei JFrame lieber ein
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ist einfach kürzer ;). Und man verwendet in Variablen Namen keine Umlaute.
 

Leroy42

Top Contributor
Da muß ich dann auch noch meinen
Senf.jpg

dazugeben.

Um dir die Mühe zu sparen, für jeden Button einen eigenen, mehr oder weniger
verdröselten, Dateinaman auszudenken, mach dich mit den anonymen inneren Klassen vertraut.
Statt
Code:
   //Behandlung der Schalter Tabelle 
   final class CTabelleOpen implements ActionListener 
   { 
      final public void actionPerformed(ActionEvent e) 
      { 
        CTabelle Fenster2 = new CTabelle("BMI Tabelle"); 
      
         Fenster2.pack(); 
         Fenster2.setSize(360,225); 
         Fenster2.show(); 
         Fenster2.setLocation(150,125); 
      } 
   }

schreibst du dann einfach

Code:
   // öffnet die Tapelle
public void openTabelle() {
  CTabelle Fenster2 = new CTabelle("BMI Tabelle"); 
      
  Fenster2.pack(); 
  Fenster2.setSize(360,225); 
  Fenster2.show(); 
  Fenster2.setLocation(150,125); 
}
und in deinem Konstruktor
Code:
tabelle.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent e) {
    openTabelle();
  }});

Aktionen, die nur aus wenigen Zeilen bestehen kannst du dir natürlich sparen und direkt
in die actionPerformed()-Methode schreiben. Der obige Ansatz hat allerdings den Vorteil,
daß du die Methode auch von woanders aufrufen kannst.
 

personenkult

Aktives Mitglied
Snape hat gesagt.:
Außerdem:
Objekte beginnen mit einem Kleinbuchstaben
Klassennamen brauchen deshalb auch kein führendes C oder T wie bei C/C++, ist also auch zu entfernen. Z.B. CProgrambeenden -> Programbeenden, wobei Programmbeenden auch weder eine sinnvolle Bezeichnung ist noch sich an die Konventionen hält. Wenn schon, dann ProgrammBeenden. Aber da dies der ActionListener für den ExitButton ist, wäre ExitButtonListener eine treffendere Bezeichnung. Usw. usf.

In C gibt es keine Klassen. Du meinst sicherlich C++, da ist es aber auch nicht so. Bei der MFC macht man es, wenn man sich dran halten will. C/C++ gibt es nicht. Es gibt C oder C++. Usw. usf ;)
 

Leroy42

Top Contributor
personenkult hat gesagt.:
C/C++ gibt es nicht.
Und in welcher Sprache kann man dann schreiben
Code:
int *p = &einCharArray[5];

Sorry, aber C/C++ für C oder C++ zu schreiben ist doch wohl legitim.
Natürlich muß es allerdings stimmen (Keine Klassen in C)
 

personenkult

Aktives Mitglied
Viele denken aber C/C++ ist das gleiche, weil man es halt so schreibt. Was man auch der Aussage entnehmen kann:
Klassennamen brauchen deshalb auch kein führendes C oder T wie bei C/C++

Aber das soll nun kein Grund sein eine wilde Diskussion los zutreten..
:)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Tage zum Datum addieren AWT, Swing, JavaFX & SWT 2
S Swing zu einem Datum Tage addieren/subtrahieren AWT, Swing, JavaFX & SWT 6
S Swing Datum umformen AWT, Swing, JavaFX & SWT 3
Esquid Datum zu Wochentag Rechner AWT, Swing, JavaFX & SWT 1
T Swing Problem mit Datum und FormattedTextField AWT, Swing, JavaFX & SWT 2
P JavaFX StackedAreaChart mit Datum und Zeit AWT, Swing, JavaFX & SWT 2
H Swing JCalendarCombo nachträglich Datum und Time AWT, Swing, JavaFX & SWT 2
A SWT DateTime Calendar - Nur ab Datum xy selektierbar möglich? AWT, Swing, JavaFX & SWT 2
N Swing JSpinner mit Datum aber ohne Uhrzeit AWT, Swing, JavaFX & SWT 2
D Datum im Nachocalendar vergleichen AWT, Swing, JavaFX & SWT 2
J Swing Swing Ein/Ausgabe von einem Datum AWT, Swing, JavaFX & SWT 3
S Datum in Tabelle darstellen? AWT, Swing, JavaFX & SWT 4
A Datum prüfen AWT, Swing, JavaFX & SWT 11
N JCalendar - Kein Datum auswählen AWT, Swing, JavaFX & SWT 3
L SWT-Table: Datum ausgeben? AWT, Swing, JavaFX & SWT 5
M Datum Textfield AWT, Swing, JavaFX & SWT 6
T Datum in Textfeld automatisch formatieren AWT, Swing, JavaFX & SWT 8
W JTable und die java.sql.xxx Datum-/Zeitformate AWT, Swing, JavaFX & SWT 5
P Aktuelles Datum in einem JTextField AWT, Swing, JavaFX & SWT 3
S Datum formatieren AWT, Swing, JavaFX & SWT 19
D Datum in JTable AWT, Swing, JavaFX & SWT 2
D Systemuhr und Datum in JLabel anzeigen AWT, Swing, JavaFX & SWT 7
M suche geeignetes Fenster zur Anzeige AWT, Swing, JavaFX & SWT 49
berserkerdq2 Kann ich ein Rechteck mittig im Fenster halten, egal wie ich die Bildschirmgröße verändere? AWT, Swing, JavaFX & SWT 3
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
TheSepp Fenster um x Pixel bewegen, wenn man auf dem Knopf drückt AWT, Swing, JavaFX & SWT 10
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
_user_q Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
L Swing Files abspeichern mit Save as Dialog Fenster AWT, Swing, JavaFX & SWT 5
OZAN86 einfaches Fenster öffnen scheitert AWT, Swing, JavaFX & SWT 18
G Zuletzt aktives Fenster, vor dem aktuell aktiven AWT, Swing, JavaFX & SWT 2
sserio Kann man bei JavaFx ein Fenster aufkommen lassen? AWT, Swing, JavaFX & SWT 1
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
S Swing Alles beenden bei Fenster mit Scroll-Balken AWT, Swing, JavaFX & SWT 6
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
CptK Fokus auf geöffnetes Zweit-Fenster setzen und Eingaben außerhalb blocken AWT, Swing, JavaFX & SWT 2
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
MiMa JavaFX Fenster in JavaFX öffnen Schliessen (Initialisierung) AWT, Swing, JavaFX & SWT 20
N Kontextmenü (Popup-Fenster) erstellen AWT, Swing, JavaFX & SWT 3
L Hintergrundbild im Fenster darstellen AWT, Swing, JavaFX & SWT 9
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 13
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
N Drag and Drop Fenster AWT, Swing, JavaFX & SWT 11
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
Bluedaishi JavaFX Programm start mit zwei scenen bzw Fenster AWT, Swing, JavaFX & SWT 1
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
S Swing Fenster State Machine AWT, Swing, JavaFX & SWT 1
A Fenster genau unterhalb von JTextField anzeigen AWT, Swing, JavaFX & SWT 1
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
S Swing Bei start des Programmes kein Fenster zu sehen AWT, Swing, JavaFX & SWT 1
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
platofan23 JAVAFX zweites Fenster öffnen AWT, Swing, JavaFX & SWT 2
M JavaFX Altes Fenster (FXML Datei) löschen AWT, Swing, JavaFX & SWT 16
P JavaFX Fenster lädt nicht mehr AWT, Swing, JavaFX & SWT 4
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JavaFX Fenster 1 Array übertragen zur Fenster 2 AWT, Swing, JavaFX & SWT 0
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
K Fenster welches den Sieger anzeigt AWT, Swing, JavaFX & SWT 5
O JavaFX Fenster scließen AWT, Swing, JavaFX & SWT 4
A Swing Fenster ändert Position bei Mausklick nicht AWT, Swing, JavaFX & SWT 2
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
L Input aus Sub-Fenster Startfenster übergeben AWT, Swing, JavaFX & SWT 5
B AWT Fenster schließt nicht AWT, Swing, JavaFX & SWT 2
H JavaFX Kriege fehler beim Fenster wechseln AWT, Swing, JavaFX & SWT 7
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
U Swing Inhalt vom Fenster wird erst durch Hovern oder Klicken sichtbar AWT, Swing, JavaFX & SWT 3
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
T Fenster schließen AWT, Swing, JavaFX & SWT 4
K JavaFX ObservableList + Fenster AWT, Swing, JavaFX & SWT 6
windl Transparentes / halbtransparentes Fenster AWT, Swing, JavaFX & SWT 1
K Fenster mittig im Vollbildschirm - ok, aber ... AWT, Swing, JavaFX & SWT 2
N Swing Sorry nicht mal ein Fenster öffnen... AWT, Swing, JavaFX & SWT 19
S actionlistener mit 2 fenster integrieren AWT, Swing, JavaFX & SWT 11
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
D JavaFX (WebStart) Graues Fenster beim Start AWT, Swing, JavaFX & SWT 4
J Button vergrößert sich bei Fenster resize AWT, Swing, JavaFX & SWT 22
L Zweites Fenster mit Thread AWT, Swing, JavaFX & SWT 0
Paul15 Zwei Fenster AWT, Swing, JavaFX & SWT 23
T LayoutManager Methode, um Bildschirm(fenster) für Aktualisierungen zu blockieren bzw. freizugeben gesucht AWT, Swing, JavaFX & SWT 2
C AWT Problem mit Protokol Fenster AWT, Swing, JavaFX & SWT 0
L Daten in neuem Fenster AWT, Swing, JavaFX & SWT 2
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
A Swing Textübergabe innerhalb der Anwendung in unterschiedlichen Fenster AWT, Swing, JavaFX & SWT 8
wolfgang63 JavaFX Animation, Kreise im vorgegebem Takt durchs Fenster laufen lassen AWT, Swing, JavaFX & SWT 3
K Java Button öffnet neues Fenster AWT, Swing, JavaFX & SWT 5
Z Fenster leer, wenn ich ein JTextField erzeuge AWT, Swing, JavaFX & SWT 3
W Swing JScrollPane für mein Fenster AWT, Swing, JavaFX & SWT 4
X Swing 2 Fenster (1 im Vordergrund) AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben