2个回答
展开全部
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();
}
}
这个是一个可以生成背景图片的类。
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();
}
}
注意:图片路径一定要写绝对路径,否则会找不到图片导致加载失败。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询