Hallo Leute, ich bin ein ziemlicher Java Noob und möchte einen Umrechner in Netbeans mit Swing basteln. Hab das GUI schon zum großen Teil mit Swing fertiggestellt, aber bei der eigentlichen Funktion hackts jetzt.
Erstmal wies funktionieren soll:
Zunächst einmal wählt man in einer Combobox aus was man umrechnen will. (Temperatur, Länge, Gewicht ect.)
Dann gibt es 2 weitere Comboboxen "Von was" "zu was" (z.B. Fahrenheit zu Celsius)
In einer Textbox kann man den gewünschten Wert eingeben der umgewandelt werden soll. Nach klicken eines Buttons wird gerrechnet!
Zunächst wird überprüft ob die Eingabe nur aus Zahlen besteht ansonsten Fehlermeldung, gut hab ich.
Aber jetzt soll die eigentliche Rechnung kommen Also den Eingabewert mit der jeweiligen Formel berechnen, also in Abhängigkeit von "Von was" und "Zu was". Ich denke das ist durch case oder if leicht zu realisieren.
Aber wie kann ich die Werte von den den Auswahlboxen nehmen? Also das ausgewählte von "Von was" und "Zu was"???
Ich hoffe das ganze war jetzt einigermaßen verständlich wenn nicht kann ichs ja evtl noch genauer erklären. Für eure Hilfe schon mal vielen Danke!
Erstmal wies funktionieren soll:
Zunächst einmal wählt man in einer Combobox aus was man umrechnen will. (Temperatur, Länge, Gewicht ect.)
Dann gibt es 2 weitere Comboboxen "Von was" "zu was" (z.B. Fahrenheit zu Celsius)
In einer Textbox kann man den gewünschten Wert eingeben der umgewandelt werden soll. Nach klicken eines Buttons wird gerrechnet!
Zunächst wird überprüft ob die Eingabe nur aus Zahlen besteht ansonsten Fehlermeldung, gut hab ich.
Aber jetzt soll die eigentliche Rechnung kommen Also den Eingabewert mit der jeweiligen Formel berechnen, also in Abhängigkeit von "Von was" und "Zu was". Ich denke das ist durch case oder if leicht zu realisieren.
Aber wie kann ich die Werte von den den Auswahlboxen nehmen? Also das ausgewählte von "Von was" und "Zu was"???
Ich hoffe das ganze war jetzt einigermaßen verständlich wenn nicht kann ichs ja evtl noch genauer erklären. Für eure Hilfe schon mal vielen Danke!
Java:
package universalrechner;
/**
*
* @author Hermann Fleischmann
*/
import javax.swing.JOptionPane;
public class Wandler extends javax.swing.JFrame {
/** Creates new form Wandler */
public Wandler() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
Eingabemenge = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
rein = new javax.swing.JComboBox();
raus = new javax.swing.JComboBox();
jButton1 = new javax.swing.JButton();
Ausgabefeld = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Menge eingben");
Eingabemenge.setText("1");
jLabel2.setText("Von");
jLabel3.setText("Zu");
rein.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Celsius (°C)", "Fahrenheit (°F)", "Kelvin (K)" }));
raus.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Celsius (°C)", "Fahrenheit (°F)", "Kelvin (K)" }));
jButton1.setText("Berrechnen");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
Ausgabefeld.setHorizontalAlignment(javax.swing.JTextField.CENTER);
Ausgabefeld.setText("Ausgabe");
Ausgabefeld.setEnabled(false);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(33, 33, 33)
.addComponent(Ausgabefeld, javax.swing.GroupLayout.PREFERRED_SIZE, 351, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(56, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGap(79, 79, 79)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(12, 12, 12)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2)))
.addComponent(rein, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 43, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(raus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addComponent(Eingabemenge, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(37, 37, 37)))
.addGap(101, 101, 101))
.addGroup(layout.createSequentialGroup()
.addGap(168, 168, 168)
.addComponent(jButton1)
.addContainerGap(185, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(71, 71, 71)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(Eingabemenge, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addGap(37, 37, 37)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jLabel3))
.addGap(35, 35, 35)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(rein, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(raus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(13, 13, 13)
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(Ausgabefeld, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(24, 24, 24))
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Nach drücken des Buttons beginnt die Umrechnung
String EingabemengeText = Eingabemenge.getText();
// Check for numbers only
for(int i=0;i < EingabemengeText.length();i++)
{
if(!Character.isDigit(EingabemengeText.charAt(i)))//Überprüfung der Eingabe auf Richtigkeit
{
JOptionPane.showMessageDialog(this, "Bitte geben Sie eine Zahl ein!");//Ansonsten erscheint eine Meldung
Eingabemenge.requestFocus();
return;
}
}
Ausgabefeld.setText("");
// Get curreny from and to
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Wandler().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JTextField Ausgabefeld;
private javax.swing.JTextField Eingabemenge;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JComboBox raus;
private javax.swing.JComboBox rein;
// End of variables declaration
}
Zuletzt bearbeitet von einem Moderator: