我是Java NetBeans 8的新用户。我想将employee插入sql server DB。我使用jlabel显示选定的图像,并且jlabel具有用户的本地背景。在src中的BG商店中,在src中,我创建Image文件夹,在Image文件夹中,我有一个名为24的文件夹。在24文件夹中,我存储了bg图像namce employeebg.png。
我需要在插入后将所有文本清除,并将jlabel / lbpicture返回到employeebg.png。
我使用此代码。
private String getpath=null;
private byte[] image=null;
private File opt=null;
private FileInputStream FIS;
try{
getpath = "\\Image\\24\\employeebg.png";
opt = new File(getpath);
FIS=new FileInputStream(opt);
ByteArrayOutputStream array = new ByteArrayOutputStream();
byte[] imagedata=new byte[1024];
for(int readnum;(readnum = FIS.read(imagedata)) !=-1;){
array.write(imagedata,0,readnum);
}
image = array.toByteArray();
format = new ImageIcon(array.toByteArray());
Image img = format.getImage().getScaledInstance(lbpicture.getWidth(),lbpicture.getHeight(),Image.SCALE_SMOOTH);
ImageIcon imgicon=new ImageIcon(img);
lbpicture.setIcon(imgicon);
}catch(Exception e){
e.printStackTrace();
}
什么是最好的方法?
谢谢。
答案 0 :(得分:0)
我认为您应该从类路径中获取图像:
...
try{
ClassLoader cl = Thread.currentThread().getContextClassLoader();
Image image = ImageIO.read(cl.getResource("/Image/24/employeebg.png"));
Image img = image.getScaledInstance(lbpicture.getWidth(),lbpicture.getHeight(),Image.SCALE_SMOOTH);
ImageIcon imgicon=new ImageIcon(img);
lbpicture.setIcon(imgicon);
}catch(Exception e){
e.printStackTrace();
}
...
更新
要将资源添加到您的netbeans项目中,请在项目的根目录中创建一个目录“ resources”。然后将其添加为源包文件夹,如下所示: