Variablen speicher

M

Milkaselnuss

Gast
Ich hab ein Problem. Ich habe ein Programm, in dem ein Zinsrechner verbaut ist (der funtkioniert auch) und ich habe das Ganze mit einem Swing am Anfang erweitert. Jetzt ist es so, dass ich im Swing die Variablen anzeigen will, aber es nicht funktioniert und ich komme auch nicht drauf, wie ich das hinkriegen soll.


Hier der Code:
Java:
package Zinsrechner1;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JOptionPane;



public class Fenster extends JFrame implements ActionListener{
	
	private JButton Starten;
	private JButton Beenden;
	public static String eingabe = "";
	public static String prozenteingabe = "";
	public static String laufzeitseingabe = "";
	public static int Kapital = 0;
	
	public Fenster(){
		super ("Zinsrechner");
		JPanel Panel1 = new JPanel();
		JLabel Leer1 = new JLabel("Letztes Ergebnis:");
		JLabel Leer2 = new JLabel("");
		JLabel Leer3 = new JLabel("Kapital: " + eingabe);
		JLabel Leer4 = new JLabel("Zinssatz: " + prozenteingabe);
		JLabel Leer5 = new JLabel("");
		JLabel Leer6 = new JLabel("Laufzeit: " + laufzeitseingabe);
		JLabel Leer7 = new JLabel("Endkapital: " + Kapital);
		JLabel Leer8 = new JLabel("");
		Starten = new JButton("Zinsrechner ausführen");
		Beenden = new JButton ("Beenden");
		Starten.addActionListener(this);
		Beenden.addActionListener(this);
		Panel1.setLayout(new GridLayout(5,2));
		Panel1.add(Leer1);
		Panel1.add(Leer2);	
		Panel1.add(Leer3);
		Panel1.add(Starten);
		Panel1.add(Leer4);
		Panel1.add(Leer5);
		Panel1.add(Leer6);
		Panel1.add(Beenden);
		Panel1.add(Leer7);
		Panel1.add(Leer8);
		
		setContentPane(Panel1);
	}
	public void actionPerformed (ActionEvent Ereignis){
			Object Quelle = Ereignis.getSource();
			if (Quelle == Beenden){
				System.exit(0);
			}
			if (Quelle == Starten){
				int Wiederholung = 0;
				int ErrorOption = 0;
				String eingabe = JOptionPane.showInputDialog(null, "Wieviel Geld möchten Sie anlegen?");
				String prozenteingabe = JOptionPane.showInputDialog("Bei welchem Prozentsatz?");
				String laufzeitseingabe = JOptionPane.showInputDialog("Wieviele Jahre soll diese Investition laufen?");
				float prozent = Float.parseFloat(prozenteingabe);
				float kapital = Float.parseFloat(eingabe);
				int laufzeit = Integer.parseInt(laufzeitseingabe);
				
				if (kapital <= 0){
					JOptionPane.showConfirmDialog(null, "Ein Fehler ist aufgetreten (Fehler 301)! Kein Kapital angegeben!","Error",JOptionPane.PLAIN_MESSAGE, JOptionPane.ERROR_MESSAGE);
				 	ErrorOption++;}
				if (prozent <= 0){
					JOptionPane.showConfirmDialog(null, "Ein Fehler ist aufgetreten (Fehler 302)! Kein gültiger Prozentsatz eingegeben!","Error",JOptionPane.PLAIN_MESSAGE, JOptionPane.ERROR_MESSAGE);
				    ErrorOption++;}
				if (laufzeit < 1){
					JOptionPane.showConfirmDialog(null, "Ein Fehler ist aufgetreten (Fehler 303)! Keine gültige Laufzeit angegeben!","Error",JOptionPane.PLAIN_MESSAGE, JOptionPane.ERROR_MESSAGE);
					ErrorOption++;}
				
				while (Wiederholung < laufzeit)
				{

					float zinsen = kapital * prozent / 100;
					kapital = kapital + zinsen;
					Wiederholung++;
				}
				if (ErrorOption < 1)
					JOptionPane.showMessageDialog(null, "In " + laufzeit + " Jahren haben Sie " + kapital + " Euro auf ihrem Konto.", "", JOptionPane.PLAIN_MESSAGE);
			}
	}
	
