Hallo Leute,
ihr würdet mir echt einen GROßEN gefallen tun wenn ihr dieses Programm mal kopiert und in Eclipes oder Netbeans ausprobiert. Hier erstmal der Quellcode:
Diese Datei heißt Skin und das package heißt Kostenrechner.
Dann braucht ihr noch die kleine Main:
So ich erkläre mal kurz. Ich will einen Kostenrechner bauen. Dazu hab ich ein JFrame Formular genommen und die Logik wird ausgelöst sobald man auf den Button drückt. Das Programm hat allerdings einen sehr merkwürdigen Fehler.
Ich mache mal ein Bsp.:
Einkaufspreis: 548€
Verkaufspreis:699€
Versand: 15€
Gewinn; 73.498.....€
So...
Aktiviere ich nun die Checkbox "gewünschter Gewinn" wird rekursiv gerechnet. D.h. dass ich jetzt den Verkaufspreis errechne mit einem von mir eingegeben Gewinn. D.h. die Formel hab ich einfach unmgestellt nach Verkaufspreis. Dies scheint aber irgendwie inkorrekt zu sein. Aktiviert nun am besten einfach mal die Checkbox "gewünschter Gewinn" und drückt erneut auf berechnen. Ihr werdet feststellen, dass sich der Verkaufspreis ändert obwohl er das nicht dürfte.
WÄRE ECHT SUPER WENN IHR MIR HELFEN KÖNNTET
Danke für alle die sich diese Mühe machen.
Lg
Fab
ihr würdet mir echt einen GROßEN gefallen tun wenn ihr dieses Programm mal kopiert und in Eclipes oder Netbeans ausprobiert. Hier erstmal der Quellcode:
Java:
package kostenrechner;
public class Skin extends javax.swing.JFrame {
public Skin() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jToggleButton1 = new javax.swing.JToggleButton();
EK = new javax.swing.JTextField();
VK = new javax.swing.JTextField();
VS = new javax.swing.JTextField();
Gewinn = new javax.swing.JTextField();
a = new java.awt.Label();
label2 = new java.awt.Label();
label3 = new java.awt.Label();
label1 = new java.awt.Label();
label4 = new java.awt.Label();
label5 = new java.awt.Label();
label6 = new java.awt.Label();
label7 = new java.awt.Label();
GG = new java.awt.Checkbox();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("eBay Calculator");
setResizable(false);
jToggleButton1.setText("Berechnen");
jToggleButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jToggleButton1ActionPerformed(evt);
}
});
EK.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
EKActionPerformed(evt);
}
});
VS.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
VSActionPerformed(evt);
}
});
Gewinn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
GewinnActionPerformed(evt);
}
});
a.setText("Einkaufspreis");
label2.setText("Verkaufspreis");
label3.setText("Versandkosten");
label1.setText("Gewinn");
label4.setText("€");
label5.setText("€");
label6.setText("€");
label7.setText("€");
GG.setLabel("gewünschter Gewinn");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(a, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(35, 35, 35)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(EK, javax.swing.GroupLayout.DEFAULT_SIZE, 317, Short.MAX_VALUE)
.addComponent(Gewinn, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 317, Short.MAX_VALUE)
.addComponent(VS, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 317, Short.MAX_VALUE)
.addComponent(VK, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 317, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(label4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(GG, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 149, Short.MAX_VALUE)
.addComponent(jToggleButton1)
.addGap(96, 96, 96))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(50, 50, 50)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addComponent(a, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(label2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(label3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(label4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(EK, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(label5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(VK, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(label6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(VS, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Gewinn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 22, Short.MAX_VALUE)
.addComponent(jToggleButton1)
.addContainerGap())
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(GG, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())))
);
pack();
}// </editor-fold>
private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {
double ek = 0;
double vk = 0;
double gewinn = 0;
if (GG.getState() == false) {
vk = (Double.parseDouble(VK.getText()));
}
double vs = 0;
String ergebnis = null;
if (GG.getState() == false) {
ek = (Double.parseDouble(EK.getText()));
vs = (Double.parseDouble(VS.getText()));
if (vk >= 501) {
gewinn = (vk * (0.039 - 1) + 21.50 + 0.35 + vs + ek) * (-1);
}
if (vk < 501 && vk > 50.01) {
gewinn = (vk * 0.059 + 3.5 + 0.35 + vs + ek - vk) * (-1);
} else {
gewinn = (vk * 0.089 + 0.35 + vs + ek - vk) * (-1);
}
ergebnis = Double.toString(gewinn);
Gewinn.setText(ergebnis);
} else {
ek = (Double.parseDouble(EK.getText()));
vs = (Double.parseDouble(VS.getText()));
gewinn = Double.parseDouble(Gewinn.getText());
vk = (gewinn + (21.5 + 0.35 + vs + ek)) / (1-0.039);
ergebnis = Double.toString(vk);
VK.setText(ergebnis);
}
}
private void EKActionPerformed(java.awt.event.ActionEvent evt) {
}
private void VSActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void GewinnActionPerformed(java.awt.event.ActionEvent evt) {
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Skin().setVisible(true);
new Skin().setTitle("eBay Calculator");
}
});
}
// Variables declaration - do not modify
private javax.swing.JTextField EK;
private java.awt.Checkbox GG;
private javax.swing.JTextField Gewinn;
private javax.swing.JTextField VK;
private javax.swing.JTextField VS;
private java.awt.Label a;
private javax.swing.JToggleButton jToggleButton1;
private java.awt.Label label1;
private java.awt.Label label2;
private java.awt.Label label3;
private java.awt.Label label4;
private java.awt.Label label5;
private java.awt.Label label6;
private java.awt.Label label7;
// End of variables declaration
}
Diese Datei heißt Skin und das package heißt Kostenrechner.
Dann braucht ihr noch die kleine Main:
Java:
package kostenrechner;
public class Main {
public static void main(String[] args) {
Skin sc=new Skin();
sc.main(args);
}
}
So ich erkläre mal kurz. Ich will einen Kostenrechner bauen. Dazu hab ich ein JFrame Formular genommen und die Logik wird ausgelöst sobald man auf den Button drückt. Das Programm hat allerdings einen sehr merkwürdigen Fehler.
Ich mache mal ein Bsp.:
Einkaufspreis: 548€
Verkaufspreis:699€
Versand: 15€
Gewinn; 73.498.....€
So...
Aktiviere ich nun die Checkbox "gewünschter Gewinn" wird rekursiv gerechnet. D.h. dass ich jetzt den Verkaufspreis errechne mit einem von mir eingegeben Gewinn. D.h. die Formel hab ich einfach unmgestellt nach Verkaufspreis. Dies scheint aber irgendwie inkorrekt zu sein. Aktiviert nun am besten einfach mal die Checkbox "gewünschter Gewinn" und drückt erneut auf berechnen. Ihr werdet feststellen, dass sich der Verkaufspreis ändert obwohl er das nicht dürfte.
WÄRE ECHT SUPER WENN IHR MIR HELFEN KÖNNTET
Danke für alle die sich diese Mühe machen.
Lg
Fab
Zuletzt bearbeitet von einem Moderator: