麦高芬� 2018-12-04 15:09 采纳率: 0%
浏览 3435

Java如何通过匿名内部类给外部变量赋值

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.lang.Math;
public class GuessWindow extends JFrame //implements ActionListener
{

GuessWindow()
{ 
  JFrame win=new JFrame("猜数字小游戏"); 
  setLocation(200, 200);
    setSize(250, 250); 
    win.validate();
  win.setVisible(true);
  GridLayout grid = new GridLayout(2,2,25,15);
  JPanel p = new JPanel(grid);
  p.add(new JLabel("获取[1,10)之间的随机数:"));
  JButton button =new JButton("得到一个随机数");
  p.add(button);
  p.add(new JLabel("请输入您的猜测:"));
  JTextField guess = new JTextField(20);
  p.add(guess);
  Box bb,p1,p2;
  bb=Box.createVerticalBox();
  p1=Box.createHorizontalBox();
  bb.add(p);
  p1.add(new JLabel("单击确定按钮"));
  p1.add(Box.createHorizontalStrut(10));
  JButton queding =new JButton("确定");
  p1.add(queding);
  bb.add(p1);
  win.add(bb,BorderLayout.CENTER);
  JLabel result =new JLabel("无反馈信息");
  result.setForeground(Color.blue);
  win.add(result,BorderLayout.SOUTH);
  int da=0;
  int guessa=0;
  String a = null;
  button.addActionListener(new ActionListener()
                  {
                  public void actionPerformed(ActionEvent e)
                     { 
                         int da=0;
                         da=(int)(1+Math.random()*(10-1));
                     }
                  });
 queding.addActionListener(new ActionListener()
                  {
                  public void actionPerformed(ActionEvent e)
                     { 
                         int guessa=0;
                         String a = null;
                         a=guess.getText();
                         guessa=a.charAt(0);
                         if (guessa == da)
                         {

                             JLabel resultr=new JLabel("猜测正确");
                             resultr.setForeground(Color.blue);
                             win.add(resultr,BorderLayout.SOUTH);
                         }else if(guessa<da)
                         {
                             JLabel resultx=new JLabel("猜小了");
                             resultx.setForeground(Color.blue);
                             win.add(resultx,BorderLayout.SOUTH);
                         }else
                         {
                             JLabel resultd=new JLabel("猜大了");
                             resultd.setForeground(Color.blue);
                             win.add(resultd,BorderLayout.SOUTH);
                         };
                     }
                  });
  win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
  public static void main(String[] args)
 {
new GuessWindow();
 }

}

  • 写回答

3条回答 默认 最新

  • 麦高芬� 2018-12-04 15:26
    关注

    就是要实现一个猜数小游戏,通过点击第一个按钮获得随机数,然后输入一个数字后点击确定,用输入的数字和产生的随机数进行比较

    评论

报告相同问题?

悬赏问题

  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
  • ¥50 C++五子棋AI程序编写
  • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。