我正在尝试修复我发现的一个问题Java 应用程序。它的图标分辨率太低。阅读源代码后,我修改了它,使其具有更大的图标。SWT 使用gtk_window_set_icon()
GTK 的功能来设置图标。
但是,没有使用高分辨率图标。
有一种解决方法是使用.desktop
文件来描述一个漂亮的图标这里其他人描述了这个问题在 Ubuntu 论坛上。
那么,如何才能获得漂亮的图标,而无需将.desktop
文件放入文件系统中?我应该在哪里报告此错误?哪个软件包中的代码缩小了我打算传递给窗口管理器的图标?
我很感激对此的帮助。
可以使用以下代码重现此情况:
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class Test {
public static void main(String[] args) {
Display display = new Display();
final int SIZE = 256;
Image large = new Image(display, SIZE, SIZE);
GC gc = new GC(large);
gc.setBackground(display.getSystemColor(SWT.COLOR_RED));
gc.fillArc(0, 0, SIZE, SIZE, 45, 270);
gc.dispose();
Shell shell = new Shell(display);
shell.setImages(new Image[] { large });
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
large.dispose();
display.dispose();
}
}