救命 你能把代码发上来么?!用repaint()试试,如果 jpanel自己的不行,调用包含她的容器的repaint()! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //实例化DiyListPanel diylistpanel = new DiyListPanel("冰淇淋");//extends JPanelpublic DiyListPanel(String groupname) { this.add(JLabel,new FlowLayout(FlowLayout.LEFT));//jlabel上面画东西}就是这样子!我再一次//实例化DiyListPanel diylistpanel = new DiyListPanel("水果");结果画着冰淇淋的jlabel还在jpanel上!和解?》 两种方法你试试吧1、jpanel.repaint()2、应该用jpanel.remove()吧 然后再用jpanel.add()添加一便可以么 一定要用repaint()方法,对jpanel进行重画。没有repaint()你的输出就一直是第一个画的结果。 有点没有看懂问题的感觉:我想象了一下Panel不会直接显示,你是不是把这个Panel加入了Frame再显示的?DiyListPanel diylistpanel = new DiyListPanel("冰淇淋");frame.add(diylistpanel);diylistpanel = new DiyListPanel("水果");如果是这样画面不会变是正常的呀!第一行新建一个对象并把对象的引用赋给diylistpanel变量,frame.add的时候加入的是new DiyListPanel("冰淇淋");以后再重新对diylistpanel赋值并不影响new DiyListPanel("冰淇淋")生成的对象。除非你再调用一次frame.add(diylistpanel);执行一下jpanel.repaint() DiyListPanel //extend JPanel这个类是放在哪里显示的?利用上级Component的repaint()看看行不行,如果不行就用Component.remove(),然后再用Component.add()应该就OK了吧。 兄弟姐眉们!还是不行!jpanel是放在一个frame中,根据frame中的按钮来new一个实例!然后在jpanel显示jlabel(上面画有图形),在new jpanel(中参数a),则new 上几个jabel并且add进来在new jpanel(中参数b),则什么都不new那么参数b的上面应该什么都没有,但是他妈的的确显示了参数a的东西,并且还可以调用(指按下去可以返回根据a生成的东西)到底怎么办压!validate(); this.remove(this); this.updateUI(); this.repaint();都用上了额!呵呵!汪汪汪! 应该还是这里的错误!jpanel没有释放的原因因为第一次总是好的! 这个问题如果java基础好的话不应该出现。你做的方法有问题。DiyListPanel diylistpanel = new DiyListPanel("冰淇淋");frame.add(diylistpanel);diylistpanel = new DiyListPanel("水果");这样肯定会出错的。应该是这样DiyListPanel diylistpanel = new DiyListPanel("冰淇淋");frame.add(diylistpanel);diylistpanel.updateLabel("水果");在diylistpanel中用方法实现label的变更public DiyListPanel extends JPanel { JLabel jLabel = null; public DiyListPanel(String groupname) { jLabel = new JLabel(groupname); this.add(jLabel, new FlowLayout(FlowLayout.LEFT)); } public void updateLabel(String groupname) { jLabel.setText(groupname); this.validate(); }}代码没有试验过,凭空想象的。你自己试验一下了,呵呵 这样肯定会出错的。为什么?既然是new了一个对象, new DiyListPanel("冰淇淋");和diylistpanel.updateLabel("水果");有什么区别?我new DiyListPanel("水果");那么根据水果来找东西,别且没有找到!跟你的updatelabel有什么本质上的取别?安望告之!哼! KillAllError(无心) :给我一个解释的理由! pqds(一个女农民)真不知道你的那么多专家分怎么来的在new 第二个JPanel时需要把第一个JPanel从父容器里remove掉parent.remove(JPanel1)或JPanel1.getParent().remove(JPanel1);然后再把JPanel2加进去 relive(六道轮回,无想转生):无言以对!是我弱智!我是白痴!remove 方法一直是放在jpanel的构建器里的,并且是removeall(),因为里面是jlabel!放在创建的时候就好了!原来是做j2ee的,唉!让你小看了!我真不是人!羞愧难当中。 但是我为什么在jpanel的构建器里removeall(),因为里面是jlabel! 就是不行呢? http://expert.csdn.net/Expert/topic/2079/2079512.xml?temp=.6070063再办我卡看这个!行不! pqds(一个女农民)偶不是人,偶没说人话,对不起了偶自宫谢罪去了relive(六道轮回,无想转生)黯然离去 解释清楚原因再走!为什么我在jpanel的构建器里删除label就是不行!为什么压?神那?为什么? 啊!这你都干的出来,厉害!就是有点疼(我估计),没事的,一刀下去就好了!呵呵!记得不要乱扔!http://expert.csdn.net/Expert/topic/2079/2079512.xml?temp=.6070063再办我卡看这个!行不! 不明白也帮我UP一下!那个我已经回复3times!你再添加记录,我就可以继续up了!呵呵! 如何得到字符串并且放到arraylist<string>中 java基础题 关于设计小游戏的swing布局方法 想模仿QQ的通讯软件,开始就遇到问题 类 传递参数的方式,值传递还是地址传递呢? 十万火急!!!!1请各位高手们指点指点小弟啊--怪异的线程小程序, 请问:JAVA的编译软件JDK在哪个系统中运行比较好? 向高手求助,路过要来看一下呀! 关于用IBM的WSAD中出现的JNDI Name的问题! JAVA 计算器编写 用到哪些 急,远程数据插入不成功,本地可以 请教一个排序的问题??
DiyListPanel diylistpanel = new DiyListPanel("冰淇淋");//extends JPanel
public DiyListPanel(String groupname) {
this.add(JLabel,new FlowLayout(FlowLayout.LEFT));//jlabel上面画东西
}就是这样子!我再一次
//实例化
DiyListPanel diylistpanel = new DiyListPanel("水果");结果画着冰淇淋的jlabel还在jpanel上!
和解?》
1、jpanel.repaint()2、应该用jpanel.remove()吧
然后再用jpanel.add()添加一便可以么
我想象了一下Panel不会直接显示,你是不是把这个Panel加入了Frame再显示的?
DiyListPanel diylistpanel = new DiyListPanel("冰淇淋");
frame.add(diylistpanel);
diylistpanel = new DiyListPanel("水果");如果是这样画面不会变是正常的呀!
第一行新建一个对象并把对象的引用赋给diylistpanel变量,
frame.add的时候加入的是new DiyListPanel("冰淇淋");
以后再重新对diylistpanel赋值并不影响new DiyListPanel("冰淇淋")生成的对象。
除非你再调用一次frame.add(diylistpanel);
执行一下
jpanel.repaint()
这个类是放在哪里显示的?
利用上级Component的repaint()
看看行不行,如果不行就用Component.remove(),然后再用Component.add()应该就OK了吧。
还是不行!
jpanel是放在一个frame中,根据frame中的按钮来new一个实例!然后在jpanel显示jlabel(上面画有图形),在new jpanel(中参数a),则new 上几个jabel并且add进来在new jpanel(中参数b),则什么都不new那么参数b的上面应该什么都没有,但是他妈的的确显示了参数a的东西,并且还可以调用(指按下去可以返回根据a生成的东西)到底怎么办压!validate();
this.remove(this);
this.updateUI();
this.repaint();
都用上了额!呵呵!汪汪汪!
jpanel没有释放的原因
因为第一次总是好的!
DiyListPanel diylistpanel = new DiyListPanel("冰淇淋");
frame.add(diylistpanel);
diylistpanel = new DiyListPanel("水果");
这样肯定会出错的。应该是这样
DiyListPanel diylistpanel = new DiyListPanel("冰淇淋");
frame.add(diylistpanel);
diylistpanel.updateLabel("水果");在diylistpanel中用方法实现label的变更
public DiyListPanel extends JPanel {
JLabel jLabel = null;
public DiyListPanel(String groupname) {
jLabel = new JLabel(groupname);
this.add(jLabel, new FlowLayout(FlowLayout.LEFT));
} public void updateLabel(String groupname) {
jLabel.setText(groupname);
this.validate();
}
}代码没有试验过,凭空想象的。你自己试验一下了,呵呵
和
diylistpanel.updateLabel("水果");有什么区别?我new DiyListPanel("水果");
那么根据水果来找东西,别且没有找到!跟你的updatelabel有什么本质上的取别?安望告之!哼!
给我一个解释的理由!
parent.remove(JPanel1)或JPanel1.getParent().remove(JPanel1);
然后再把JPanel2加进去
无言以对!是我弱智!我是白痴!
remove 方法一直是放在jpanel的构建器里的,并且是removeall(),因为里面是jlabel!放在创建的时候就好了!原来是做j2ee的,唉!让你小看了!我真不是人!
羞愧难当中。
再办我卡看这个!行不!
偶不是人,偶没说人话,对不起了
偶自宫谢罪去了relive(六道轮回,无想转生)黯然离去
为什么我在jpanel的构建器里删除label就是不行!
为什么压?神那?为什么?
啊!这你都干的出来,厉害!就是有点疼(我估计),没事的,一刀下去就好了!呵呵!
记得不要乱扔!http://expert.csdn.net/Expert/topic/2079/2079512.xml?temp=.6070063
再办我卡看这个!行不!
你再添加记录,我就可以继续up了!
呵呵!