Hallo Forum,
ich lerne im zuge meiner Techniker java.
Ich stehe momentan vor dem Problem, dass wenn ich ein gesetztes Label im späteren Programmcode neu beschreibe, dies nicht nicht richtig angezeigt wird, bzw. erst wenn ich die Fenstergröße meines Applets einmal verändert habe.
Bis jetzt habe ich mir mit führenden leerzeichen (Zeile 56 & 61) geholfen, dass kann aber nicht die Lösung des Problems sein.
Habt ihr eine möglichkeit für mich, dieses Problem zu lösen.
Danke im vorraus.
ich lerne im zuge meiner Techniker java.
Ich stehe momentan vor dem Problem, dass wenn ich ein gesetztes Label im späteren Programmcode neu beschreibe, dies nicht nicht richtig angezeigt wird, bzw. erst wenn ich die Fenstergröße meines Applets einmal verändert habe.
Java:
import java.applet.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Zinsrechnung extends Applet implements ActionListener {
TextField tAnfangsw,tZinsen,tJahre;
Label lAnfangsw,lZinsen,lJahre,lErgebnis,lGewinn;
Button bberechne;
double dJahre,dZinsen,dAnfangsw,dGuthaben,dGewinn;
String sGuthaben,sGewinn;
public void init()
{
GridBagConstraints gbc = new GridBagConstraints();
setLayout(new GridBagLayout());
lAnfangsw = new Label ("Anfangswert: ");
gbc.gridx=1;
gbc.gridy=1;
add(lAnfangsw,gbc);
tAnfangsw = new TextField ("",5);
gbc.gridx=2;
gbc.gridy=1;
add(tAnfangsw,gbc);
lZinsen = new Label ("Zinsen: ");
gbc.gridx=1;
gbc.gridy=2;
add(lZinsen,gbc);
tZinsen = new TextField ("",5);
gbc.gridx=2;
gbc.gridy=2;
add(tZinsen,gbc);
lJahre = new Label ("Jahre: ");
gbc.gridx=1;
gbc.gridy=3;
add(lJahre,gbc);
tJahre = new TextField ("",5);
gbc.gridx=2;
gbc.gridy=3;
add(tJahre,gbc);
bberechne = new Button ("Zinsen berechnen");
gbc.gridx=1;
gbc.gridy=4;
gbc.gridwidth=2;
add(bberechne,gbc);
bberechne.addActionListener(this);
lErgebnis = new Label(" ");
gbc.gridx=1;
gbc.gridy=5;
add(lErgebnis,gbc);
lGewinn = new Label(" ");
gbc.gridx=1;
gbc.gridy=6;
add(lGewinn,gbc);
}
public void actionPerformed(ActionEvent evt)
{
if (evt.getSource() == bberechne)
{
dAnfangsw=umwandlung(tAnfangsw);
dZinsen=umwandlung(tZinsen);
dJahre=umwandlung(tJahre);
dGuthaben=zinsberechnung(dAnfangsw,dZinsen,dJahre);
dGewinn = dGuthaben - dAnfangsw;
dGewinn = Math.round(dGewinn*100.0)/100.0;
sGuthaben=Double.toString(dGuthaben);
sGewinn=Double.toString(dGewinn);
lErgebnis.setText("Guthaben: "+dGuthaben+"€");
lErgebnis.setBackground(Color.YELLOW);
lGewinn.setText("Gewinn: "+sGewinn+"€");
lGewinn.setBackground(Color.GREEN);
}
}
public double umwandlung(TextField Wert)
{
double dRueckgabe;
dRueckgabe = Double.parseDouble(Wert.getText());
return dRueckgabe;
}
public double zinsberechnung(double Anfangsw,double Zinsen,double Jahre)
{
double dRueckgabe;
dRueckgabe = Math.pow((1+(Zinsen/100)),Jahre)*Anfangsw;
dRueckgabe = Math.round(dRueckgabe*100.0)/100.0;
return dRueckgabe;
}
}
Bis jetzt habe ich mir mit führenden leerzeichen (Zeile 56 & 61) geholfen, dass kann aber nicht die Lösung des Problems sein.
Habt ihr eine möglichkeit für mich, dieses Problem zu lösen.
Danke im vorraus.