netbeans如何使用图片做界面背景 使用netbeans 如何在面版或者窗体上设置图片作为背景 在背景上还可以放置其他控件 我用过JLabel标签来显示图片但是上面不能放别的控件了 使用纯代码的话我会 但是netbeans自己生成的代码真是莫名其妙 不知道怎么修改了 是不是可以直接设置属性呢 要怎么设置 期待高人详解 感激不尽~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为JFrame无法做背景, 所以我一般的做法是: 把背景图片放在Panel上, 然后其它的组件, 比如你说的JLbel放在该Panel上. 也不知是不是最好的方法, 下面只是一个示例, 可能以参考下.pelBg = new JPanel (){ protected void paintComponent(Graphics g){ super.paintComponent(g); ImageIcon img=new ImageIcon("E:\\2.jpg"); img.paintIcon(this, g, 0, 0); } };在NetBeans中, 先插入Jpanel, 然后选择面板, 然后在属性面板中, "代码 -> 定制创建代码", 点击后面的"..."按钮在框中输入上面的代码即可.我一直都是这么做的, 有什么疑问: [email protected], 我可以把源代码发给你. 根据LS的代码修改了下 确实可以画出来 如果图片不是在根目录下怎么办?比如说图片在d:\\Program Flies\\NetBeans 6.5.1\\NetBeansProjects\\DormitoryManager\\src\\dormitorymanager\\resources\\2.jpg我是想把图片放在项目里面 路径应该怎么写 而且我想图片随着界面大小的改变而改变应该怎么办? 1、相对路径,“abc/edg.jpg”表示:运行环境目录“abc”中的“edg.jpg”文件。2、随界面大小改变而改变:给界面增加大小改变监听器,当界面改变时,重绘图片。----------------------------------------------------------------------------下面把主要代码贴下,找了半天也没有上传的位置,不然把JAVA文件和form文件都上传了。pelBg = new JPanel (){ protected void paintComponent(Graphics g){ super.paintComponent(g); Image img = Toolkit.getDefaultToolkit().getImage("config/resource/profile.jpg"); g.drawImage(img, 0, 0, this.getParent().getWidth(), this.getParent().getHeight(), this); } };FormListener formListener = new FormListener(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); addComponentListener(formListener);private class FormListener implements ComponentListener { FormListener() {} public void componentHidden(ComponentEvent evt) { } public void componentMoved(ComponentEvent evt) { } public void componentResized(ComponentEvent evt) { if (evt.getSource() == FrameBGUTest.this) { FrameBGUTest.this.frameComponentResized(evt); } } public void componentShown(ComponentEvent evt) { } } private void frameComponentResized(ComponentEvent evt) { if (evt.getID() == ComponentEvent.COMPONENT_RESIZED) { this.pelBg.repaint(); } }相信从代码中可以看出思路了,不再累赘了。 求助Java NetBeans中让人郁闷的问题 一个比较的问题~ 高人何在?快来救命 我当老师的180天(Beta版)/Java部分/第四章 请问一下java中的两个关键字是怎么回事,native 和transient,谢谢 倾分求助:applet连接数据库获得新数据来改变本地html页面,变相取代刷新功能 帮帮忙…… 请问?如何取得系统时间? 想问一些关于日期处理的问题? 不要在构造函数中调用可重写的方法 JAVA readLine()方法 如何隔一行读一行 ??
pelBg = new JPanel (){
protected void paintComponent(Graphics g){
super.paintComponent(g);
ImageIcon img=new ImageIcon("E:\\2.jpg");
img.paintIcon(this, g, 0, 0);
}
};在NetBeans中, 先插入Jpanel, 然后选择面板, 然后在属性面板中, "代码 -> 定制创建代码", 点击后面的"..."按钮在框中输入上面的代码即可.我一直都是这么做的, 有什么疑问: [email protected], 我可以把源代码发给你.
d:\\Program Flies\\NetBeans 6.5.1\\NetBeansProjects\\DormitoryManager\\src\\dormitorymanager\\resources\\2.jpg
我是想把图片放在项目里面 路径应该怎么写 而且我想图片随着界面大小的改变而改变应该怎么办?
2、随界面大小改变而改变:给界面增加大小改变监听器,当界面改变时,重绘图片。
----------------------------------------------------------------------------
下面把主要代码贴下,找了半天也没有上传的位置,不然把JAVA文件和form文件都上传了。pelBg = new JPanel (){
protected void paintComponent(Graphics g){
super.paintComponent(g);
Image img = Toolkit.getDefaultToolkit().getImage("config/resource/profile.jpg");
g.drawImage(img, 0, 0, this.getParent().getWidth(), this.getParent().getHeight(), this);
}
};FormListener formListener = new FormListener(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
addComponentListener(formListener);private class FormListener implements ComponentListener {
FormListener() {}
public void componentHidden(ComponentEvent evt) {
} public void componentMoved(ComponentEvent evt) {
} public void componentResized(ComponentEvent evt) {
if (evt.getSource() == FrameBGUTest.this) {
FrameBGUTest.this.frameComponentResized(evt);
}
} public void componentShown(ComponentEvent evt) {
}
} private void frameComponentResized(ComponentEvent evt) {
if (evt.getID() == ComponentEvent.COMPONENT_RESIZED) {
this.pelBg.repaint();
}
}相信从代码中可以看出思路了,不再累赘了。