Java 图片替换 20

importjava.awt.*;importjavax.swing.*;publicclassHello_2extendsJFrame{JLabeljl1;JLabel... import java.awt.*;

import javax.swing.*;
public class Hello_2 extends JFrame{
JLabel jl1;
JLabel jl2;
JPanel jp1;

public static void main(String[] args) {

// TODO Auto-generated method stub

Hello_2 hello=new Hello_2();

}
public Hello_2()
{
jp1=new JPanel();
jl1=new JLabel(new ImageIcon("images/001.png"));
this.add(jl1);
this.setSize(420, 430);
this.setLocationRelativeTo(null);
// 窗口居中显示
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//关闭程序
this.setVisible(true);
// jp1.remove(jl1);
//jl2=new JLabel(new ImageIcon("images/002.png"));
//this.add(jl2);
// repaint();
//我想让界面显示过001.png后再显示002.png ,可是为什么只显示001.
png?

}

}
展开
 我来答
紫薇参星
科技发烧友

2016-05-28 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3492万
展开全部

你的jl1没放到jp1中,放到了JFrame中,所以jp1.remove(jl1);应该改成this.remove(jl1);

另外,改完后,要重新布置一下JFrame中的组件,用this.validate();

你的程序我帮你改完了,你看看吧。(改动的地方见注释)

import java.awt.*;
import javax.swing.*;
public class Hello_2 extends JFrame{
JLabel jl1;
JLabel jl2;
JPanel jp1;
 public static void main(String[] args) {
  Hello_2 hello=new Hello_2();
 }
 public Hello_2()
 {
  jp1=new JPanel();
  jl1=new JLabel(new ImageIcon("images/001.png"));
  this.add(jl1);
  this.setSize(420, 430);
  this.setLocationRelativeTo(null);
  // 窗口居中显示
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  //关闭程序
  this.setVisible(true);
  this.remove(jl1);//这里jp1.remove(jl1);改成this.remove(jl1);
  jl2=new JLabel(new ImageIcon("images/002.png"));
  this.add(jl2);
        this.validate();//这里让JFrame容器再次布置其子组件
  //repaint();
  //我想让界面显示过001.png后再显示002.png ,可是为什么只显示001.png?
 }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式