Erstelle die Formularklasse OhmGUI entsprechend der Abbildung. Die Anwendung soll mit Hilfe des Ohm´schen Gesetzes Widerstände, Spannungen und Stromstärken berechnen (Spannung = Widerstand * Stromstärke bzw. U = R * I).
Bei der Eingabe muss genau eines der drei Textfelder leer bleiben. Der fehlende Wert wird mit Hilfe der beiden eingegebenen Werte berechnet und ausgegeben. Ist kein Textfeld leer oder mehr als eines, so ist eine Fehlermeldung mit einer JOptionPane auszugeben. Für die Berechnung ist die Klasse OhmBL zu erstellen. Die Initialisierung der Werte erfolgt über den Konstruktor. Für die jeweils fehlende Größe wird der Wert Null an den Konstruktor übergeben.
Bitte um Hilfe
Ich komm einfach nicht drauf wie ich es dazu bekomme die einzelnen Werte auszurechnen
wenn ich etwas vergessen habe (was ich glaube) nicht böse sein bin noch n Anfänger.
GUI Klasse
BL (Business Layer) Klasse
Bei der Eingabe muss genau eines der drei Textfelder leer bleiben. Der fehlende Wert wird mit Hilfe der beiden eingegebenen Werte berechnet und ausgegeben. Ist kein Textfeld leer oder mehr als eines, so ist eine Fehlermeldung mit einer JOptionPane auszugeben. Für die Berechnung ist die Klasse OhmBL zu erstellen. Die Initialisierung der Werte erfolgt über den Konstruktor. Für die jeweils fehlende Größe wird der Wert Null an den Konstruktor übergeben.
Bitte um Hilfe
Ich komm einfach nicht drauf wie ich es dazu bekomme die einzelnen Werte auszurechnen
wenn ich etwas vergessen habe (was ich glaube) nicht böse sein bin noch n Anfänger.
GUI Klasse
Java:
package OhmschesGesetz;
public class OhmschesGesetz_GUI extends javax.swing.JFrame {
OhmschesGesetzBL obj;
public OhmschesGesetz_GUI() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
lbSpannung = new javax.swing.JLabel();
tfSpannung = new javax.swing.JTextField();
jPanel2 = new javax.swing.JPanel();
lbWiderstand = new javax.swing.JLabel();
tfWiderstand = new javax.swing.JTextField();
jPanel3 = new javax.swing.JPanel();
lbStromstärke = new javax.swing.JLabel();
tfStromstärke = new javax.swing.JTextField();
jPanel4 = new javax.swing.JPanel();
btBerechne = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Ohm");
getContentPane().setLayout(new java.awt.GridLayout(4, 2));
jPanel1.setLayout(new java.awt.GridLayout(1, 2));
lbSpannung.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbSpannung.setText("Spannung:");
jPanel1.add(lbSpannung);
tfSpannung.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
tfSpannung.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tfSpannungActionPerformed(evt);
}
});
jPanel1.add(tfSpannung);
getContentPane().add(jPanel1);
jPanel2.setLayout(new java.awt.GridLayout(1, 2));
lbWiderstand.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbWiderstand.setText("Widerstand:");
jPanel2.add(lbWiderstand);
tfWiderstand.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
tfWiderstand.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tfWiderstandActionPerformed(evt);
}
});
jPanel2.add(tfWiderstand);
getContentPane().add(jPanel2);
jPanel3.setLayout(new java.awt.GridLayout(1, 2));
lbStromstärke.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
lbStromstärke.setText("Stromstärke:");
jPanel3.add(lbStromstärke);
tfStromstärke.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
tfStromstärke.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tfStromstärkeActionPerformed(evt);
}
});
jPanel3.add(tfStromstärke);
getContentPane().add(jPanel3);
jPanel4.setLayout(new java.awt.GridLayout(1, 1));
btBerechne.setText("Berechne");
btBerechne.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btBerechneActionPerformed(evt);
}
});
jPanel4.add(btBerechne);
getContentPane().add(jPanel4);
pack();
}// </editor-fold>
private void btBerechneActionPerformed(java.awt.event.ActionEvent evt) {
String str1 = this.tfSpannung.getText();
String str2 = this.tfWiderstand.getText();
String str3 = this.tfStromstärke.getText();
float spannung = Float.parseFloat(str1);
float widerstand = Float.parseFloat(str2);
float stromstärke = Float.parseFloat(str3);
obj.berechnen();
String sp = String.format("Spannung: %.2f" ,spannung);
obj.berechnen();
String w = String.format("Widerstand: %.2f " ,widerstand);
obj.berechnen();
String st = String.format("Stromstärke: %.2f" ,stromstärke);
}
private void tfSpannungActionPerformed(java.awt.event.ActionEvent evt) {
String str1 = this.tfSpannung.getText();
float spannung = Float.parseFloat(str1);
obj.berechnen();
String sp = String.format("Spannung: %.2f" ,spannung);
}
private void tfWiderstandActionPerformed(java.awt.event.ActionEvent evt) {
String str2 = this.tfWiderstand.getText();
float widerstand = Float.parseFloat(str2);
obj.berechnen();
String w = String.format("Widerstand: %.2f " ,widerstand);
}
private void tfStromstärkeActionPerformed(java.awt.event.ActionEvent evt) {
String str3 = this.tfStromstärke.getText();
float stromstärke = Float.parseFloat(str3);
obj.berechnen();
String st = String.format("Stromstärke: %.2f" ,stromstärke);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new OhmschesGesetz_GUI().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btBerechne;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JLabel lbSpannung;
private javax.swing.JLabel lbStromstärke;
private javax.swing.JLabel lbWiderstand;
private javax.swing.JTextField tfSpannung;
private javax.swing.JTextField tfStromstärke;
private javax.swing.JTextField tfWiderstand;
// End of variables declaration
}
BL (Business Layer) Klasse
Java:
package OhmschesGesetz;
public class OhmschesGesetzBL {
private float spannung, widerstand, stromstärke;
public OhmschesGesetzBL (float sp, float w, float st)
{
spannung = sp;
widerstand = w;
stromstärke = st;
}
public void berechnen()
{
spannung = widerstand * stromstärke;
widerstand = spannung / stromstärke;
stromstärke = spannung / widerstand;
}
}
Zuletzt bearbeitet: