当前位置:编程学习 > JAVA >>

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");永远都是这张,你告诉我怎么变? --------------------编程问答-------------------- 那要怎么办? --------------------编程问答-------------------- 验证码可以使用画笔动态生成图片 --------------------编程问答--------------------
引用 4 楼 zyf814 的回复:
验证码可以使用画笔动态生成图片
我不是在网页生成验证码,就是在一个系统客服端 --------------------编程问答--------------------
引用 2 楼 crazypandariy 的回复:
我擦,仔细一看代码,ImageIcon pic=new ImageIcon("E://Demo//picture//checkcode.jpg");永远都是这张,你告诉我怎么变?
点击changcode时重新new了一下啊 --------------------编程问答-------------------- 你重新new了,这个没错,但是你的图片路径变了吗?根本没有变,还是原来那张嘛。所以你创建的图片永远都是同一张,不会变的
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,