我编写了一个 Java SWT (GUI) 程序来显示 shell 窗口,我在 Eclipse 中运行它,我使用的是 Fedora 17 操作系统。
我得到的输出在该窗口中缺少最大化和最小化选项。但我在 Windows 7 中尝试过它,它给了我正确的输出而没有遗漏任何东西。
请有人告诉我,为什么它在 Fedora 17 中丢失了,纠正它的解决方案是什么?
这是代码:
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
public class Example {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display,SWT.MAX|SWT.MIN);
Label label1 = new Label(shell,SWT.NONE);
label1.setText("CLEAR IT OUT PLEASE");
label1.setBounds(50,30,200,30);
shell.pack ();
shell.setSize(315,200);
shell.open ();
while (!shell.isDisposed ()) {
if (!display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
}
}
最佳答案
Fedora 17 使用 GNOME 3.4,如果您使用的是 GNOME 3,则默认窗口管理器 (gnome shell) 没有最小化或最大化图标(我知道,这是非常愚蠢的。)如果这确实是您的问题有了,尝试在您的发行版上安装 gnome-tweak-tool
:
https://askubuntu.com/questions/125765/how-do-i-add-minimize-maximize-buttons-to-gnome-shell-windows
如果你read more about SWT ,您会看到它使用主机操作系统的 native GUI 库来显示图形元素,因此您将受制于窗口管理器的突发奇想,而使用 Swing 之类的东西可能不会。
关于java - 为什么在 linux 中缺少最大化和最小化选项,但在 windows 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15151538/