总的说来,这是第一次写这种文章。

由于学校要求做有关GUI的东西,我决定学习一下JAVA有关的知识。初学JAVA,写了点东西,纪念一下。不过贴代码的时候总害怕被鄙视,这么长时间也基本上没写多少代码,代码能力很弱,凑合着看吧。

同时也想借机好好练习练习敲代码的能力~

这个程序的主要功能是随机抽取,屏幕出现滚动条,按下开始,就出现滚动,就像电视上那种,看起来比较逼真吧,每次都是随机抽取的。按停,就在屏幕上产生一个随机出来的东西。

开始和停止可以用空格操作,也可以用鼠标点击。

一些疑问:如果把那个中断的函数写到响应里面,程序就会一直卡,直到循环结束,显示出来循环后的那个值,不是很明白这是为什么,希望大牛能给我个解释哈~

还有就是,在鼠标点击之后,再用键盘(空格)按,有的时候焦点就找不到了,这里也是一个问题吧,他们告诉我说焦点丢了,不过我也明白怎么再把焦点找回来。每次进行操作的时候,我都设置了一次焦点,不过有的时候确实有点问题,大家可以帮我看看。

很希望向一些技术帝、大牛们学习,也很高兴和大家多多交流。

有什么好的想法,欢迎大家提出~

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

import java.io.*;

public class RandomTest {

public static void main(String[] args) throws IOException

{

new test();

}

}

class test extends JFrame implements ActionListener {

private JTextArea text = new JTextArea("Welcom");

private JPanel panel = new JPanel();

private JButton _start;

private JButton _stop;

private boolean flag = false;

private Container c = getContentPane();

private String[] str = { "AA", "BB", "CC", "Dds", "Easdf",

"Fsadf", "Gsadf",

"Hasdf", "Isadf", "Jsadf", "Ksadf", "Lsdf", "Masfd", "Nsafd",

"Oasdf", "Pasdf", "Qsadf",

"Rasf", "Sasf", "Tasdf", "Uasdf", "V" };

private int count = 0;

public test() throws IOException {

setSize(400, 400);

text.setFont(new Font("",Font.BOLD,50));

_start = new JButton("start");

_stop = new JButton("stop");

_stop.setEnabled(false);

text.setEnabled(false);

panel.add(_start);

panel.add(_stop);

_start.addKeyListener(new KeyListener() {

public void keyPressed(KeyEvent e) {

if (e.getKeyCode() == KeyEvent.VK_SPACE)

count++;

if (count % 2 == 0) {

_start.setEnabled(true);

_stop.setEnabled(false);

_start.setFocusable(true);

_stop.setFocusable(false);

flag = false;

} else if (count % 2 == 1) {

_start.setEnabled(false);

_stop.setEnabled(true);

_stop.setFocusable(true);

_start.setFocusable(false);

flag = true;

}

}

public void keyReleased(KeyEvent arg0) {

}

public void keyTyped(KeyEvent arg0) {

}

});

_stop.addKeyListener(new KeyListener() {

public void keyPressed(KeyEvent e) {

if (e.getKeyCode() == KeyEvent.VK_SPACE)

count++;

if (count % 2 == 0) {

_start.setEnabled(true);

_stop.setEnabled(false);

_start.setFocusable(true);

_stop.setFocusable(false);

flag = false;

} else if (count % 2 == 1) {

_start.setEnabled(false);

_stop.setEnabled(true);

_stop.setFocusable(true);

_start.setFocusable(false);

flag = true;

}

}

public void keyReleased(KeyEvent arg0) {

}

public void keyTyped(KeyEvent arg0) {

}

});

_start.addActionListener(this);

_stop.addActionListener(this);

c.add(text, BorderLayout.NORTH);

c.add(panel, BorderLayout.SOUTH);

this.setResizable(false);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);

setLocation(300, 300);

RUN();

}

public void actionPerformed(ActionEvent event) {

Object obj = event.getSource();

if (obj == _start) {

flag = true;

_start.setEnabled(false);

_stop.setEnabled(true);

text.setEnabled(false);

_start.setFocusable(false);

_stop.setFocusable(true);

} else if (obj == _stop) {

flag = false;

_start.setEnabled(true);

_stop.setEnabled(false);

text.setEnabled(false);

_start.setFocusable(true);

_stop.setFocusable(false);

}

}

