java怎样实现准确监听组合框里面的每个下拉列表选项

qq_37728449 2018-07-03 07:59:33
有没有大佬知道java怎样实现准确监听组合框里面的每个下拉列表选项,我在做一个摇骰子的小代码,然后组合框里面有选择猜大还是猜小,只有选择了猜大还是猜小才能进行摇骰子,但是现在出现了一个这个问题选择了猜大之后要骰子没问题但是选择猜小之后他显示的还是你选择的是猜小这是不是意味着还没有从之前那个猜大的下拉列表退出来这是这个监听的代码
//为组合框添加事件监听器
comboBox.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String item=(String)comboBox.getSelectedItem();
if("选择大或者小".equals(item)){
tf5.setText("");
}else{
tf5.setText("您选择的是猜:"+item);
//使用匿名内部类对按钮添加动作标签,
but1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//判断触发源是否按钮,刷新标签
if(e.getSource() == but1){
//刷新点数
d1.roll();
d2.roll();
d3.roll();
n++;
//显示点数
if(d1.getFaceValue()==1){
lab2.setIcon(new ImageIcon("img\\1.gif"));
}else if(d1.getFaceValue()==2){
lab2.setIcon(new ImageIcon("img\\2.gif"));
}else if(d1.getFaceValue()==3){
lab2.setIcon(new ImageIcon("img\\3.gif"));
}else if(d1.getFaceValue()==4){
lab2.setIcon(new ImageIcon("img\\4.gif"));
}else if(d1.getFaceValue()==5){
lab2.setIcon(new ImageIcon("img\\5.gif"));
}else if(d1.getFaceValue()==6){
lab2.setIcon(new ImageIcon("img\\6.gif"));
}
if(d2.getFaceValue()==1){
lab4.setIcon(new ImageIcon("img\\1.gif"));
}else if(d2.getFaceValue()==2){
lab4.setIcon(new ImageIcon("img\\2.gif"));
}else if(d2.getFaceValue()==3){
lab4.setIcon(new ImageIcon("img\\3.gif"));
}else if(d2.getFaceValue()==4){
lab4.setIcon(new ImageIcon("img\\4.gif"));
}else if(d2.getFaceValue()==5){
lab4.setIcon(new ImageIcon("img\\5.gif"));
}else if(d2.getFaceValue()==6){
lab4.setIcon(new ImageIcon("img\\6.gif"));
}
if(d3.getFaceValue()==1){
lab6.setIcon(new ImageIcon("img\\1.gif"));
}else if(d3.getFaceValue()==2){
lab6.setIcon(new ImageIcon("img\\2.gif"));
}else if(d3.getFaceValue()==3){
lab6.setIcon(new ImageIcon("img\\3.gif"));
}else if(d3.getFaceValue()==4){
lab6.setIcon(new ImageIcon("img\\4.gif"));
}else if(d3.getFaceValue()==5){
lab6.setIcon(new ImageIcon("img\\5.gif"));
}else if(d3.getFaceValue()==6){
lab6.setIcon(new ImageIcon("img\\6.gif"));
}
int sum=d1.getFaceValue()+d2.getFaceValue()+d3.getFaceValue();
String sum1=String.valueOf(sum);
lab8.setText(sum1);
if(item.equals("大")){
if(sum>9){
max++;
ta.setText(lab8.getText()+"点大,您猜的是大,恭喜您猜对了");
}else{
max++;
ta.setText(lab8.getText()+"点小,您猜的是大,抱歉您猜错了");
}
}else{
if(sum>9){
ta.setText(lab8.getText()+"点大,您猜的是小,抱歉您猜错了");
min++;
}else{
ta.setText(lab8.getText()+"点小,您猜的是小,恭喜您猜对了");
min++;
}
}
/*if(sum>9&&item.equals("大")){
ta.setText(lab8.getText()+"点大,您猜的是大,恭喜您猜对了");
max++;
}else if(sum>9&&item.equals("小")){
ta.setText(lab8.getText()+"点大,您猜的是小,抱歉您猜错了");
max++;
}else if(sum<=9&&item.equals("大")){
ta.setText(lab8.getText()+"点小,您猜的是大,抱歉您猜错了");
min++;
}else if(sum<=9&&item.equals("小")){
ta.setText(lab8.getText()+"点小,您猜的是小,恭喜您猜对了");
min++;
}else{
System.out.println("erron!");
}*/
System.out.println(sum);
System.out.println("n="+n+"max="+max+"min="+min);
lab10.setText("当前总点数为大的概率为:"+(double)(max/n)+"当前总点数为小的概率为:"+(double)(min/n));
}

}
});
...全文
391 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