JAVA学习记录-two-3.为程序加入再玩一次的按钮

1.源码

package chapter02BAC.GUI;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;

import java.awt.Dimension;
import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
@SuppressWarnings("serial")
public class BullACGUI extends JFrame{
	private JTextField text;
	private JButton Bu, btnNewButton;
	private JLabel JLoutput;
	private int theNumber;
	Integer numberOf = 0;
	public void checkGuess() {
		String guessText = text.getText();
		String message = "";
	
		//		将用户输入的字符串转换成数字
		
			try {
				numberOf += 1;
				int guess = Integer.parseInt(guessText);
				if(guess < theNumber) 
					message = guess + "输入数字小了,再试试:";
				else if (guess > theNumber)
					message = guess + "输入数字大了,再试试:";
				else { 

					message = guess + "恭喜您猜中了!再来一次吧!你一共猜了"+numberOf+"次";
//				newGame();
					btnNewButton.setVisible(true);

				}
			} catch (NumberFormatException e) {
				// TODO Auto-generated catch block
				e.printStackTrace(); 
				message ="请输入1-100之间地数字";
			
			

		}finally {
			JLoutput.setText(message);
			//该方法让当前组件获取输入焦点(光标)
			text.requestFocus();
			//选中文本框的所有文本清空
			text.selectAll();
		}

	} 
	//	随机数方法
	public void newGame() {
		theNumber = (int)(Math.random() * 100 + 1);
	}
	public BullACGUI() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setTitle("jiyu - 猜数游戏");
		getContentPane().setLayout(null);

		JLabel gamename = new JLabel("jiyu  -猜数游戏");
		gamename.setForeground(new Color(255, 0, 0));
		gamename.setFont(new Font("宋体", Font.BOLD, 20));
		gamename.setHorizontalAlignment(SwingConstants.CENTER);
		gamename.setBounds(10, 10, 414, 38);
		getContentPane().add(gamename);

		JLabel jftype = new JLabel("请输入1-100之间的一个数:");
		jftype.setFont(new Font("宋体", Font.PLAIN, 16));
		jftype.setHorizontalAlignment(SwingConstants.RIGHT);
		jftype.setBounds(38, 73, 218, 45);
		getContentPane().add(jftype);

		text = new JTextField();
		text.setFont(new Font("宋体", Font.PLAIN, 16));
		//		添加操作监控器
		text.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {

			}
		});
		text.setHorizontalAlignment(SwingConstants.RIGHT);
		text.setBounds(269, 79, 76, 33);
		getContentPane().add(text);
		text.setColumns(10);

		Bu = new JButton("提交");
		Bu.setBackground(new Color(255, 255, 255));
		Bu.setForeground(new Color(0, 0, 0));
		Bu.setFont(new Font("宋体", Font.PLAIN, 22));
		Bu.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				checkGuess();
			}
		});
		Bu.setBounds(167, 134, 100, 38);
		getContentPane().add(Bu);

		JLoutput = new JLabel("输入一个数,点击提交");
		JLoutput.setForeground(new Color(255, 128, 128));
		JLoutput.setHorizontalAlignment(SwingConstants.CENTER);
		JLoutput.setFont(new Font("宋体", Font.PLAIN, 12));
		JLoutput.setBounds(0, 182, 434, 15);
		getContentPane().add(JLoutput);
		
	    btnNewButton = new JButton("再来一次!");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				newGame();
				btnNewButton.setVisible(false);
			}
		});
		btnNewButton.setVisible(false);
		btnNewButton.setBounds(167, 217, 93, 23);
		getContentPane().add(btnNewButton);
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		BullACGUI name = new BullACGUI();
		name.newGame();
		name.setSize(new Dimension(450,300));
		name.setVisible(true);
		
	}
}

2.结果

        

 3.关于本次实验出现的错误在:

        问题记录栏目-(已解决)求教,简单的猜数游戏,调用Jbutton一直显示为空

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值