eclipse swt如何添加背景图片

大家有详细的答案????... 大家有详细的答案???? 展开
 我来答
glj319
推荐于2016-07-04 · TA获得超过236个赞
知道答主
回答量:132
采纳率:0%
帮助的人:140万
展开全部
java中的图形编程上时不能直接加背景图片的,如果相加。我们可以自己写,我给你一个类:

这个是一个可以生成背景图片的类。
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.JPanel;

/**
* 该类实现自定义的面板,可以显示图片
*
*/
public class ImagePanel extends JPanel{

private static final long serialVersionUID = -5029535020120106282L;

/**Image类型的实例*/
private Image img;

/**
* 构造函数
* @param img Image 对象
*/
public ImagePanel(Image img)
{
this.img=img;
Dimension size=new Dimension(img.getWidth(null),img.getHeight(null));
setSize(size);
setPreferredSize(size);
/* public void setPreferredSize(Dimension preferredSize)将组件的首选大小设置为常量值。
对 getPreferredSize 的后续调用总是返回此值。将首选大小设置为 null 可还原默认的行为*/
setMinimumSize(size);
setMaximumSize(size);
setLayout(null);

}

/**
* 设置图像面板的图像对象
* @param img Image类型对象
*/
public void setImage(Image img) {
this.img = img;
}

/**
* 重写父类的方法
*/
public void paintComponent(Graphics g)
{
g.drawImage(img, 0, 0, null);

}
}

下面是使用方法:

import java.awt.Dimension;
import java.awt.Toolkit;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JFrame;

public class Member extends JFrame {
public Member() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("会员管理");
setSize(700,600);
//把屏幕定位到中心
Toolkit tool=this.getToolkit();
Dimension di= tool.getScreenSize();
double width=di.getWidth();
double height=di.getHeight();
this.setLocation((int)((width-this.getWidth())/2), (int)((height-this.getHeight())/2));

// //设置背景图片
{
//设置背景图片
URL url = getClass().getResource("/images/1.jpg");//这个是你 的图片的路径,就不用我说了吧,把路径写正确就可以了
if(url != null) {
ImagePanel mai=new ImagePanel(new ImageIcon(url).getImage());
this.add(mai);
}
}
setResizable(false);
setVisible(true);
}
public static void main(String[] args) {
Member m=new Member();
}
}
育知同创教育
2016-03-05 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

eclipse swt添加背景图片:

代码示意:

import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class ImagesHelloWorld {
 public static void main(String[] args) {
  Display display = Display.getDefault();
  Shell shell = new Shell();
  Image image = new Image(display, "d://swt.jpg");//这里是图片路径
  shell.setText("ImageReader");
  shell.setImage(image);
  Rectangle bounds = image.getBounds();
  shell.setSize(bounds.width + 15, bounds.height +15);
  shell.open();
  GC gc = new GC(shell);
  gc.drawImage(image,5,5);
  shell.layout();
  while (!shell.isDisposed()) {
   if (!display.readAndDispatch()) {
    display.sleep();
   }
  }
  display.dispose();
 }
}

注意:图片路径一定要写绝对路径,否则会找不到图片导致加载失败。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式