运行代码已经可以比较正常实现功能了,但是控制台会一直在报错,求解啊。。。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
public class Random extends Thread implements MouseListener {
Frame f;
JPanel jp = new JPanel();
JLabel jl = new JLabel();
String []room={"207","208","233","322","323","324","325","326","327","423","601","711","502③","504④","529③","531①","602③"};
ArrayList<String> al = new ArrayList<String>();
boolean isclick = false;
int a=0,b=0;
public void lunchFreme(){
for(int x=0;x<room.length;x++){
al.add(room[x]);
}
f=new Frame();
f.addMouseListener(this);
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
isclick=false;
super.windowClosing(e);
System.exit(0);
}
});
f.setTitle("Random");
f.setBackground(Color.white);
f.setVisible(true);
f.setSize(500,300);
f.setLocation(300,200);
jl.setText("Ready!");
jl.setFont(new Font("Dialog", 1, 50));
jl.setHorizontalTextPosition(SwingConstants.CENTER);
jl.setVerticalTextPosition(SwingConstants.CENTER);
jl.setSize(500,300);
jp.add(jl);
f.add(jp);
}
public void run(){
do{
if(a>=al.size()) a=0;
jl.setText(al.get(a));
jp.repaint();
jp.add(jl);
f.add(jp);
a++;
try {
Thread.sleep(50);
} catch (Exception e) {
e.printStackTrace();
}
}while (isclick!=false);
}
public void mouseClicked(MouseEvent e) {
b++;
if (!isclick) {
isclick=true;
new Thread(this).start();
}
else{
isclick=false;
System.out.println(a);
al.remove(a-1);
if (al.size()==0) {
System.out.println("抽签结束!");
}
}
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
public static void main(String args[]){
Random mf = new Random();
mf.lunchFreme();
}
}
运行代码已经可以比较正常实现功能了,但是控制台会一直在报错,求解啊。。。