package com.han;
import java.awt.Container;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class ThreadAndSwing_2 extends JFrame {
/**
*
*/
private static final long serialVersionUID = -5452173345709313051L;
public ThreadAndSwing_2() {
// TODO Auto-generated constructor stub
try {
final Icon imageIcon = new ImageIcon(ImageScale.scale(
ImageIO.read(this.getClass().getResource(
"/images/Luxun.jpg")), 100, 100, 1));
final JLabel label = new JLabel(imageIcon);
Container container = getContentPane();
container.setLayout(null);
container.add(label);
label.setBounds(10, 10, imageIcon.getIconWidth(),
imageIcon.getIconHeight());
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
int count = 10;
// TODO Auto-generated method stub
while (true) {
// label.setLocation(count, 10);
label.setBounds(count, 10, imageIcon.getIconWidth(),
imageIcon.getIconHeight());
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
count += 4;
if (count > 200) {
count = 10;
}
// break;
}
}
});
thread.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ThreadAndSwing_2 frame = new ThreadAndSwing_2();
frame.setTitle("线程与swing JLabel结合应用");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(300, 200, 320, 160);
frame.setVisible(true);
}
}