Python爬虫与数据挖掘|使用Java带你打造一款简单的外卖系统( 二 )


2.在Takeout类的构造函数设置组件的属性
参考代码
Takeout(){……check[0]=newJCheckBox(''雪糕3.0元'',false);check[1]=newJCheckBox(''薯条6.0元'',false);check[2]=newJCheckBox(''爆米花8.0元'',false);check[3]=newJCheckBox(''热狗10.0元'',false);check[4]=newJCheckBox(''汉堡包11.0元'',false);check[5]=newJCheckBox(''巨无霸16.0元'',false);check[6]=newJCheckBox(''可乐6.0元'',false);check[7]=newJCheckBox(''果汁8.0元'',false);check[8]=newJCheckBox(''啤酒6.0元'',false);for(inti=0;i<9;i++){amount[i]=newJButton(''1份'');food[i]=newJLabel(newImageIcon(''image//food''+(i+1)+''.jpg''));check[i].setOpaque(false);panel02.add(check[i]);panel02.add(amount[i]);panel02.add(food[i]);num[i]=1;amount[i].addActionListener(my);}panel02.setOpaque(false);this.add(panel02,BorderLayout.CENTER);
四、添加状态信息:JTextArea等
1.添加Takeout类的成员变量
privateJTextArealist=newJTextArea(10,20);privateStringstr='''';
2.在Takeout类的构造函数设置组件的属性
参考代码
Takeout(){……list.setText(''状态:未选餐!'');list.setBackground(c);panel02.add(list);}
五、添加按钮和总价框:JPanel、JButton、JLabel、JTextField等
1.添加Takeout类的成员变量
privateJPanelpanel03=newJPanel();privateJButtonbtn_ok=newJButton(''结算'');privateJButtonbtn_cancel=newJButton(''清空'');privateJLabellabel02=newJLabel(''总价:'');privatedoublea[]=newdouble[9];//食物单价privatedoubletotal=0;//总价
2.在Takeout类的构造函数设置组件的属性
参考代码
Takeout(){……panel03.add(btn_ok);panel03.add(btn_cancel);panel03.add(label02);panel03.add(text01);panel03.add(label03);this.add(panel03,BorderLayout.SOUTH);panel03.setOpaque(false);a[0]=3.0;a[1]=6.0;a[2]=8.0;a[3]=10.0;a[4]=11.0;a[5]=16.0;a[6]=6.0;a[7]=8.0;a[8]=6.0;
六、事件处理
定义事件处理类 , 实现事件监听器
1.在成员变量添加
privateMyListenermy=newMyListener();
2.在Takeout()内添加
btn_ok.addActionListener(my);btn_cancel.addActionListener(my);
3.添加事件监听器MyListener(自己命名)
privateclassMyListenerimplementsActionListener{@OverridepublicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstub//添加事件处理代码for(inti=0;i<9;i++){if(e.getSource()==amount[i]){if(num[i]<9)num[i]++;elsenum[i]=0;amount[i].setText(num[i]+''份'');}}if(e.getSource()==btn_ok){total=0;str='''';for(inti=0;i<9;i++){if(check[i].isSelected()==true){total=total+a[i]*num[i];str=str+check[i].getText()+''''+amount[i].getText()+''n'';}}text01.setText(''''+total);list.setText(''状态:已选餐:n''+str+''n'');}
以上e.getSource()==btn_ok代码完成结算功能 。
if(e.getSource()==btn_cancel){for(inti=0;i<9;i++){check[i].setSelected(false);amount[i].setSelected(false);num[i]=1;amount[i].setText(num[i]+''份'');}total=0;str='''';text01.setText(''''+total);list.setText(''状态:未选餐!'');label03.setText(''满30免费配送,满100立减10'');}
以上e.getSource()==btn_cancel代码完成清空功能 。
【五、思考题1】
现在外卖系统商家因业务需求 , 每一订单需要配送费5元 , 在活动期间 , 购满30元免配送费 , 满100元立减10元 , 程序应如何修改?
1.在成员变量添加以下代码 。