Java私有JTextField更新问题
我正在使用eclipse创建老虎机。Java私有JTextField更新问题,java,swing,jtextfield,Java,Swing,Jtextfield,我正在使用eclipse创建老虎机。 我正在努力获得“奖金”JTextField将以某种方式进行更新,以便在选择随机图像后,它将添加到JTextField中已显示的数字,而不是它在该分钟所做的操作,该操作仅显示在该特定旋转中赢得的金额。我还在努力设置一个代码,以确定何时赢得nothing,何时不添加任何内容。任何帮助都将不胜感激。干杯 我的代码: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.e
我正在努力获得“奖金”JTextField将以某种方式进行更新,以便在选择随机图像后,它将添加到JTextField中已显示的数字,而不是它在该分钟所做的操作,该操作仅显示在该特定旋转中赢得的金额。
我还在努力设置一个代码,以确定何时赢得nothing,何时不添加任何内容。任何帮助都将不胜感激。干杯 我的代码:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.util.*;
import javax.swing.Timer;
public class ElecBandit extends JFrame implements ActionListener
{
private JPanel paper;
private JButton btnspin,btninsertfunds,btncollect,btnquit,btnpic1,btnpic2,btnpic3;
private Random random;
private Timer timer1;
private int a=0, b=0, c=0,counter,number,collect,winnings,bank;
private Icon iconpic1, iconpic2, iconpic3, iconpic4, iconpic5, iconpic6,iconpic7,iconpic8;
private JTextField txtbank, txtwinnings;
private JLabel match3, match2, onecherry;
public static void main (String[] args)
{
ElecBandit elecbandit = new ElecBandit();
elecbandit.setVisible(true);
}
public ElecBandit(){
setLayout (new FlowLayout());
timer1= new Timer(900,this);
random = new Random();
}
{
btncollect = new JButton("Collect");
btncollect.setPreferredSize( new Dimension(200,200));
btncollect.addActionListener(this);
btncollect.setBackground(Color.pink);
btncollect.setForeground(Color.white);
btninsertfunds = new JButton("Insert Funds");
btninsertfunds.setPreferredSize( new Dimension(200,200));
btninsertfunds.addActionListener(this);
btninsertfunds.setBackground (Color.yellow);
btninsertfunds.setForeground(Color.black);
btnquit = new JButton("Quit");
btnquit.setPreferredSize( new Dimension(200,200));
btnquit.addActionListener(this);
btnquit.setBackground(Color.black);
btnquit.setForeground(Color.white);
btnspin = new JButton ("Spin");
btnspin.setPreferredSize( new Dimension(200,200));
btnspin.addActionListener(this);
btnspin.setBackground(Color.red);
btnspin.setForeground(Color.black);
btnpic1 = new JButton("");
btnpic1.setPreferredSize( new Dimension(200,200));
btnpic1.setBackground(Color.white);
btnpic2 = new JButton("");
btnpic2.setPreferredSize( new Dimension(200,200));
btnpic2.setBackground(Color.white);
btnpic3 = new JButton("");
btnpic3.setPreferredSize( new Dimension(200,200));
btnpic3.setBackground(Color.white);
txtwinnings = new JTextField("Winnings");
txtwinnings.setPreferredSize( new Dimension(200,200));
txtwinnings.setBackground(Color.orange);
txtwinnings.setForeground(Color.black);
txtbank = new JTextField ("Bank");
txtbank.setPreferredSize( new Dimension (200,200));
txtbank.setBackground(Color.green);
txtbank.setForeground(Color.black);
match3 = new JLabel ("Match 3 Symbols = 100");
match2 = new JLabel ("Match 2 Symbols = 50");
onecherry = new JLabel (" One Cherry = 20");
iconpic1 = new ImageIcon("src/resources/app.png");
iconpic2 = new ImageIcon("src/resources/str.png");
iconpic3 = new ImageIcon("src/resources/ban.png");
iconpic4 = new ImageIcon("src/resources/che.png");
iconpic5 = new ImageIcon("src/resources/pin.png");
iconpic6 = new ImageIcon("src/resources/org.png");
iconpic7 = new ImageIcon("src/resources/grp.png");
iconpic8 = new ImageIcon("src/resources/lem.png");
add(btninsertfunds);
add(btncollect);
btncollect.setEnabled(false);
add(txtwinnings);
add(txtbank);
add(btnspin);
btnspin.setEnabled(false);
add(btnquit);
add(btnpic1);
add(btnpic2);
add(btnpic3);
add(match3);
add(match2);
add(onecherry);
btninsertfunds.addActionListener(this);
btncollect.addActionListener(this);
btnquit.addActionListener(this);
btnspin.addActionListener(this);
setTitle("One Arm Bandit");
setSize(700,800);
}
public void actionPerformed (ActionEvent e){
//TODO Auto-generated method stub
if(e.getSource()==btninsertfunds){
txtbank.setForeground(Color.black);
bank=bank +25 ;
txtbank.setText("Bank = " + bank);
if (bank>=50)
btninsertfunds.setEnabled(true);
if(bank>=400)
btninsertfunds.setEnabled(false);
{
if (bank>=50)
btnspin.setEnabled(true);
if (bank<50)
btnspin.setEnabled(false);
}
}
if (e.getSource()==btnspin){
bank = bank -50 ;
txtbank.setText("Bank = " );
System.out.println("here");
setIcon1();setIcon2();setIcon3();
if(a==b && a==c ){
txtwinnings.setText("winnings = 100");
}
else
if (a==b || a==c || b==c)
{
txtwinnings.setText("winnings = 50");
}
else
if (a== 3 || b== 3 ||c== 3){
txtwinnings.setText("winnings = 20");
}
}
if (e.getSource()==btnquit)
{
System.exit(0);
}
}
private void setIcon1(){
// TODO Auto-generated method stub
a=random.nextInt(8);
switch(a)
{
case 0:
btnpic1.setIcon(iconpic1);
counter = counter+1;
break;
case 1:
btnpic1.setIcon(iconpic2);
counter = counter+1;
break;
case 2:
btnpic1.setIcon(iconpic3);
counter = counter+1;
break;
case 3:
btnpic1.setIcon(iconpic4);
counter = counter+1;
break;
case 4:
btnpic1.setIcon(iconpic5);
counter = counter+1;
break;
case 5:
btnpic1.setIcon(iconpic6);
counter = counter+1;
break;
case 6:
btnpic1.setIcon(iconpic7);
counter = counter+1;
break;
case 7:
btnpic1.setIcon(iconpic8);
counter = counter+1;
}
}
private void setIcon2()
{
b=random.nextInt(8);
switch(b)
{
case 0:
btnpic2.setIcon(iconpic1);
counter = counter+1;
break;
case 1:
btnpic2.setIcon(iconpic2);
counter = counter+1;
break;
case 2:
btnpic2.setIcon(iconpic3);
counter = counter+1;
break;
case 3:
btnpic2.setIcon(iconpic4);
counter = counter+1;
break;
case 4:
btnpic2.setIcon(iconpic5);
counter = counter+1;
break;
case 5:
btnpic2.setIcon(iconpic6);
counter = counter+1;
break;
case 6:
btnpic2.setIcon(iconpic7);
counter = counter+1;
break;
case 7:
btnpic2.setIcon(iconpic8);
counter = counter+1;
}
if(counter ==10);
timer1.stop();
}
private void setIcon3()
{
c=random.nextInt(8);
switch(c)
{
case 0:
btnpic3.setIcon(iconpic1);
counter = counter+1;
break;
case 1:
btnpic3.setIcon(iconpic2);
counter = counter+1;
break;
case 2:
btnpic3.setIcon(iconpic3);
counter = counter+1;
break;
case 3:
btnpic3.setIcon(iconpic4);
counter = counter+1;
break;
case 4:
btnpic3.setIcon(iconpic5);
counter = counter+1;
break;
case 5:
btnpic3.setIcon(iconpic6);
counter = counter+1;
break;
case 6:
btnpic3.setIcon(iconpic7);
counter = counter+1;
break;
case 7:
btnpic3.setIcon(iconpic8);
counter = counter+1;
}
}
}
import java.awt.*;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入javax.swing.*;
导入java.util.*;
导入javax.swing.Timer;
公共类ElecBandit扩展JFrame实现ActionListener
{
私人JPanel纸;
私人JButton btnspin、btn插入基金、btn集合、btnquit、btnpic1、btnpic2、btnpic3;
私有随机;
私人定时器1;
私人积分a=0,b=0,c=0,计数器,号码,收款,赢款,银行;
私有图标iconpic1、iconpic2、iconpic3、iconpic4、iconpic5、iconpic6、iconpic7、iconpic8;
私人JTextField txtbank,txtwinnings;
私人JLabel match3,match2,onecherry;
公共静态void main(字符串[]args)
{
ElecBandit ElecBandit=新的ElecBandit();
elecbandit.setVisible(真);
}
公共电子地图(){
setLayout(新的FlowLayout());
timer1=新定时器(900,此);
随机=新随机();
}
{
btncollect=新的JButton(“Collect”);
b收集设置首选尺寸(新尺寸(200200));
btncollect.addActionListener(此);
b未收集。挫折背景(颜色。粉红色);
b收集。设置前景(颜色。白色);
BTN插入资金=新的JButton(“插入资金”);
setPreferredSize(新维度(200200));
btninsertfunds.addActionListener(此);
btn.setBackground(颜色:黄色);
设置前景(颜色为黑色);
btnquit=新的JButton(“退出”);
b查询.setPreferredSize(新维度(200200));
btnquit.addActionListener(此);
b退根(颜色:黑色);
设置前景(颜色为白色);
btnspin=新的JButton(“旋转”);
btnspin.setPreferredSize(新尺寸(200200));
btnspin.addActionListener(此);
Btnpin.挫折背景(颜色:红色);
btnspin.setForeground(颜色:黑色);
btnpic1=新的JButton(“”);
btnpic1.setPreferredSize(新尺寸(200200));
btnpic1.立根背景(颜色:白色);
btnpic2=新的JButton(“”);
btnpic2.setPreferredSize(新尺寸(200200));
btnpic2.立根背景(颜色:白色);
btnpic3=新的JButton(“”);
btnpic3.setPreferredSize(新尺寸(200200));
btnpic3.立根背景(颜色:白色);
txtwinnings=新的JTextField(“Winnings”);
setPreferredSize(新维度(200200));
txtwinnings.setBackground(橙色);
设置前景(颜色为黑色);
txtbank=新JTextField(“银行”);
txtbank.setPreferredSize(新维度(200200));
txtbank.setBackground(颜色:绿色);
设置前景(颜色为黑色);
匹配3=新的JLabel(“匹配3个符号=100”);
匹配2=新的JLabel(“匹配2符号=50”);
onecherry=新JLabel(“一个Cherry=20”);
iconpic1=新的图像图标(“src/resources/app.png”);
iconpic2=新图像图标(“src/resources/str.png”);
iconpic3=新的图像图标(“src/resources/ban.png”);
iconpic4=新的图像图标(“src/resources/che.png”);
iconpic5=新的图像图标(“src/resources/pin.png”);
iconpic6=新图像图标(“src/resources/org.png”);
iconpic7=新的图像图标(“src/resources/grp.png”);
iconpic8=新的图像图标(“src/resources/lem.png”);
增加(资金);
添加(btncollect);
btncollect.setEnabled(false);
添加(txtwinnings);
添加(txtbank);
添加(btnspin);
btnspin.setEnabled(false);
添加(btnquit);
新增(btnpic1);
新增(btnpic2);
新增(btnpic3);
添加(匹配3);
添加(匹配2);
添加(一个樱桃);
btninsertfunds.addActionListener(此);
btncollect.addActionListener(此);
btnquit.addActionListener(此);
btnspin.addActionListener(此);
片名(“单臂强盗”);
设置大小(700800);
}
已执行的公共无效操作(操作事件e){
//TODO自动生成的方法存根
如果(如getSource()==btninsertfunds){
设置前景(颜色为黑色);
银行=银行+25;
txtbank.setText(“Bank=“+Bank”);
如果(银行>=50)
btninsertfunds.setEnabled(true);
如果(银行>=400)
btninsertfunds.setEnabled(false);
{
如果(银行>=50)
btnspin.setEnabled(true);
如果(bank为赢款保留一个单独的变量,可能是一个double
。计算每轮赢款并将其添加到变量中,然后使用类似double.toString
或NumberFormat.getNumberInstance()格式(…)的方法
将值转换为字符串
,并将其设置为文本字段的文本
例如
if(a==b && a==c ){
winnings += 100;
}
else if (a==b || a==c || b==c)
{
winnings += 50;
}
else if (a== 3 || b== 3 ||c== 3){
winnings += 20;
}
txtwinnings.setText(NumberFormat.getInstance().format(winnings));
感谢您的快速回复。我对java和编程非常陌生。您能给我一个关于我的代码如何编写的示例吗?我将非常感谢您。但是,当我键入时,它会说“语法错误插入”)完成表达。基本上要求在结尾处加一个封闭括号,但当我这样做并运行程序时,赢款已变为零,并且在应该的时候没有更新,只是保持在零?再次感谢您的持续帮助您介意帮我解决另一个问题吗我现在的代码问题吗?我想要这台机器如果用户在旋转时点击iconpic3,我就可以获得20个奖金,但我似乎无法解决。这就是我在代码末尾试图做的。如果“else if(a==3 | | b==3 | | c==3)}不是a==2 | | b==2 | c==2
(根据开关的语句)。此外,您可能不希望将其作为if-else
分支,而是独立的if
,假设您要添加