Hallo,
habe in meiner main Klasse ein JFrame. Von dort will ich jetzt meine Panel aufrufen(anzeigen) lassen.
Die den eigentlichen Inhalt meines Programmes beinhalten sollen.
Im eigentlichen will ich diese 2 Verbrauchsrechner in 2 Panels aufteilen.
habe in meiner main Klasse ein JFrame. Von dort will ich jetzt meine Panel aufrufen(anzeigen) lassen.
Die den eigentlichen Inhalt meines Programmes beinhalten sollen.
Java:
package Hauptprogramm;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.WindowConstants;
public class Verbrauchsrechner extends JFrame {
//Konstruktor für Fensteraufbau
public Verbrauchsrechner() {
setBounds(100, 100, 1000, 300);
setLayout(new GridLayout());
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
//Fenster erstellen
Verbrauchsrechner hFenster = new Verbrauchsrechner();
//Panels einfügen
GasPanel gp = new GasPanel();
hFenster.add(gp);
//Fenster Optionen: Fenster anzeigen
hFenster.pack();
hFenster.setVisible(true);
}
}
Java:
package Hauptprogramm;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class GasPanel extends JPanel{
public GasPanel() {
setLayout(new GridLayout());
setPreferredSize(new Dimension(500, 300));
}
JLabel lbl = new JLabel("Label soll angezeigt werden.");
JLabel lbl2 = new JLabel("Hier soll Label 2 angezeigt werden.");
}
Im eigentlichen will ich diese 2 Verbrauchsrechner in 2 Panels aufteilen.
Code:
package Hauptprogramm;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Label;
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.JTextField;
import javax.swing.UIManager;
import javax.swing.WindowConstants;
public class Verbrauchsrechner extends JFrame {
//Attribute
//Gasrechner
private static JTextField eingabeKubik;
private static double zustandszahl = 0.94876, brennwert = 11.296, abzuege = 2236;
private static double doubEingabe, rchztr, kwh, aktKstn;
private static JTextField tFanzRchztr, tFanzKwh;
//Stromrechner
private static JTextField tFAktStndAus, tFdiffAus, tFaktRchBtrgAus, tFaktKwhEin;
private static double aktStnd, stromDoubEingabe, aktBtrg, diffVrJhr;
private static double prsKwh = 28.01, kZaehrWrtAbzuege = 113961.000;
//Verrechnung Aktionen der Panels
//Verrechnung GasPanel
public static void verrechnen() {
rchztr = doubEingabe - abzuege;
kwh = Math.round(rchztr * zustandszahl * brennwert);
//kWh * Preis/kWh auf Euro + Grundgebuehr - Vorjahresrechnung
aktKstn = kwh * 6.39 / 100 + 123.76;
aktKstn = Math.round(385.83 - aktKstn);
}
//Verrechnung StromPanel
public static void stromVerrechnen() {
//Aktueller Stand ermitteln
aktStnd = Math.round(stromDoubEingabe - kZaehrWrtAbzuege);
//kWh * Preis/kWh auf Euro + Grundgebuehr
aktBtrg = Math.round(aktStnd * prsKwh / 100 + 97.35);
diffVrJhr = 470.50 - aktBtrg;
}
//Konstruktor für Fensteraufbau
public Verbrauchsrechner() {
setBounds(100, 100, 1000, 300);
setLayout(new BorderLayout());
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
//Fenster erstellen
Verbrauchsrechner hFenster = new Verbrauchsrechner();
//Erstellung Gasrechner
JPanel gasPanel = new JPanel();
gasPanel.setLayout(null);
gasPanel.setPreferredSize(new Dimension(500, 300));
// gasPanel.setBounds(100, 100, 500, 300);
hFenster.add(gasPanel, BorderLayout.CENTER);
//Label Beschriftungen
JLabel lblBakt = new JLabel("Aktueller Stand:");
lblBakt.setBounds(70, 200, 115, 20);
gasPanel.add(lblBakt);
JLabel lblBkubik = new JLabel("m³");
lblBkubik.setBounds(311, 198, 70, 20);
gasPanel.add(lblBkubik);
JLabel lblBstndKwh = new JLabel("Stand in kWh:");
lblBstndKwh.setBounds(86, 140, 99, 20);
gasPanel.add(lblBstndKwh);
JLabel lblBeinKwh = new JLabel("kWh");
lblBeinKwh.setBounds(311, 140, 31, 20);
gasPanel.add(lblBeinKwh);
JLabel lblBrchztr = new JLabel("Rechnungszeitraum:");
lblBrchztr.setBounds(39, 170, 146, 20);
gasPanel.add(lblBrchztr);
JLabel lblKubRchztr = new JLabel("m³");
lblKubRchztr.setBounds(311, 169, 70, 20);
gasPanel.add(lblKubRchztr);
JLabel lblBdiffVj = new JLabel("Differenz Vj:");
lblBdiffVj.setBounds(311, 0, 90, 20);
gasPanel.add(lblBdiffVj);
//Label Ausgaben
JLabel lblDiffVj = new JLabel("");
lblDiffVj.setBounds(397, 0, 70, 20);
gasPanel.add(lblDiffVj);
tFanzKwh = new JTextField();
tFanzKwh.setBackground(UIManager.getColor("Button.background"));
tFanzKwh.setBounds(190, 140, 120, 20);
gasPanel.add(tFanzKwh);
tFanzRchztr = new JTextField();
tFanzRchztr.setBackground(UIManager.getColor("Button.background"));
tFanzRchztr.setBounds(190, 170, 120, 20);
gasPanel.add(tFanzRchztr);
//Action Eingabe und Button GasPanel
eingabeKubik = new JTextField();
eingabeKubik.setBackground(UIManager.getColor("Button.background"));
eingabeKubik.setBounds(190, 200, 120, 20);
gasPanel.add(eingabeKubik);
JButton btnOk = new JButton("OK");
btnOk.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
doubEingabe = Double.parseDouble(eingabeKubik.getText());
verrechnen();
tFanzKwh.setText(kwh + "");
tFanzRchztr.setText(rchztr + "");
lblDiffVj.setText(aktKstn + "");
}
});
btnOk.setBounds(220, 230, 60, 25);
gasPanel.add(btnOk);
//Erstellung Stromrechner
JPanel stromPanel = new JPanel();
stromPanel.setLayout(null);
stromPanel.setPreferredSize(new Dimension(500, 300));
// stromPanel.setBounds(100, 100, 500, 300);
hFenster.add(stromPanel, BorderLayout.EAST);
//Label Beschriftungen
JLabel lblVersorger = new JLabel("Versorger: innogy Direkt");
lblVersorger.setBounds(160, 0, 180, 20);
stromPanel.add(lblVersorger);
JLabel lblPreis = new JLabel("Grundgebühr: 97,35 € Preis pro kWh: 28,01 ct");
lblPreis.setBounds(85, 20, 330, 20);
stromPanel.add(lblPreis);
JLabel lblVorJsnt = new JLabel("Vorjahresstand 1.148,80 kWh");
lblVorJsnt.setBounds(155, 80, 210, 20);
stromPanel.add(lblVorJsnt);
JLabel lblVorJbtrg = new JLabel("Vorjahresschlußbetrag 416,89 €");
lblVorJbtrg.setBounds(145, 100, 230, 20);
stromPanel.add(lblVorJbtrg);
JLabel lblAktStnd = new JLabel("Aktueller Stand:");
lblAktStnd.setBounds(70, 120, 120, 20);
stromPanel.add(lblAktStnd);
JLabel lblKwh = new JLabel("kWh");
lblKwh.setBounds(310, 120, 40, 20);
stromPanel.add(lblKwh);
JLabel lblAktRchnBtrg = new JLabel("Akt. Rechnungsbetrag:");
lblAktRchnBtrg.setBounds(22, 140, 170, 20);
stromPanel.add(lblAktRchnBtrg);
JLabel lblRchBtrgEuo = new JLabel("€");
lblRchBtrgEuo.setBounds(310, 140, 8, 20);
stromPanel.add(lblRchBtrgEuo);
JLabel lblDiffVjS = new JLabel("Differenz Vorjahr:");
lblDiffVjS.setBounds(59, 160, 130, 20);
stromPanel.add(lblDiffVjS);
JLabel lblDiffEuo = new JLabel("€");
lblDiffEuo.setBounds(310, 160, 8, 20);
stromPanel.add(lblDiffEuo);
JLabel lblAktKwhEin = new JLabel("Aktueller Stand Eingabe:");
lblAktKwhEin.setBounds(10, 200, 180, 20);
stromPanel.add(lblAktKwhEin);
JLabel lblAktKwh = new JLabel("kWh");
lblAktKwh.setBounds(310, 200, 40, 20);
stromPanel.add(lblAktKwh);
//Label Ausgaben
tFAktStndAus = new JTextField();
tFAktStndAus.setBackground(UIManager.getColor("Button.background"));
tFAktStndAus.setBounds(190, 120, 120, 20);
stromPanel.add(tFAktStndAus);
tFdiffAus = new JTextField();
tFdiffAus.setBackground(UIManager.getColor("Button.background"));
tFdiffAus.setBounds(190, 160, 120, 20);
stromPanel.add(tFdiffAus);
tFaktRchBtrgAus = new JTextField();
tFaktRchBtrgAus.setBackground(UIManager.getColor("Button.background"));
tFaktRchBtrgAus.setBounds(190, 140, 120, 20);
stromPanel.add(tFaktRchBtrgAus);
//Action Eingabe und Button StromPanel
tFaktKwhEin = new JTextField();
tFaktKwhEin.setBackground(UIManager.getColor("Button.background"));
tFaktKwhEin.setBounds(190, 200, 120, 20);
stromPanel.add(tFaktKwhEin);
JButton btnOkStr = new JButton("OK");
btnOkStr.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
stromDoubEingabe = Double.parseDouble(tFaktKwhEin.getText());
stromVerrechnen();
tFaktRchBtrgAus.setText(aktBtrg + "");
tFdiffAus.setText(diffVrJhr + "");
tFAktStndAus.setText(aktStnd + "");
}
});
btnOkStr.setBounds(220, 230, 60, 25);
stromPanel.add(btnOkStr);
//Fenster Optionen: Fenster anzeigen
hFenster.pack();
hFenster.setVisible(true);
}
}