Label显示图片的问题!!!急!! 是不是Label更新的问题啊??我的路径不变,就文件不停在变,而且我保证是在刷新Label之前文件就更新了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为我要不停的生成临时文件来覆盖那个目录下的testout.gif,然后不断调用setIcon方法来显示图片到label上 如何刷新啊,我每次都setIcon怎么都不行 package pinglun;import javax.swing.*;import java.awt.event.*;import java.awt.*;class Rect extends JLabel{ ImageIcon ima; String path = "d://11-5.jpg"; int tuo_kx=0, tuo_ky=0, panel_x=300, panel_y=225, panel_w=205, panel_h=205; public Rect() { addMouseMotionListener(new label_jLabel2_mouseMotionAdapter(this)); addMouseListener(new label_jLabel2_mouseAdapter(this)); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } public void repaint(String path){ this.path=path; repaint(); } public void paint(Graphics g) { ima=new ImageIcon(path); g.drawImage(ima.getImage(),0,0,this.getWidth(),this.getHeight(),Color.BLUE,this); } void jLabel2_mousePressed(MouseEvent e) { tuo_kx = e.getX(); tuo_ky = e.getY(); System.out.println(tuo_kx); } void jLabel2_mouseDragged(MouseEvent e) { int jx = e.getX(); int jy = e.getY(); setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); if (panel_x + jx - tuo_kx <= 0) { panel_x = 0; } else { panel_x -= (tuo_kx - jx); } if (panel_y + jy - tuo_ky <= 0) { panel_y = 0; } else { panel_y -= (tuo_ky - jy); } setBounds(new Rectangle(panel_x, panel_y, panel_w, panel_h)); } private void jbInit() throws Exception { this.setBorder(BorderFactory.createLineBorder(Color.black)); }}class label_jLabel2_mouseMotionAdapter extends java.awt.event.MouseMotionAdapter { Rect adaptee; label_jLabel2_mouseMotionAdapter(Rect adaptee) { this.adaptee = adaptee; } public void mouseDragged(MouseEvent e) { adaptee.jLabel2_mouseDragged(e); }}class label_jLabel2_mouseAdapter extends java.awt.event.MouseAdapter { Rect adaptee; label_jLabel2_mouseAdapter(Rect adaptee) { this.adaptee = adaptee; } public void mousePressed(MouseEvent e) { adaptee.jLabel2_mousePressed(e); }}将它加到JFrame试试 谁来帮我下,数据库插入数据问题 二维数组应用问题 请教一个网址有汉字的问题。 用swing如何实现一款软件的多种语言的切换? 怎么样设置SQL JDBC 驱动程序 很菜很菜的鸟问个问题希望大家帮个忙哈 jar包混淆后很多文件仅大小写不同,无法反编译后用eclipse加载? 怎么解析很长的字符串 我想学JSP和JAVA,请问怎么学起? 检测语句错误 如何在servlet 里控制页面跳转的target. 怎么判断socketclient与socketserver中断了?
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class Rect extends JLabel
{
ImageIcon ima;
String path = "d://11-5.jpg";
int tuo_kx=0, tuo_ky=0, panel_x=300, panel_y=225, panel_w=205, panel_h=205; public Rect()
{
addMouseMotionListener(new label_jLabel2_mouseMotionAdapter(this));
addMouseListener(new label_jLabel2_mouseAdapter(this));
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
} public void repaint(String path){
this.path=path;
repaint();
}
public void paint(Graphics g) {
ima=new ImageIcon(path);
g.drawImage(ima.getImage(),0,0,this.getWidth(),this.getHeight(),Color.BLUE,this); } void jLabel2_mousePressed(MouseEvent e) {
tuo_kx = e.getX();
tuo_ky = e.getY();
System.out.println(tuo_kx); }
void jLabel2_mouseDragged(MouseEvent e) {
int jx = e.getX();
int jy = e.getY();
setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); if (panel_x + jx - tuo_kx <= 0) {
panel_x = 0;
}
else {
panel_x -= (tuo_kx - jx);
}
if (panel_y + jy - tuo_ky <= 0) {
panel_y = 0;
}
else {
panel_y -= (tuo_ky - jy);
}
setBounds(new Rectangle(panel_x, panel_y, panel_w, panel_h));
}
private void jbInit() throws Exception {
this.setBorder(BorderFactory.createLineBorder(Color.black));
}}
class label_jLabel2_mouseMotionAdapter extends java.awt.event.MouseMotionAdapter {
Rect adaptee; label_jLabel2_mouseMotionAdapter(Rect adaptee) {
this.adaptee = adaptee;
}
public void mouseDragged(MouseEvent e) {
adaptee.jLabel2_mouseDragged(e);
}
}class label_jLabel2_mouseAdapter extends java.awt.event.MouseAdapter {
Rect adaptee; label_jLabel2_mouseAdapter(Rect adaptee) {
this.adaptee = adaptee;
}
public void mousePressed(MouseEvent e) {
adaptee.jLabel2_mousePressed(e);
}
}
将它加到JFrame试试