要怎麼讓他會算錢?(有附我打一半的程式碼)

圖片參考:http://imgcld.yimg.com/8/n/AB07920636/o/1511102104...

詳細要求如下: 1. 計算金錢的Label設定為,粗黑、斜體、紅色(判斷是否被選取的指令為 checkbox物件名稱.getState()==true or false ) (並且會用到Integer.toString( )指令)

--------下面是打一半的程式碼-------我貼在補充那邊

Update:

import java.awt.*;

import java.awt.event.*;

class Apps extends Frame

{

Label lab1,lab2,lab3,lab4,lab5;

Checkbox chkb1,chkb2,chkb3,chkb4,chkb5,chkb6,chkb7,chkb8,chkb9,chkb10;

CheckboxGroup grp1,grp2,grp3,grp4;

Button btn;

Update 2:

public Apps()

{

super("富豪大酒店點菜系統");

lab1 = new Label("前菜:");

lab2 = new Label("主菜:");

lab3 = new Label("點心:");

lab4 = new Label("飲料:");

lab5 = new Label("$");

Update 3:

lab1.setBounds(20,30,30,25);lab1.setBackground(Color.white);

add(lab1);

lab2.setBounds(20,60,30,25);lab2.setBackground(Color.white);

add(lab2);

lab3.setBounds(20,90,30,25);lab3.setBackground(Color.white);

add(lab3);

lab4.setBounds(20,120,30,25);lab4.setBackground(Color.white);

add(lab4);

Update 4:

有需要我打一半的 請給我你的信箱

Update 5:

2 Answers

Rating
  • 吉他
    Lv 5
    8 years ago
    Favorite Answer

    import java.awt.*;

    import java.awt.event.*;

    class Apps extends Frame

    {

    //省略....

    chkb9.setBounds(60,120,110,20);

    chkb10.setBounds(170,120,110,20);

    btn = new Button("點菜");

    btn.setBounds(30,160,100,40);

    //幫按鈕建立被點擊之後的事件傾聽

    btn.addActionListener(new ActionListener (){

    public void actionPerformed(ActionEvent e) {

    //計算選擇的菜色價錢加總

    int total = 0;

    total += getPrice(chkb1);

    total += getPrice(chkb2);

    total += getPrice(chkb4);

    total += getPrice(chkb5);

    total += getPrice(chkb6);

    total += getPrice(chkb7);

    total += getPrice(chkb8);

    total += getPrice(chkb9);

    total += getPrice(chkb10);

    lab5.setText("$" + total);

    }

    });

    this.add(lab1);

    this.add(lab2);

    this.add(lab3);

    this.add(lab4);

    this.add(lab5);

    this.add(chkb1);

    this.add(chkb2);

    this.add(chkb4);

    this.add(chkb5);

    this.add(chkb6);

    this.add(chkb7);

    this.add(chkb8);

    this.add(chkb9);

    this.add(chkb10);

    this.add(btn);

    }

    // 取得價錢

    private int getPrice(Checkbox box){

    if(box.getState()){

    String price = box.getLabel().split("[$]")[1];

    return Integer.parseInt(price);

    }

    return 0;

    }

    }

    class aaa

    {

    public static void main(String [] args)

    {

    Apps frm = new Apps();

    frm.setLayout(null);

    frm.setLocation(300,300);

    frm.setSize(500,300);

    frm.setBackground(Color.yellow);

    frm.setVisible(true);

    frm.addWindowListener(

    new WindowAdapter(){

    public void windowClosing(WindowEvent e){

    System.exit(0);

    }

    }

    );

    }

    }

    說明:

    紅色為我加上去的部份,其他為原本的程式,加上去的部分就是將選單上的價錢切出來之後做加總。

    完整程式碼

    2011-10-22 01:08:43 補充:

    明明有加超連結,不能點...補充字數也滿,我就留連結在意見區了~

    完整程式碼連結:http://blog.xuite.net/ray00000test/blog/53100833

    Source(s): java吉他手
  • 8 years ago

    請問你有及時通 這樣有遇到JAVA問題比較方便問你~"~

Still have questions? Get your answers by asking now.