Hallo,
ich Versuche einen Rand an meine GUI Komponenten für mein GridBagLayout zu erstellen.
Aber es will nicht funktionieren.
Das Objekt selbst habe ich erstellt. So viel ich jetzt gelesen habe muss man es einmal erstellen und es ist für jede Komponente gültig.
Doch leider keine Reaktion. Und Versuche es mit GrideBagConstraints zu verbinden sind auch alle Fehlgeschlagen.
Hier mal der Code:
ich Versuche einen Rand an meine GUI Komponenten für mein GridBagLayout zu erstellen.
Aber es will nicht funktionieren.
Das Objekt selbst habe ich erstellt. So viel ich jetzt gelesen habe muss man es einmal erstellen und es ist für jede Komponente gültig.
Doch leider keine Reaktion. Und Versuche es mit GrideBagConstraints zu verbinden sind auch alle Fehlgeschlagen.
Hier mal der Code:
Java:
package Hauptprogramm;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.UIManager;
public class GasPanel extends JPanel{
//Attribute
private double zustandszahl = 0.94876, brennwert = 11.296, abzuege = 2236;
private double doubEingabe, rchztr, kwh, aktKstn;
private JTextField tFanzRchztr, tFanzKwh, tFdiffVj, eingabeKubik;
//Einheiten
private String kwhEin = "kWh";
private char kubik = '\u00B3', euro = '\u20AC';
//GridBagContrains Objekt
GridBagConstraints gbc = new GridBagConstraints();
Insets insets = new Insets(5, 5, 5, 5);
//Konstruktor
public GasPanel() {
setLayout(new GridBagLayout());
setPreferredSize(new Dimension(500, 300));
}
//Zuweisung GridBagLayout
private void gbl(int gx, int gy, int gw, int gh) {
gbc.gridx = gx;
gbc.gridy = gy;
gbc.gridwidth = gw;
gbc.gridheight = gh;
}
//Verrechnung GasPanel
private 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);
}
//Fensteraufbau
public void fenster() {
JLabel lblBdiffVj = new JLabel("Differenz Vj:");
gbl(0, 0, 1, 1);
gbc.anchor = GridBagConstraints.LINE_START;
add(lblBdiffVj, gbc);
tFdiffVj = new JTextField();
tFdiffVj.setPreferredSize(new Dimension(100, 20));
gbl(1, 0, 1, 1);
tFdiffVj.setBackground(UIManager.getColor("Button.background"));
add(tFdiffVj, gbc);
JLabel differenzVJein = new JLabel(euro + "");
gbl(2, 0, 1, 1);
add(differenzVJein, gbc);
//Stand in kWh
JLabel lblBstndKwh = new JLabel("Stand in kWh:");
gbl(0, 1, 1, 1);
add(lblBstndKwh, gbc);
tFanzKwh = new JTextField();
tFanzKwh.setPreferredSize(new Dimension(100, 20));
tFanzKwh.setBackground(UIManager.getColor("Button.background"));
gbl(1, 1, 1, 1);
add(tFanzKwh, gbc);
JLabel lblBeinKwh = new JLabel(kwhEin);
gbl(2, 1, 1, 1);
add(lblBeinKwh, gbc);
//Rechnungszeitraum
JLabel lblBrchztr = new JLabel("Rechnungszeitraum:");
gbl(0, 2, 1, 1);
add(lblBrchztr, gbc);
tFanzRchztr = new JTextField();
tFanzRchztr.setPreferredSize(new Dimension(100, 20));
tFanzRchztr.setBackground(UIManager.getColor("Button.background"));
gbl(1, 2, 1, 1);
add(tFanzRchztr, gbc);
JLabel lblKubRchztr = new JLabel("m" + kubik);
gbl(2, 2, 1, 1);
add(lblKubRchztr, gbc);
//Aktueller Stand und Eingabe
JLabel lblBakt = new JLabel("Aktueller Stand:");
gbl(0, 3, 1, 1);
add(lblBakt, gbc);
eingabeKubik = new JTextField();
eingabeKubik.setPreferredSize(new Dimension(100, 20));
eingabeKubik.setBackground(UIManager.getColor("Button.background"));
gbl(1, 3, 1, 1);
add(eingabeKubik, gbc);
JLabel lblBkubik = new JLabel("m" + kubik);
gbl(2, 3, 1, 1);
add(lblBkubik, gbc);
//Action Button GasPanel
JButton btnOk = new JButton("OK");
gbl(1, 4, 1, 1);
gbc.ipadx = 3;
gbc.ipady = 3;
gbc.anchor = GridBagConstraints.CENTER;
btnOk.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
doubEingabe = Double.parseDouble(eingabeKubik.getText());
verrechnen();
tFanzKwh.setText(kwh + "");
tFanzRchztr.setText(rchztr + "");
tFdiffVj.setText(aktKstn + "");
}
});
add(btnOk, gbc);
}
}