我的GUI中有两个JFrame
。
一个是order
帧,另一个是payment
帧。
每次用户点击quantity
时,我都想添加button
变量。我在按钮方法下添加了increment-logic,但它似乎只适用于该方法。它不会将+1
添加到我的数组变量中。
这是我的代码:
class Bun extends javax.swing.JFrame {
String decimal = "0.00";
DecimalFormat df = new DecimalFormat(decimal);
public final String [] bname = new String [] {"Tuna Sandwich","Garlic Bread","Redbean Bun"};
public final double [] bprice = new double [] {1.20, 1.50, 1.50};
public double [] bsub = new double [9];
public int [] bquantity = new int[]{0,0,0};
public double bsubtotal;
private void BtnTunaSandwichActionPerformed(java.awt.event.ActionEvent evt) {
bquantity[0]++;
numTunaSandwich.setText(Integer.toString(bquantity[0]));
}
private void BtnGarlicBreadActionPerformed(java.awt.event.ActionEvent evt) {
bquantity[1]++;
numGarlicBread.setText(Integer.toString(bquantity[1]));
}
private void BtnRedbeanBunActionPerformed(java.awt.event.ActionEvent evt) {
bquantity[2]++;
numRedbeanBun.setText(Integer.toString(bquantity[2]));
}
public void calculatesub()
{
for(int counter=0;counter<bsub.length;counter++)
{
bsub[counter]=bquantity[counter]*bprice[counter];
}
}
public void setsubtotal()
{
for(int counter=0;counter<bsub.length;counter++)
{
bsubtotal += bsub[counter];
}
}
public String getsubtotal()
{
return (df.format(bsubtotal));
}
这是我的付款框架代码:
private void subtotalActionPerformed(java.awt.event.ActionEvent evt) {
Bun bun = new Bun();
bun.calculatesub();
bun.setsubtotal();
subtotal.setText(bun.getsubtotal());
}
每当我运行程序并尝试计算小计时,它会显示0
。
我的界面:
答案 0 :(得分:0)
您需要在班级中拥有
字段public int qvantity = 0;
每当有人点击按钮并且你需要再次在jlabel上设置文本时,如果你用它来表示你需要点击按钮的所有方法
更新:或者您可以创建一个方法来增加qvantity并将文本设置为您使用的标签。这个方法需要在actionPerformed中调用
更新2:当您单击某个按钮时,是否尝试设置小计textField的文本。您可以尝试一些计算所有订单的方法,然后在付款按钮上调用该方法,该方法将返回一些int和您需要在subotal textField的setText中使用的int,我真的不知道为什么你使用txtField。
答案 1 :(得分:0)
将您的bsub长度更改为3而不是9。