	public static void main(String[] args){
		
		Fenster Zinsrechner = new Fenster();
		Zinsrechner.setSize(500,250);
		Zinsrechner.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Zinsrechner.setVisible(true);
		Zinsrechner.setLocationRelativeTo(null);
	}
}
 

timbeau

Gesperrter Benutzer
Siehe Signatur.

Irgendwas läuft da nicht korrekt. Sieht das bei dir auch so aus?
 

Anhänge

  • Bildschirmfoto-Zinsrechner.png
    Bildschirmfoto-Zinsrechner.png
    11,8 KB · Aufrufe: 39
Zuletzt bearbeitet:

pl4gu33

Top Contributor
in deinem Fall kannst du die Label als Klassenattribute machen, dann kannst du im ActionListener darauf zugreifen. Variablennamen bitte klein schreiben ;)

ansonsten könntest du auch den Listener als anonym manchen und die Label als final deklarieren, dann kannst du ebenfalls in dem actionPerformed darauf zugreifen.

Dort dann einfach label.setText(...) und der Text wird angezeigt
 
M

Milkaselnuss

Gast
Das geht nicht? hm schade.
Dann hätt ich allerdings noch ne Frage.
Wie mache ich das, dass 2 Frames nacheinander kommen? Ich wollte eigentlich erst ein Fenster mit
dem Text "Zinsrechner starten" und nach dem ersten Durchlauf soll da stehen "Erneut ausführen" und "Beenden"
 

Flown

Administrator
Mitarbeiter
Und wo willst du das anzeigen?

Wenn in die obenstehenden JLabels, dann:
- JLabel global definieren
-
Java:
void setText(String text)
Defines the single line of text this component will display.
- Du wirst sie dann auch final machen müssen, wenn du diese im Actionlistener aktualisierst


[EDIT]Oi ich werd alt und langsam :/[/EDIT]
 
M

Milkaselnuss

Gast
Habs grad erst gelesen

Also zuerst einmal ja das sieht bei mir so aus und ist gewollt :D

und das mit dem Label kapier ich ned. Ich brauch da ja die Variablen, die erst später deklariert werden sozusagen.
 

pl4gu33

Top Contributor
im Moment fügst du die Variablen einmal hinzu,... da haben sie aber noch keinen Wert. Also musst du sie später hinzufügen, wenn du sie gesetzt hast.

um sie im ActionListener zu benutzen musst du sie wie z.b. den Button " private JButton Starten;" als Attribut der Klasse deklarieren damit du im ActionListener drauf zugreifen kannst

Ein kleines Beispiel zum Verdeutlichen:

Java:
public class Fenster extends JFrame implements ActionListener{
    
	private JLabel lbl;
    
    public Fenster(){
    	this.setSize(200, 200);
    	this.setLayout(new GridLayout(1,1));
    	lbl=new JLabel("Hallo");
    	JButton btn=new JButton("change");
    	btn.addActionListener(this);
    	this.add(lbl);
    	this.add(btn);
    	
    }
    

	@Override
	public void actionPerformed(ActionEvent arg0) {
		// TODO Auto-generated method stub
		lbl.setText("HALLO2");
	}
	
    ...
 
Zuletzt bearbeitet:

Milkaselnuss

Aktives Mitglied
Richtig, richtig geil!!!
Vielen Dank. Das ganze funktioniert jetzt genau so wie ichs mir vorgestellt habe!

Neuer Code:

Java:
package Zinsrechner1;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JOptionPane;



public class Fenster extends JFrame implements ActionListener{
	
