Java Swing与线程的结合应用(二)
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); } }
posted on 2012-07-21 02:35 java课程设计例子 阅读(175) 评论(0) 编辑 收藏 举报