java大神求救,急救,在线等
代码如下:package login;
import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Checking extends JFrame implements MouseListener{
/**
*
*/
private static final long serialVersionUID = 1L;
ImageIcon pic=new ImageIcon("E://Demo//picture//checkcode.jpg");
JLabel l=new JLabel(pic);
JLabel changecode=new JLabel("看不清楚,换一张");
public Checking(){
this.setLayout(null);
l.setBounds(0, 0, 200, 100);
changecode.setBounds(220,35,100,40);
this.add(l);
this.add(changecode);
this.setSize(350, 200);
this.setVisible(true);
this.setResizable(false);
this.setLocationRelativeTo(null);
changecode.addMouseListener(this);
}
public static void main(String[] args){
new Checking();
}
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==changecode){
new MyCheckCode();
this.dispose();
new Checking();
}
}
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==changecode)
changecode.setBackground(Color.red);
}
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
}
}
问题:
点击changecode确实发生了MyCheckCode();也发生了Checking();但是l中的图片没有变,不知为何 java 图片 --------------------编程问答-------------------- 为什么呢,因为你需要手动调用一下validate()或者是repaint(),或者两个方法都调用一下。至于原因嘛,你看看api就知道了 --------------------编程问答-------------------- 我擦,仔细一看代码,ImageIcon pic=new ImageIcon("E://Demo//picture//checkcode.jpg");永远都是这张,你告诉我怎么变? --------------------编程问答-------------------- 那要怎么办? --------------------编程问答-------------------- 验证码可以使用画笔动态生成图片 --------------------编程问答-------------------- 我不是在网页生成验证码,就是在一个系统客服端 --------------------编程问答-------------------- 点击changcode时重新new了一下啊 --------------------编程问答-------------------- 你重新new了,这个没错,但是你的图片路径变了吗?根本没有变,还是原来那张嘛。所以你创建的图片永远都是同一张,不会变的
补充:Java , Java SE