	private JButton Starten;
	private JButton Beenden;
	public static int kapital = 0;
	private JLabel Leer1;
	private JLabel Leer2;
	private JLabel Leer3;
	private JLabel Leer4;
	private JLabel Leer5;
	private JLabel Leer6;
	private JLabel Leer7;
	private JLabel Leer8;
	
	public Fenster(){
		super ("Zinsrechner");
		JPanel Panel1 = new JPanel();
		Leer1 = new JLabel("Letztes Ergebnis:");
		Leer2 = new JLabel("");
		Leer3 = new JLabel("Kapital: ");
		Leer4 = new JLabel("Zinssatz: ");
		Leer5 = new JLabel("");
		Leer6 = new JLabel("Laufzeit: ");
		Leer7 = new JLabel("Endkapital: ");
		Leer8 = new JLabel("");
		Starten = new JButton("Zinsrechner ausführen");
		Beenden = new JButton ("Beenden");
		Starten.addActionListener(this);
		Beenden.addActionListener(this);
		Panel1.setLayout(new GridLayout(5,2));
		Panel1.add(Leer1);
		Panel1.add(Leer2);	
		Panel1.add(Leer3);
		Panel1.add(Starten);
		Panel1.add(Leer4);
		Panel1.add(Leer5);
		Panel1.add(Leer6);
		Panel1.add(Beenden);
		Panel1.add(Leer7);
		Panel1.add(Leer8);
		
		setContentPane(Panel1);
	}
	public void actionPerformed (ActionEvent Ereignis){
			Object Quelle = Ereignis.getSource();
			if (Quelle == Beenden){
				System.exit(0);
			}
			if (Quelle == Starten){
				int Wiederholung = 0;
				int ErrorOption = 0;
				String eingabe = JOptionPane.showInputDialog(null, "Wieviel Geld möchten Sie anlegen?");
				String prozenteingabe = JOptionPane.showInputDialog("Bei welchem Prozentsatz?");
				String laufzeitseingabe = JOptionPane.showInputDialog("Wieviele Jahre soll diese Investition laufen?");
				float prozent = Float.parseFloat(prozenteingabe);
				float kapital = Float.parseFloat(eingabe);
				int laufzeit = Integer.parseInt(laufzeitseingabe);
				
				
				if (kapital <= 0){
					JOptionPane.showConfirmDialog(null, "Ein Fehler ist aufgetreten (Fehler 301)! Kein Kapital angegeben!","Error",JOptionPane.PLAIN_MESSAGE, JOptionPane.ERROR_MESSAGE);
				 	ErrorOption++;}
				if (prozent <= 0){
					JOptionPane.showConfirmDialog(null, "Ein Fehler ist aufgetreten (Fehler 302)! Kein gültiger Prozentsatz eingegeben!","Error",JOptionPane.PLAIN_MESSAGE, JOptionPane.ERROR_MESSAGE);
				    ErrorOption++;}
				if (laufzeit < 1){
					JOptionPane.showConfirmDialog(null, "Ein Fehler ist aufgetreten (Fehler 303)! Keine gültige Laufzeit angegeben!","Error",JOptionPane.PLAIN_MESSAGE, JOptionPane.ERROR_MESSAGE);
					ErrorOption++;}
				
				while (Wiederholung < laufzeit)
				{

					float zinsen = kapital * prozent / 100;
					kapital = kapital + zinsen;
					Wiederholung++;
				}
				if (ErrorOption < 1){
					JOptionPane.showMessageDialog(null, "In " + laufzeit + " Jahren haben Sie " + kapital + " Euro auf ihrem Konto.", "", JOptionPane.PLAIN_MESSAGE);}
				
				Leer3.setText("Kapital: " + eingabe);
				Leer4.setText("Zinssatz: " + prozenteingabe);
				Leer6.setText("Laufzeit: " + laufzeitseingabe);
				Leer7.setText("Endkapital: " + kapital);
			}
	}
	
