java swing 程序问题
本人初学java,考试遇到一个swing的题目,不知道该怎么写,请高手帮忙实现一下(源代码)。创建一个JFrame,要求实现如下功能:1)点击start按钮后,每间隔10...
本人初学java,考试遇到一个swing的题目,不知道该怎么写,请高手帮忙实现一下(源代码)。
创建一个JFrame,要求实现如下功能:
1)点击start按钮后,每间隔100毫秒在该Frame上随机位置画一个红色的点;
2)点击pause按钮后,绘图暂停;
3)再次点击pause则继续绘图。 展开
创建一个JFrame,要求实现如下功能:
1)点击start按钮后,每间隔100毫秒在该Frame上随机位置画一个红色的点;
2)点击pause按钮后,绘图暂停;
3)再次点击pause则继续绘图。 展开
1个回答
展开全部
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();
}
}
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();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询