swing面板刷新问题 swing刷新面板更新jpanel 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在主面板上监听子面板事件,刷新可以用updateUI方法 如果面板有改动比如说调用了panel.removeAll();那么用如下语句可以刷新面板panel.validate();panel.repaint(); 我的那个子面板没什么变化,变化的是那个子面板的背景的图片。如:子面板的背景图片路径为:d:/1.jpg,图片变了的同时我想更新子面板的背景的图片。 我用了updateUI、validate、repaint 子面板都没更新,所以我在想是不是其他的问题......................我说下子面板的情况吧,子面板上就只有一个jlable,设置了它的背景图片,因为图片的大小不定,而子面板的大小是规定的,所以把jlable放在了JScrollPanel上面,这样的话就会有下来条,再就有一个jpanel来放置这个JScrollPanel,最后把这个jpanel放到主面板上来.现在我在主面板上面有一个监听是更改图片的,就是更改jlable的背景图片,但我要在更改图片的同时来刷新jlable的背景. 你repaint一百次那个JLabel背景东西也不会变的你必须调用setIocn或者setBackground然后再刷新才会起作用! public class LegendPanel_new extends JPanel { private JPanel rootpanel; public JLabel iocn; public JLabel getIocn() { return iocn; } public void setIocn(JLabel iocn) { this.iocn = iocn; } public LegendPanel_new() { initComponents(); } private void initComponents() { rootpanel = new JPanel(); iocn = new JLabel(new ImageIcon(System.getProperty("user.dir")+"\\images\\LegendImage\\LegendImage.png")); rootpanel.add(iocn); this.add(rootpanel); }//前面是监听刷新图片.LegendPanel_new lp = new LegendPanel_new();lp.setIocn(lp.iocn);求指教,我这样setIocn不行. 如何捕获数据包? 关于文件改名和解压的问题 怎么解决:浮动窗口,IE下正常,chorme下窗口固定死了,兼容问题? 反向迭代,为什么不好用? 请问用什么容器好? 怎么用这个接口CharSequence 的subSequence(int,int)的方法? 30分求救,谢谢,关于JDialog的顽固性格 利用jdbc访问数据库sqlserver遇到的一个大难题!求救!! java 多线程 安全问题 ▲▲▲实在是无聊,郁闷。就把C++和Java比一下速度。算10000!(10000的阶乘)▲▲▲ File & mkdir 大家一起来讨论一下
panel.repaint();
我用了updateUI、validate、repaint 子面板都没更新,所以我在想是不是其他的问题......................
我说下子面板的情况吧,子面板上就只有一个jlable,设置了它的背景图片,因为图片的大小不定,而子面板的大小是规定的,所以把jlable放在了JScrollPanel上面,这样的话就会有下来条,再就有一个jpanel来放置这个JScrollPanel,最后把这个jpanel放到主面板上来.现在我在主面板上面有一个监听是更改图片的,就是更改jlable的背景图片,但我要在更改图片的同时来刷新jlable的背景.
你必须调用setIocn或者setBackground然后再刷新才会起作用!
public JLabel iocn;
public JLabel getIocn() {
return iocn;
} public void setIocn(JLabel iocn) {
this.iocn = iocn;
}
public LegendPanel_new() {
initComponents();
} private void initComponents() {
rootpanel = new JPanel();
iocn = new JLabel(new ImageIcon(System.getProperty("user.dir")+"\\images\\LegendImage\\LegendImage.png"));
rootpanel.add(iocn);
this.add(rootpanel);
}//前面是监听刷新图片.
LegendPanel_new lp = new LegendPanel_new();
lp.setIocn(lp.iocn);
求指教,我这样setIocn不行.