	public static void main(String[] args){
		Fenster Zinsrechner = new Fenster();
		Zinsrechner.setSize(500,250);
		Zinsrechner.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Zinsrechner.setVisible(true);
		Zinsrechner.setLocationRelativeTo(null);
	}
	
}

Dabei hab ich jetzt die Texte, wie empfohlen, nach unten verlagert und das Ganze funktioniert einfach perfekt. Nochmal vielen Dank!!!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Variablen Speicher von Variablen erhöhen Java Basics - Anfänger-Themen 5
C args[] als statische Variablen speicher oder wie? Java Basics - Anfänger-Themen 12
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
T Variablen Java Basics - Anfänger-Themen 1
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
M Aufsummieren von variablen Wertegrößen Java Basics - Anfänger-Themen 17
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
ashi Variablen aufrufen Java Basics - Anfänger-Themen 17
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
B Konkatenieren eines Strings und inkremtierenden Zahl zu einer INT Variablen Java Basics - Anfänger-Themen 7
A 2 Strings vergleichen in einer methode wenn man mit Globalen variablen arbeitet Java Basics - Anfänger-Themen 12
C Konstruktoren und Variablen Java Basics - Anfänger-Themen 42
F Auf Variablen eines Konstruktors zugreifen Java Basics - Anfänger-Themen 4
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
Arif Vererbung Methodenvererbung mit finalen Variablen Java Basics - Anfänger-Themen 1
M Wie kann ich ein Objekt erstellen, wenn sich der Klassenname in einer Variablen befindet? Java Basics - Anfänger-Themen 10
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
F Variablen Werte einer Klasse überschreiben Java Basics - Anfänger-Themen 4
N Speichern von Werten in Variablen nach Schließen des Programms Java Basics - Anfänger-Themen 3
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
M Java Instanz-Variablen ? Java Basics - Anfänger-Themen 3
B Variablen von Methoden übertragen Java Basics - Anfänger-Themen 2
M Variablen umbenennen Java Basics - Anfänger-Themen 1
T Körper Brechnung - Lokale Variablen in Methoden übergeben Java Basics - Anfänger-Themen 10
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
mars90 Fehler in der Variablen Deklaration Java Basics - Anfänger-Themen 8
E Variablen in formatierter Ausgabe Java Basics - Anfänger-Themen 15
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
M Komisches Verhalten der Variablen Java Basics - Anfänger-Themen 6
H Variablen Multiplikation einer inkrementierten Variablen Java Basics - Anfänger-Themen 5
scratchy1 Variablen vertauschen wenn Bedingung "umgedreht" wird Java Basics - Anfänger-Themen 40
J Variablen mit einer anderen Klasse bekannt machen Java Basics - Anfänger-Themen 7
C Methoden Problem beim Speichern von Variablen Java Basics - Anfänger-Themen 1
A Übergreifende Variablen Java Basics - Anfänger-Themen 17
A Variablen Verständnisfrage bzgl. Variablen/Referenzen Java Basics - Anfänger-Themen 3
H Variablen Methode zum Abfragen von Variablen aus Subklassen Java Basics - Anfänger-Themen 9
P Variablen Variablen voneinander abhängig Java Basics - Anfänger-Themen 54
F Liste nach einer Variablen sortieren Java Basics - Anfänger-Themen 6
L Variablen in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
M For-Schleife durch zwei versch. Variablen begrenzen Java Basics - Anfänger-Themen 27
J Klassen Variablen in andere Klassen oder Methoden übernehmen Java Basics - Anfänger-Themen 1
P Liste auslesen und in Variablen speichern Java Basics - Anfänger-Themen 7
temi Redundante Variablen Java Basics - Anfänger-Themen 29
Aprendiendo Zweifel mit versteckter Variablen Java Basics - Anfänger-Themen 16
L Variablen einmal nur zu weisen Java Basics - Anfänger-Themen 62
D Statische Variablen/Methoden Java Basics - Anfänger-Themen 3
R Abfrage von Variablen in Unterklassen einer ArrayList Java Basics - Anfänger-Themen 9
M Listener für Button - Wert von Variablen verändern Java Basics - Anfänger-Themen 14
S Vererbung Variablen klassenübergreifend nutzen Java Basics - Anfänger-Themen 42
R Auf Variablen einer anderen Klasse zugreifen? Java Basics - Anfänger-Themen 1
D Fehlermeldung obwohl Variablen bereits deklariert sind? Java Basics - Anfänger-Themen 14
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
Aruetiise Variablen JFrame und Variablen Java Basics - Anfänger-Themen 3
L Variablen dekleration + reset Java Basics - Anfänger-Themen 16
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
D Kapselung final Variablen mit Getter? Java Basics - Anfänger-Themen 2
C Variablen von einem JFrame in einen anderen übertragen Java Basics - Anfänger-Themen 3
P Interface Variablen-Inhalte werden nicht übergeben Java Basics - Anfänger-Themen 3
C Variablen in Schleifen außerhalb verwenden Java Basics - Anfänger-Themen 2
S Variablen Flexible Variablen Namen Java Basics - Anfänger-Themen 3
R Erste Schritte 3 Variablen hochzählen lassen Java Basics - Anfänger-Themen 1
RowdyN Variablen Variablen beliebig benennen? Java Basics - Anfänger-Themen 6
S OOP Variablen zwischen mehreren Klassen Java Basics - Anfänger-Themen 11
T Koordinatensystem zeichnen - Variablen merken? Quadratische Funktion zeichnen? Java Basics - Anfänger-Themen 5
H Variablen einer Schleife zwischenspeichern Java Basics - Anfänger-Themen 2
P Klassen Variablen von einer Klasse zur anderen Java Basics - Anfänger-Themen 5
H Objekt überschreibt Variablen vorheriger Objekte Java Basics - Anfänger-Themen 2
P Variablen in Excel speichern Java Basics - Anfänger-Themen 6
S PHP Aufruf mit mehreren Variablen Java Basics - Anfänger-Themen 2
F Variablen unterschiedlicher Datentypen Java Basics - Anfänger-Themen 6
S ActionListener und Statische Variablen Java Basics - Anfänger-Themen 4
Arif Vererbung Vererbung Variablen überschreiben Java Basics - Anfänger-Themen 1
L Vergleich zweier Variablen, mit Abweichung Java Basics - Anfänger-Themen 3
P Variablen einer Methode in andere Method übergeben Java Basics - Anfänger-Themen 6
G Variablen Verwendung von Variablen in anderer Klasse Java Basics - Anfänger-Themen 6
P Textfelder in Variablen speichern Java Basics - Anfänger-Themen 13
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
J Vererbung Variablen aus Superklasse übernehmen Java Basics - Anfänger-Themen 2
L Variablen aus TXT Datei auslesen und vergleichen. Java Basics - Anfänger-Themen 5
K Welchen Typ haben Variablen in Default-Methoden und in statischen Methoden in Schnittstellen? Java Basics - Anfänger-Themen 4
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
L zwei Variablen gleichzeitig übergeben Java Basics - Anfänger-Themen 6
J Vererbung privater Variablen Java Basics - Anfänger-Themen 7
D Klassen Verhalten von Klassenvererbung bei Variablen Java Basics - Anfänger-Themen 1
G Alle Objekte und Variablen automatisch ausgeben Java Basics - Anfänger-Themen 7
S OOP Werte von Vektoren mit 3 Variablen ausgeben lassen Java Basics - Anfänger-Themen 3
A Variablen aus einer Schleife gezielt auslesen Java Basics - Anfänger-Themen 11
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
K Enigma, variablen übernehmen Java Basics - Anfänger-Themen 6
F Erste Schritte Dynamische Variablen Java Basics - Anfänger-Themen 15
N Variablen zurück casten Java Basics - Anfänger-Themen 3
M Repräsentation von variablen/OOP Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben