aus irgend einem grund wird der Text im Label nicht erneuert
hier sind die Labels die aktualisiert werden müßen
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Hausverwaltung extends JFrame{
JFrame Fenster;
Dimension fensterpos = Toolkit.getDefaultToolkit().getScreenSize();
public Hausverwaltung()
{
Fenster = new JFrame();
Fenster.setTitle("Hausverwaltung V0.2");
Fenster.setLocation(20,30);
Fenster.getContentPane().setLayout(new BorderLayout());
JTabbedPane verwaltungstabbed = new JTabbedPane();
JButton berechnungsbutton;
Kontobewegungen kontoansicht = new Kontobewegungen();
JScrollPane kontoscroll = new JScrollPane(kontoansicht);
verwaltungstabbed.addTab("Kontobewegungen",kontoscroll);
JScrollPane zusammenfassungsscroll = new JScrollPane(new Zusammenfassung());
verwaltungstabbed.addTab("Zusammenfassung",zusammenfassungsscroll);
//werden noch mehr fenste angelegt
Fenster.getContentPane().add(verwaltungstabbed,BorderLayout.CENTER);
Fenster.getContentPane().add(berechnungsbutton = new JButton("Berechnung"),BorderLayout.SOUTH);
berechnungsbutton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
new Berechnung();
//hier wird die methode die die neuen werte macht aufegrufen
}
});
Fenster.setDefaultCloseOperation(Fenster.EXIT_ON_CLOSE);
Fenster.setSize(800,600);
Fenster.setVisible(true);
}
public static void main(String[] args){
new Hausverwaltung();
}
}
Code:
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class Zusammenfassung extends JPanel{
JTextField stromgesamtfeld;
JTextField schornsteinw1feld,schornsteinw2feld,schornsteinw3feld,schornsteinw4feld;
JTextField abfallgesamtfeld,abfallw1feld,abfallw2feld,abfallg1feld,abfallw3feld,abfallw4feld;
JTextField regenwassergesamtfeld;
JTextField zusatz1titelfeld,zusatz1gesamtfeld,zusatz1w1feldfeld,zusatz1w2feldfeld,zusatz1g1feldfeld,zusatz1w3feldfeld,zusatz1w4feldfeld;
JTextField zusatz2titelfeld,zusatz2gesamtfeld,zusatz2w1feldfeld,zusatz2w2feldfeld,zusatz2g1feldfeld,zusatz2w3feldfeld,zusatz2w4feldfeld;
JTextField zusatz3titelfeld,zusatz3gesamtfeld,zusatz3w1feldfeld,zusatz3w2feldfeld,zusatz3g1feldfeld,zusatz3w3feldfeld,zusatz3w4feldfeld;
JTextField zusatz4titelfeld,zusatz4gesamtfeld,zusatz4w1feldfeld,zusatz4w2feldfeld,zusatz4g1feldfeld,zusatz4w3feldfeld,zusatz4w4feldfeld;
JTextField viterragesamtfeld;
JLabel vorauszahlunggesamtlabel,vorauszahlungw1label,vorauszahlungw2label,vorauszahlungg1label,vorauszahlungw3label,vorauszahlungs4label;
JLabel staßenreinigunggesamtlabel,staßenreinigungw1label,staßenreinigungw2label,staßenreinigungg1label,staßenreinigungw3label,staßenreinigungw4label;
JLabel versicherunggesamtlabel,versicherungw1label,versicherungw2label,versicherungg1label,versicherungw3label,versicherungw4label;
JLabel hausmeistergesamtlabel,hausmeisterw1label,hausmeisterw2label,hausmeisterg1label,hausmeisterw3label,hausmeisterw4label;
JLabel stromw1label,stromw2label,stromg1label,stromw3label,stromw4label;
JLabel schornsteingesamtlabel;
JLabel heizunggesamtlabel,heizungw2,heizungw3,heizungw4;
JLabel regenwasserw1label,regenwasserw2label,regenwasserg1label,regenwasserw3label,regenwasserw4label;
JLabel verbrauchgesamtlabel,verbrauchw1label,verbrauchw2label,verbrauchg1label,verbrauchw3label,verbrauchw4label;
JLabel reperaturgesamtlabel,reperaturw1label,reperaturw2label,reperaturg1label,reperaturw3label,reperaturw4label;
JLabel reperaturrücklagegesamtlabel,reperaturrücklagew1label,reperaturrücklagew2label,reperaturrücklageg1label,reperaturrücklagew3label,reperaturrücklagew4label;
JLabel verwaltunggesamtlabel,verwaltungw1label,verwaltungw2label,verwaltungg1label,verwaltungw3label,verwaltungw4label;
JLabel bankgebgesamtlabel,bankgebw1label,bankgebw2label,bankgebg1label,bankgebw3label,bankgebw4label;
JLabel viterraw1label,viterraw2label,viterrag1label,viterraw3label,viterraw4label;
JLabel gesamtgesamtlabel,gesamtw1label,gesamtw2label,gesamtg1label,gesamtw3label,gesamtw4label;
JLabel abzgvorauszahlungw1label,abzgvorauszahlungw2label,abzgvorauszahlungg1label,abzgvorauszahlungw3label,abzgvorauszahlungw4label;
JLabel summenwertlabel;
JLabel nachzahlenw1label,nachzahlenw2label,nachzahleng1label,nachzahlenw3label,nachzahlenw4label;
JLabel differenzwertlabel;
//holen der werte
public double[][] getWerte()
{
double[][] wert = new double[9][6];
wert[0][0] = umrechnung(abfallgesamtfeld.getText());
wert[0][1] = umrechnung(abfallw1feld.getText());
wert[0][2] = umrechnung(abfallw2feld.getText());
wert[0][3] = umrechnung(abfallg1feld.getText());
wert[0][4] = umrechnung(abfallw3feld.getText());
wert[0][5] = umrechnung(abfallw4feld.getText());
wert[1][0] = umrechnung(stromgesamtfeld.getText());
wert[2][2] = umrechnung(schornsteinw1feld.getText());
wert[2][3] = umrechnung(schornsteinw2feld.getText());
wert[2][4] = umrechnung(schornsteinw3feld.getText());
wert[2][5] = umrechnung(schornsteinw4feld.getText());
wert[3][0] = umrechnung(regenwassergesamtfeld.getText());
wert[4][0] = umrechnung(zusatz1gesamtfeld.getText());
wert[4][1] = umrechnung(zusatz1w1feldfeld.getText());
wert[4][2] = umrechnung(zusatz1w2feldfeld.getText());
wert[4][3] = umrechnung(zusatz1g1feldfeld.getText());
//wurde auch bischen gekürzt
return wert;
}
//entfernen der , und ersetzen duch .
private double umrechnung(String s)
{
String s2 = "";
boolean komma = false;
for(int i =0;i!=s.length();i++)
{
if(s.charAt(i)==','||s.charAt(i)=='.')
{
if(komma)
break;
komma=true;
s2+='.';
}
else
s2+=s.charAt(i);
}
return Double.parseDouble(s2);
}
//zurücksetzten der . in ,
private String rückrechnen(double wert)
{
wert = 11.23455678;
wert = Math.round(wert*100)/100.;
return wert+"";
}
//setzen der neuen werte
public void aktualisieren(double[][] werte)
{
//hier werden die labels mit neuem inhalt versorgt
vorauszahlunggesamtlabel.setText(rückrechnen(werte[0][0]));
vorauszahlungw1label.setText(rückrechnen(werte[0][1]));
vorauszahlungw2label.setText(rückrechnen(werte[0][2]));
vorauszahlungg1label.setText(rückrechnen(werte[0][3]));
vorauszahlungw3label.setText(rückrechnen(werte[0][4]));
vorauszahlungs4label.setText(rückrechnen(werte[0][5]));
staßenreinigunggesamtlabel.setText(rückrechnen(werte[1][0]));
staßenreinigungw1label.setText(rückrechnen(werte[1][1]));
staßenreinigungw2label.setText(rückrechnen(werte[1][2]));
staßenreinigungg1label.setText(rückrechnen(werte[1][3]));
staßenreinigungw3label.setText(rückrechnen(werte[1][4]));
staßenreinigungw4label.setText(rückrechnen(werte[1][5]));
versicherunggesamtlabel.setText(rückrechnen(werte[3][0]));
versicherungw1label.setText(rückrechnen(werte[3][1]));
versicherungw2label.setText(rückrechnen(werte[3][2]));
versicherungg1label.setText(rückrechnen(werte[3][3]));
versicherungw3label.setText(rückrechnen(werte[3][4]));
versicherungw4label.setText(rückrechnen(werte[3][5]));
hausmeistergesamtlabel.setText(rückrechnen(werte[4][0]));
hausmeisterw1label.setText(rückrechnen(werte[4][1]));
hausmeisterw2label.setText(rückrechnen(werte[4][2]));
hausmeisterg1label.setText(rückrechnen(werte[4][3]));
hausmeisterw3label.setText(rückrechnen(werte[4][4]));
hausmeisterw4label.setText(rückrechnen(werte[4][5]));
stromw1label.setText(rückrechnen(werte[5][1]));
//hier sind auch noch mehr sind auch rausgenommen
}
static void addComponent(Container cont,GridBagLayout gbl,Component c,int x,int y,int width,int heigt,double weightx,double weighty,int positiontop,int positionleft,int positionbottom,int positionright)
{
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = gbc.BOTH;
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = width;
gbc.gridheight = heigt;
gbc.weightx = weightx;
gbc.weighty = weighty;
gbc.insets = new Insets(positiontop,positionleft,positionbottom,positionright);
gbl.setConstraints( c, gbc );
cont.add( c );
}
//erzeugen der zusammenfassungsoberfläche
public Zusammenfassung()
{
JPanel zusammenpanel = new JPanel();
GridBagLayout zusammenlayout = new GridBagLayout();
JLabel titel,leer,leer2;
JLabel insgesamttitellabel,w1titellabel,w2titellabel,g1titellabel,w3titellabel,w4titellabel;
JLabel eigentümerlabel,rrlabel1,rrlabel2,hohelabel1,hohelabel2,richterlabel;
JLabel anteillabel,anteilgesamtlabel,anteilw1label,anteilw2label,anteilg1label,anteilw3label,anteilw4label;
JLabel quadratmeterlabel,quadratmetergesamtlabel,quadratmeterw1label,quadratmeterw2label,quadratmeterg1label,quadratmeterw3label,quadratmeterw4label;
JLabel vorauszahlunglabel;
JLabel staßenreinigunglabel;
JLabel abfalllabel;
JLabel versicherunglabel;
JLabel hausmeisterlabel;
JLabel stromlabel;
JLabel schornsteinlabel;
JLabel heizunglabel;
JLabel regenwasserlabel;
JLabel verbrauchlabel;
JLabel reperaturlabel;
JLabel reperaturrücklagelabel;
JLabel verwaltunglabel;
JLabel bankgeblabel;
JLabel viterralabel;
JLabel gesamtlabel;
JLabel abzgvorauszahlunglabel;
JPanel abzgvorauszahlungw1panel,abzgvorauszahlungw2panel,abzgvorauszahlungg1panel,abzgvorauszahlungw3panel,abzgvorauszahlungw4panel;
JLabel nachzahlenlabel;
JPanel nachzahlenpanel,nachzahlenw1panel,nachzahlenw2panel,nachzahleng1panel,nachzahlenw3panel,nachzahlenw4panel;
JPanel differenzpanel,differenzwertpanel;
JLabel differenzlabel;
JPanel summenwertpanel;
JLabel summenlabel;
JLabel abschlagaltlabel;
JTextField abschlagaltdatumfeld,abschlagaltw1feld,abschlagaltw2feld,abschlagaltg1feld,abschlagaltw3feld,abschlagaltw4feld;
JLabel abschlagneulabel;
JTextField abschlagneudatumfeld,abschlagneuw1feld,abschlagneuw2feld,abschlagneug1feld,abschlagneuw3feld,abschlagneuw4feld;
Border vollrahmen = BorderFactory.createLineBorder(Color.black,1);
Border obenfreirahmen = BorderFactory.createMatteBorder(0,1,1,1,Color.black);
Border untenfreirahmen = BorderFactory.createMatteBorder(1,1,0,1,Color.black);
Border seitenrahmen = BorderFactory.createMatteBorder(0,1,0,1,Color.black);
zusammenpanel.setLayout(zusammenlayout);
addComponent(zusammenpanel,zusammenlayout,titel = new JLabel("Zusammenfassung",JLabel.CENTER) ,0,0,GridBagConstraints.REMAINDER,1,0,0,5,5,5,5);
titel.setFont(new Font("Serif",Font.BOLD,25));
//überschrift
addComponent(zusammenpanel,zusammenlayout,insgesamttitellabel = new JLabel(" Insgesamt ",JLabel.CENTER),1,1,1,1,0,0,5,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,w1titellabel = new JLabel("W1",JLabel.CENTER) ,2,1,1,1,0,0,5,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,w2titellabel = new JLabel("W2",JLabel.CENTER) ,3,1,1,1,0,0,5,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,g1titellabel = new JLabel("G1",JLabel.CENTER) ,4,1,1,1,0,0,5,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,w3titellabel = new JLabel("W3",JLabel.CENTER) ,5,1,1,1,0,0,5,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,w4titellabel = new JLabel("W4",JLabel.CENTER) ,6,1,1,1,0,0,5,0,0,5);
insgesamttitellabel.setBorder(vollrahmen);
w1titellabel.setBorder(vollrahmen);
w2titellabel.setBorder(vollrahmen);
g1titellabel.setBorder(vollrahmen);
w3titellabel.setBorder(vollrahmen);
w4titellabel.setBorder(vollrahmen);
//eigentümerüberschrift
addComponent(zusammenpanel,zusammenlayout,eigentümerlabel = new JLabel(" Eigentümer ",JLabel.CENTER) ,0,2,1,1,0,0,-1,5,0,-1);
addComponent(zusammenpanel,zusammenlayout,leer = new JLabel("") ,1,2,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,rrlabel1 = new JLabel(" Richter/Rathmann ",JLabel.CENTER) ,2,2,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,hohelabel1 = new JLabel(" Hohe ",JLabel.CENTER),3,2,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,hohelabel2 = new JLabel(" Hohe ",JLabel.CENTER),4,2,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,rrlabel2 = new JLabel(" Richter/Rathmann ",JLabel.CENTER) ,5,2,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,richterlabel = new JLabel(" Richter ",JLabel.CENTER) ,6,2,1,1,0,0,-1,0,0,5);
eigentümerlabel.setBorder(vollrahmen);
leer.setBorder(vollrahmen);
rrlabel1.setBorder(vollrahmen);
rrlabel2.setBorder(vollrahmen);
hohelabel1.setBorder(vollrahmen);
hohelabel2.setBorder(vollrahmen);
richterlabel.setBorder(vollrahmen);
//anteilüberschrift
addComponent(zusammenpanel,zusammenlayout,anteillabel = new JLabel("Anteil in %",JLabel.CENTER) ,0,3,1,1,0,0,-1,5,0,-1);
addComponent(zusammenpanel,zusammenlayout,anteilgesamtlabel = new JLabel("100",JLabel.CENTER) ,1,3,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,anteilw1label = new JLabel("33,33",JLabel.CENTER) ,2,3,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,anteilw2label = new JLabel("22,76",JLabel.CENTER) ,3,3,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,anteilg1label = new JLabel("10,58",JLabel.CENTER) ,4,3,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,anteilw3label = new JLabel("13,68",JLabel.CENTER) ,5,3,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,anteilw4label = new JLabel("19,65",JLabel.CENTER) ,6,3,1,1,0,0,-1,0,0,5);
anteillabel.setBorder(untenfreirahmen);
anteilgesamtlabel.setBorder(untenfreirahmen);
anteilw1label.setBorder(untenfreirahmen);
anteilw2label.setBorder(untenfreirahmen);
anteilg1label.setBorder(untenfreirahmen);
anteilw3label.setBorder(untenfreirahmen);
anteilw4label.setBorder(untenfreirahmen);
//quadratmeter
addComponent(zusammenpanel,zusammenlayout,quadratmeterlabel = new JLabel("m²",JLabel.CENTER) ,0,4,1,1,0,0,-1,5,0,-1);
addComponent(zusammenpanel,zusammenlayout,quadratmetergesamtlabel = new JLabel("728,53",JLabel.CENTER) ,1,4,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,quadratmeterw1label = new JLabel("250,33",JLabel.CENTER),2,4,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,quadratmeterw2label = new JLabel("170,77",JLabel.CENTER),3,4,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,quadratmeterg1label = new JLabel("79,91",JLabel.CENTER) ,4,4,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,quadratmeterw3label = new JLabel("96,32",JLabel.CENTER) ,5,4,1,1,0,0,-1,0,0,-1);
addComponent(zusammenpanel,zusammenlayout,quadratmeterw4label = new JLabel("131,2",JLabel.CENTER) ,6,4,1,1,0,0,-1,0,0,5);
//sind noch einigemehr hab sie aus platzgründen rausgenommen
this.add(zusammenpanel);
}
}