0
点赞
收藏
分享

微信扫一扫

swing更改组件(删除后添加)得到心得:起码得刷新一下啊,可能还得再考虑重绘

swing更改组件(删除后添加)得到心得:起码得刷新一下啊,可能还得再考虑重绘

 

心得:修改无效时,考虑一下刷新宝贝,或再试试像界面层次的东西,再考虑重新绘制一下啊大宝贝

 

代码举例:

更换头像代码举例:(不刷新,不重新绘制,效果出不来,要么图片不变,要么反正就是不合心意):

ps:自己定义的几个变量的意思:pnlHeaderImage 是头像面板

headerPath 是 头像路径,方法openLocalFilePath(); 是打开文件夹或者文件,挑选自己喜欢的头像的图片文件路径

ps:刷新代码语句:pnlHeaderImage.updateUI();

  重绘代码语句:pnlHeaderImage.repaint();             

 

/**
* 头像添加点击事件更换头像的方法
*/
private void headImageEvent() {
pnlHeaderImage.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) { // 点击鼠标左键
pnlHeaderImage.removeAll();
pnlHeaderImage.setOpaque(true);
pnlHeaderImage.repaint();
// pnlHeaderImage.updateUI();
}
headerPath = openLocalFilePath();
lblHeaderImage = new JLabel(new ImageIcon(headerPath));
pnlHeaderImage.add(lblHeaderImage);
pnlHeaderImage.setOpaque(false);
pnlHeaderImage.updateUI();
}

});
}

 

ps:方法openLocalFilePath(); 是打开文件夹或者文件,挑选自己喜欢的头像的图片文件路径的代码:

/**
* 打开文件夹的路径
* @return
*/
public String openLocalFilePath() {
JFileChooser fileChooser = new JFileChooser(".");
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int value = fileChooser.showDialog(fileChooser, "选择");
File getPath = null;
if (value == JFileChooser.APPROVE_OPTION) {
getPath = fileChooser.getSelectedFile();
}
return getPath.getAbsolutePath();
}

 

作者:​​一乐乐​​

举报
0 条评论