java swing 程序问题

本人初学java,考试遇到一个swing的题目,不知道该怎么写,请高手帮忙实现一下(源代码)。创建一个JFrame,要求实现如下功能:1)点击start按钮后,每间隔10... 本人初学java,考试遇到一个swing的题目,不知道该怎么写,请高手帮忙实现一下(源代码)。
创建一个JFrame,要求实现如下功能:
1)点击start按钮后,每间隔100毫秒在该Frame上随机位置画一个红色的点;
2)点击pause按钮后,绘图暂停;
3)再次点击pause则继续绘图。
展开
 我来答
htaohongtao
2009-03-16 · 超过10用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:26.9万
展开全部
import javax.swing.*;
import java.util.Random;
import java.awt.*;
import java.awt.event.*;
public class Test extends JFrame
{
private JButton btnStart=new JButton("开始");
private JButton btnPause=new JButton("暂停");
private boolean isRun=false;
private Random random=new Random();
public Test()
{
setSize(500,500);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout(FlowLayout.CENTER));
add(btnStart);
add(btnPause);
setVisible(true);
btnStart.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
isRun=true;
}
});
btnPause.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
isRun=!isRun;
}
});
new Thread(new Runnable()
{
public void run()
{
while(true)
{
if(isRun)
repaint();
try
{
Thread.sleep(100);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}).start();
}
public void paint(Graphics g)
{
super.paint(g);
g.setColor(Color.RED);
g.fillOval(random.nextInt(getWidth()-50), random.nextInt(getHeight()-50), 50, 50);
}
public static void main(String[]args)
{
new Test();
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式