public void RUN() {

while (true) {

if (flag == true) {

Random ran = new Random();

String ss = str[Math.abs(ran.nextInt()) % 22];

text.setText(ss);

text.setFont(new Font("",Font.BOLD,50));

}

try {

Thread.sleep(1);

} catch (InterruptedException e) {

e.printStackTrace();

}

;

}

}

}

java抽签_java  抽签程序  【滚动抽签】相关推荐

  1. java闹钟_JAVA 闹钟程序

    展开全部 import java.util.*; import java.awt.*; import java.applet.*; import java.text.*; import java.aw ...

  2. loadrunner java 环境_java应用程序及服务器优化过程及loadrunner测试效果

    我们目前的网站应用首页大小在130K左右,在之前的测试过程中,其百用户并发的平均响应能力在6.5秒,通过今天的性能优化大概提升两秒左右的时间,结果在5秒内,根据应用的技术及操作系统环境,已经达到最优了 ...

  3. java结账_java 基础程序之商场结账管理

    项目流程:所选择的商品价格和商品数量,每统计一次,计算总价,之后总价进行累加,最后选择退出或者清空total的内存空间.进行下一次的结账; package com.zhiyou100; import ...

  4. java 衣服_JAVA小程序-----买衣服

    import java.util.Scanner; //引用扫描器 public class TestDemo1 { public static void main(String [] args){ ...

  5. node.js+uni计算机毕设项目基于微信小程序在线抽签系统(程序+小程序+LW)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: Node.js+ Vscode + Mysql5.7 + HBuilderX+Navicat11+Vue ...

  6. 计算机毕业设计Python+uniapp基于微信小程序在线抽签系统(小程序+源码+LW)

    计算机毕业设计Python+uniapp基于微信小程序在线抽签系统(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ ...

  7. node.js毕业设计基于微信小程序在线抽签系统(源码+程序+LW+部署)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: Node.js+ Vscode +Mysql5.7 + HBuilderX+Navicat11+Vue+ ...

  8. python抽签代码_python3 实现口罩抽签的功能

    一.口罩抽签的逻辑 每个人产生对应的抽签码: 开始进行抽签: 公布中签结果: 这次案例写的比较简单,实际生产环境远比这复杂的多,但是万变不离其宗,基本逻辑还是差不多的-- 二.口罩抽签的代码 impo ...

  9. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  10. java书籍_Java程序员必看的 13 本 Java 书籍!

    原文:Java程序员必看的 13 本 Java 书籍! 作者: java技术栈 关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,J ...

最新文章

  1. Oracle Index
  2. iOS之WebView的使用总结
  3. [MATLAB调试笔记]Field plot (Ex,Ey,Ez,By,Bz)
  4. ubuntu mysql汉字写入只写入了一个字符
  5. python敏感字替换_教学案例_Python处理敏感词汇方法
  6. Perl的特殊变量汇总
  7. Delphi 的消息机制浅探二
  8. HDOJ--2066--一个人的旅行
  9. 思迅账套数据库软件修复,思迅软件数据库置疑
  10. 手机聊天记录怎么备份技巧分享,再也不用担心数据丢失了
  11. pytorch读取数据集(分类文件夹加载)—ImageFolder()
  12. 国内国外最好的BT站点
  13. 51ditu Maps API 类参考文档
  14. 推荐两款很好用的听书APP
  15. android 高仿拼多多,Android 仿京东、拼多多商品分类页
  16. vue中将html页面转为图片并且下载该图片
  17. SpringBoot 微信点餐系统学习记录六-订单表和订单详情表的后端开发
  18. 常用去除离群值的算法!
  19. 计算机显卡性价比推荐,哪个型号显卡性价比最高?显卡性价比天梯图告诉你答案...
  20. 菜鸟之路---2,简单的勒索病毒分析

热门文章

  1. 无法安装驱动程序 此计算机上不存在英特尔适配器,无法安装驱动程序。此计算机不存在英特尔(R)适配器...
  2. python层次聚类法画图_原理+代码|详解层次聚类及Python实现
  3. 微信小程序 人脸识别登陆模块
  4. 爱普生L3153打印机如何清洗喷头
  5. 插桩java_字节码插桩技术
  6. ArcGIS空间数据的拓扑处理
  7. 爱克发胶片_AGFA爱克发C7工业X射线胶片 工业胶片(图)
  8. SPSS调查问卷信度分析【011-2期】
  9. MagicDraw-BDD图
  10. AGND为模拟地,DGND为数字地