① JAVA界面设计怎么插入背景图片
可以利用标签组件来设置。
② Java用什么方法可以设置一张图片为背景,然后还可以在这张图片上面放置其它图片
用多个内容面板可以吗?
可以,
如果是Panel 重写 paint方法
如果是JPanel 重写 paintComponents方法
@Override
public void paintComponents(Graphics g) {
super.paintComponents(g);
g.drawImage(image, i, j, imageobserver);
}
类似这样。
在这个背景Panel 上添加别一个Panel 就可以了。
上面这个我有例子,昨天给一个人解决了。就是用这个方法
http://..com/question/418177363.html?oldq=1
还有另一个方法,
你可以取得背景图片的 Graphics 对象,可以直接在这上面画。
③ java怎么设置插入图片大小
用Image中的getScaledInstance方法得到一个按照指定宽度和高度缩放以后的Image实例,然后再用setImage方法设置ImageIcon所显示的图像。
④ java怎么给窗体或者面板设置背景图片
import javax.swing.*;
import javax.imageio.*;
import java.awt.*;
import java.io.*;
public class AddImage {
public static void main(String[] args){
new AddImageFrame();
}
}
class AddImageFrame extends JFrame{
public AddImageFrame(){
super("添加背景图片");
setBounds(200,200,500,400);
setDefaultCloseOperation(this.EXIT_ON_CLOSE);
setVisible(true);
AddImagePanel aip= new AddImagePanel();
add(aip);
}
}
class AddImagePanel extends JPanel{
private Image backgroundimage=null;
public void paintComponent(Graphics g){
super.paintComponent(g);
try{
backgroundimage=ImageIO.read(new File("E:/picture/http_imgload.jpg")).getScaledInstance(getWidth(),getHeight(),Image.SCALE_FAST);
}catch(IOException e){
e.printStackTrace();
}
g.drawImage(backgroundimage,0,0,null);
image.flush();
}
}
这是设置背景图片的简单代码 你要的主要是 backgroundimage=ImageIO.read(new File("E:/picture/http_imgload.jpg")).getScaledInstance(getWidth(),getHeight(),Image.SCALE_FAST);
javax.image包里面有一个类 ImageIO有一个方法read(File string) 读取一个图片文件返回image对象,File会抛出异常,awt包里面的Image有个方法 getScaledstance(width,height,hints) 是缩放图片到多大,intnts是缩放的算法,取Image字段常量,有很多钟算法,你可以取一种,这个程序里图片的大小取的是容纳它的panel面板的大小,会随着面板的变化充满整个面板,这个变化过程要调用面板的 paintComponent()方法来监视,Graphics 中的drawImage(x,y,observer)方法来实现,observer是安全管理器,可以为null,最后绘画完后刷新就可以了,希望对你有帮助,俺也是初学者,交流为上 ,不过我个人还是认为下面的方法比较好
public void setBak() { //设置窗口背景
((JPanel) this.getContentPane()).setOpaque(false);
ImageIcon img = new ImageIcon(getClass().getResource("picture/http_imgload.jpg"));
JLabel background = new JLabel(img);
this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
}构造器调用这个方法图片不会缩放,上面的例子 不用缩放的方法也可以做到,就看怎么看了
⑤ java 加载图片的几种方式
第一种方法:
Image bg; //或者是BufferedImage bg;
Pool2(){
try{
String file="图片的路径";
bg =ImageIO.read(new File(file));
}catch(Exception e){
e.printStackTrace();
}
}
第二种方法:这种方法用BufferedReader就不行
Image background;
Pool2(){
try{
String file="文件的路径";
background=Toolkit.getDefaultToolkit().getImage(file);
}catch(Exception e){
e.printStackTrace();
}
}
另外我们有时喜欢把图片放在工程的src目录下这样访问这些图片时就要用下面的方法。以src下的image文件下的01.jpg为例
Image image=null;
image = ImageIO.read(getClass().getResourceAsStream("/image/01.jpg"));
⑥ Java窗体如何设置背景图片急求!!
可以新建个面板,在面板里放入带图片的JLabel,填满面板即可。
JPanel jp = new JPanel(); //新建面板
jp.setLayout(new FlowLayout()); //设置面板布局
ImageIcon ii=new ImageIcon(getClass().getResource("/Picture/i.jpg"));
JLabel uppicture=new JLabel(ii); //往面板里加入JLabel
this.setVisible(true);
⑦ java为标签设置图片
Framef=newFrame();
f.setTitle("设置图片");
f.setSize(400,300);
/*读取要显示的图片*/
finalImageimg=ImageIO.read(newFile("D:/1.jpg"));
/*重写panel的绘制方法*/
Panelpanel=newPanel(){
=1L;
@Override
publicvoidpaint(Graphicsg){
super.paint(g);
g.drawImage(img,0,0,400,300,null);
}
};
/*添加panel标签*/
f.add(panel);
/*添加关闭操作监听*/
f.addWindowListener(newWindowAdapter(){
@Override
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
/*显示窗体*/
f.setVisible(true);
可以通过重写标签的绘制方法来实现
⑧ Java程序中图片的使用方法
使用图像根据需要,可以有多种方法。
如果是放在组件中,如JButton、JLabel中,这些组件需要的是Icon接口的图像,那么使用ImageIcon类来加载图像比较好,new
ImageIcon(String
filename)或new
ImageIcon(URL
location)都可以直接加载图像文件。
甚至你还可以先用IO读出byte流,也能用byte[]创建ImageIcon。还可以由已有的Image来创建。
更为高级的用法是,你还可以先创建个空的ImageIcon,然后重写paintIcon(Component,Graphics,int,int)方法实现手工绘制!
如果你是要完成图像绘制,那么使用Image或BufferedImage比较好。
Toolkit.getDefaultToolkit().getImage(String或URL)就能加载图像。
这种方法需要一个图像观察者来监视图像是否加载完成,因为图像加载是异步的。通常,你用一个swing组件就可以充当这个角色。不过少用JLabel,因为我有一个程序用JLabel做观察者CPU占用率经常90%多,有时不出界面。用JPanel或JFrame都没出过这个问题。从API文档看,应该是所有的swing可视组件都实现了观察者接口。
选了观察者后,不用刻意观察加载情况,很简单的一个方法:swing组件的while(!prepareImage(Image));就可以了。
Image接口是Graphics类绘图drawImage要用的,所以绘制时应该选这个。
BufferedImage是实现了Image接口的图像,可以直接操作像索数据!所以利用算法生成图像再绘制,或图像处理可以使用这种方法。如浮雕、反色等。
加载方法是ImageIO类的read方法。
⑨ java程序中如何设置图片大小
用Image中的getScaledInstance方法得到一个按照指定宽度和高度缩放以后的Image实例,然后再用setImage方法设置ImageIcon所显示的图像
一下示例:
import javax.swing.*;
import java.awt.*;
public class test extends JFrame
{
private ImageIcon img;
private JLabel showImg;
private final static int WIDTH=147;
private final static int HEIGHT=136;
public test()
{
img=new ImageIcon("1.png");
img.setImage(img.getImage().getScaledInstance(test.WIDTH,test.HEIGHT,Image.SCALE_DEFAULT));
showImg=new JLabel();
showImg.setIcon(img);
this.add(showImg,BorderLayout.CENTER);
this.setBounds(300,200,400,300);
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String args[])
{
new test();
}
}
⑩ java面板如何添加图片
你是说 JPanel 吗?两种方法:
添加 JLabel,给 JLabel 添加 ImageIcon,然后放置 JLabel 到 JPanel 上就行了:
JPanel pnl = new JPanel();
......
JLabel lblImage = new JLabel(new ImageIcon("你的文件名")); //创建一个带图片的 JLabel
lblImage.setBounds(0, 0, pnl.getWidth(), pnl.getHeight()); //设置 图片的横坐标、纵坐标、宽、高
pnl.add(lblImage); //放置这个 JLabel 到你的 JPanel 上面
还有一种方法是重写 JPanel 的 paint() 方法:
class YourPanel extends JPanel {
private Image img = Toolkit.getDefaultToolkit().createImage("你的文件名"); //用 Toolkit 的 createImage 方法来创建一个 Image 对象
@Override public void paint (Graphics g) {
super.paint(g);
g.drawImage(img, 0, 0, getWidth(), getHeight()); //绘制图片,第一个参数是 Image 对象,第二个参数是 横坐标,第三个是 纵坐标,第四个是 宽,第五个是 高
}
}
以上你隐式重写也可以:
JPanel pnl = new JPanel() {
@Override public void paint (Graphics g) {
...... //但是要注意这样如果你把 Image 声明成了局部变量或者参数形式,你需要声明成 final
}
}