gpt4 book ai didi

具有相对路径的Java Composite backgroundimage

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:00 26 4
gpt4 key购买 nike

我是 Java 的新手,我想将背景图像添加到 Composite。我只能使用 SWT,不能使用 JFace。我正在使用 eclipse indigo IDE (3.8),当我想设置背景图像时,首先我将 Image 类初始化为图像对象,但是当我按 CTRL + SPACE 帮助选择构造函数时,我有 5 个不同的构造函数。我不知道该选择什么。

我必须使用相对路径。该包具有以下结构:

org.mypackage.program //the package name
org.mypackage.program/src/org.mypackage.program //the plugin-project automated created classes
org.mypackage.program/src/views // all views

org.mypackage.program/car_image.jpg // the image what I would set in background
org.mypackage.program/views/View.java // the class where I want to set the background

这是我做的,但它不起作用:

Image image = new Image(Display.getCurrent(),  this.getClass().getClassLoader().getResource("car_image.jpg"));
compImage.setBackgroundImage(image);

我也是 OOP 新手,我只编写结构化/模块程序。

最佳答案

请尝试以下代码:-

请注意,相对路径是如何提及的

.\\src\\org\\mypackage\\program\\car_image.gif

这里的src是应用的根目录


package org.mypackage.program;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Display display = new Display();
Shell shell = new Shell(display);
Image img;
shell.setMaximized(true);
img= new Image(display,".\\src\\org\\mypackage\\program\\car_image.gif");
Composite comp= new Composite(shell, SWT.NONE);
comp.setBackgroundImage(img);
shell.setLayout(new FillLayout());
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}
}

关于具有相对路径的Java Composite backgroundimage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13613679/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com