J**A实现名字用按钮按下后一直循环显示在 textArea里,直到按另一个按钮终止
使用 j**ax.swing.Timer;即可实现,定时去执行某一个任务的功能
随即产生的效果图
参考代码
import j**a.awt.*;import j**a.awt.event.*;import j**a.util.Random;import j**ax.swing.*;本类继承自JFrame,实现了ActionListener接口
public class ButtonFrame extends JFrame implements ActionListener {
定义常量
public static final String[]NAMES={"黄蓉","小龙女","东方不败","阿珂","任盈盈","王语嫣","周芷若"};public static final String NEW_LINE=System.getProperty("line.separator");获取当前系统换行符
public static final String INFO="女神节快乐,随即抽取1人领取奖励.;组件
JButton jbStart,jbClear;JTextArea jta;随即
Random random;Timer t;定义一个计时器控件 j**ax.swing.Timer
int times=0;刷新名字的次数
构造方法:组件的初始化,排版,窗口的设置
public ButtonFrame(){
random=new Random();jta=new JTextArea(INFO);jta.setLineWrap(true);自动换行
JScrollPane jsp=new JScrollPane(jta,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);文本区域添加到滚动面板,垂直滚动条需要的时候出现,水平滚动条不需要.
add(jsp,BorderLayout.CENTER);JPanel jps=new JPanel();jbStart=new JButton("随即选择");jbStart.addActionListener(this);添加**处理
jbClear=new JButton("强制停止");jbClear.addActionListener(this);jps.add(jbStart);jps.add(jbClear);add(jps,BorderLayout.SOUTH);setTitle("窗口");窗口标题
setSize(280,220);窗口大小
setLocationRelativeTo(null);窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);当窗口关闭时,程序结束
每隔100毫秒 执行一次actionPerformed的方法
t=new Timer(100,new ActionListener(){
Override
public void actionPerformed(ActionEvent e){
times+;String str=INFO+NEW_LINE+"Bingo!\t"+NAMES[random.nextInt(NAMES.length)];jta.setText(str);if(times>=10){/如果计时器循环了10次,那么停止计时器
t.stop();停止计时器
times=0;次数归零
jbStart.setEnabled(true);按钮恢复点击
}
}
});}
处理按钮点击**
public void actionPerformed(ActionEvent e){
JButton jbTemp=(JButton)e.getSource();if(jbStart=jbTemp){/随即
if!t.isRunning()){/如果计时器没有运行,
jbStart.setEnabled(false);按钮不可点击
t.start();启动计时器
}
} else if(jbClear=jbTemp){/停止
jta.setText(INFO);if(t.isRunning()){/如计时器正在运行中,
t.stop();times=0;jbStart.setEnabled(true);}
}
}
public static void main(String[]args){
new ButtonFrame().setVisible(true);实例化窗口并可见
}
}
随即产生的效果图
参考代码
import j**a.awt.*;import j**a.awt.event.*;import j**a.util.Random;import j**ax.swing.*;本类继承自JFrame,实现了ActionListener接口
public class ButtonFrame extends JFrame implements ActionListener {
定义常量
public static final String[]NAMES={"黄蓉","小龙女","东方不败","阿珂","任盈盈","王语嫣","周芷若"};public static final String NEW_LINE=System.getProperty("line.separator");获取当前系统换行符
public static final String INFO="女神节快乐,随即抽取1人领取奖励.;组件
JButton jbStart,jbClear;JTextArea jta;随即
Random random;Timer t;定义一个计时器控件 j**ax.swing.Timer
int times=0;刷新名字的次数
构造方法:组件的初始化,排版,窗口的设置
public ButtonFrame(){
random=new Random();jta=new JTextArea(INFO);jta.setLineWrap(true);自动换行
JScrollPane jsp=new JScrollPane(jta,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);文本区域添加到滚动面板,垂直滚动条需要的时候出现,水平滚动条不需要.
add(jsp,BorderLayout.CENTER);JPanel jps=new JPanel();jbStart=new JButton("随即选择");jbStart.addActionListener(this);添加**处理
jbClear=new JButton("强制停止");jbClear.addActionListener(this);jps.add(jbStart);jps.add(jbClear);add(jps,BorderLayout.SOUTH);setTitle("窗口");窗口标题
setSize(280,220);窗口大小
setLocationRelativeTo(null);窗口居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);当窗口关闭时,程序结束
每隔100毫秒 执行一次actionPerformed的方法
t=new Timer(100,new ActionListener(){
Override
public void actionPerformed(ActionEvent e){
times+;String str=INFO+NEW_LINE+"Bingo!\t"+NAMES[random.nextInt(NAMES.length)];jta.setText(str);if(times>=10){/如果计时器循环了10次,那么停止计时器
t.stop();停止计时器
times=0;次数归零
jbStart.setEnabled(true);按钮恢复点击
}
}
});}
处理按钮点击**
public void actionPerformed(ActionEvent e){
JButton jbTemp=(JButton)e.getSource();if(jbStart=jbTemp){/随即
if!t.isRunning()){/如果计时器没有运行,
jbStart.setEnabled(false);按钮不可点击
t.start();启动计时器
}
} else if(jbClear=jbTemp){/停止
jta.setText(INFO);if(t.isRunning()){/如计时器正在运行中,
t.stop();times=0;jbStart.setEnabled(true);}
}
}
public static void main(String[]args){
new ButtonFrame().setVisible(true);实例化窗口并可见
}
}
佚名
2024-05-31 21:18:34
类似问题(10)
-
佚名2024-05-31 14:22:45
问音响一般有几个按钮,起什么作用
答这个不一定的,看你音箱档次的,最简单的音箱只有 开关 和音量大小 调节 2个按钮,好一点的还带 低音炮的,还有重低音的调节,
-
佚名2024-05-31 14:36:48
问东风标志207两厢驾驶室各个按钮的名称及作用左下角的按钮是起什么作用?
答按钮主要是双闪,冷暖空调,通风,四门电锁,四门电动车窗,后备箱锁,车内照明灯等等
-
佚名2024-05-31 05:35:05
问全车锁和电动门窗锁止按钮的区别是什么
答你好! 区别在于一个是锁门 一个是锁玻璃升降 希望可以帮到你
-
佚名2024-05-31 05:54:30
问如何让在里面按一下的那种锁一直呈按下去的状态
答直接去卖锁的的地方给卖锁的讲你需要达到的功能,他们就会为你推荐。
-
佚名2024-05-31 08:00:00
问谁能发个手柄按钮提示与键盘的对应图
答是可以直接找到的
-
佚名2024-05-31 08:00:00
问汽车灯光按钮位置图解?
答相信大家都记得考驾照时,灯光的使用就是必考项目,可见其在驾驶中的重要性。车灯除了具备照明的作用外,还有提示与警示的作用,说白了,懂得车灯的使用方法,也就懂得了保...
-
佚名2024-05-31 08:00:00
问皇室战争一直显示登陆,连按好多下也进不去
答我也有过这种情况,是网络问题。
-
佚名2024-05-31 08:00:00
问1、电路板上的这个小按钮叫什么,是不是和按钮开关一样的作用, 2、这个一共有四个脚,按下去和不按下
答1,这个叫轻触开关2,轻触开关,当按下去的时候就连接导通,松开的时候就断开3,按你上面图片,开关四个脚,上面两个是直通,下面两个是直通,如果按下去上下4个脚都导...
-
佚名2024-05-31 08:00:00
问国四车ebp按钮是什么意思?
答EBD的功能就是在汽车制动的瞬间,高速计算出四个轮胎由于附着不同而导致的摩擦力数值,然后调整制动装置,使其按照设定的程序在运动中高速调整,达到制动力与摩擦力(牵...
-
佚名2024-05-31 08:00:00
问求一罗技G502鼠标循环点击宏(脚本) 要求:鼠标左键点击延迟3.5秒后 自动循环 直到按停止键
答这个很好做啊,你下载个《无敌点击狗》软件就能自动模拟点击的,而且无敌点击狗能设置多个脚本,依次循环的。
风水
起名
网名
- 1 最新非主流伤感网名
- 2 qq网名情侣霸气超拽
- 3 网名都有哪些
- 4 小幸运可以做网名
- 5 微信可不可以批量改群昵称
- 6 罪恶都市建筑物昵称
- 7 qq昵称的表情怎么打出来
- 8 账户和用户的昵称
- 9 五年级男孩微信昵称
- 10 头条号的作者怎么改昵称
说说
- 1 蓬莱说说
- 2 发什么说说好呢
- 3 莲花唯美说说
- 4 心酸说说一个人的孤单
- 5 qq空间说说查看痕迹却没有加分
- 6 说说带出处
- 7 聊天增进感情的说说
- 8 送孩子上大学高兴心情说说
- 9 如何对待忌妒你的人的说说
- 10 怀孕37周想发条说说