我正在启动一个Java项目并需要一种方法来完全锁定框架。通过锁定我的意思是:如何在Java中锁定框架(GUI)
- 用户无法关闭它
- 用户无法拖动它
- 用户无法将其最小化
- 它坐落在任务栏的顶部和其他一切(除非另有规定)
基本上,这是一个全屏接管。
我正在启动一个Java项目并需要一种方法来完全锁定框架。通过锁定我的意思是:如何在Java中锁定框架(GUI)
基本上,这是一个全屏接管。
尝试使用fullscreen exclusive mode并查看它是否适合您。
从我读过的这个看起来似乎有风险。您提供的链接一直提及机器可能不支持这一点的可能性。机器实际支持它的可能性有多大,而且它不危险? – n0pe 2011-05-19 20:54:29
你可以尝试这样的:
import javax.swing.*;
import java.awt.*;
public class FullScreenTest extends JFrame {
private GraphicsDevice device;
private boolean isFullScreen = false;
public FullScreenTest(GraphicsDevice device) {
super(device.getDefaultConfiguration());
this.device = device;
setTitle("Display Mode Test");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
private void initComponents(Container c) {
setContentPane(c);
c.setBackground(Color.RED);
}
public void begin() {
isFullScreen = device.isFullScreenSupported();
setUndecorated(isFullScreen);
setResizable(!isFullScreen);
if (isFullScreen) {
// Full-screen mode
device.setFullScreenWindow(this);
validate();
} else {
// Windowed mode
pack();
setVisible(true);
}
}
public static void main(String[] args) {
GraphicsEnvironment env = GraphicsEnvironment.
getLocalGraphicsEnvironment();
GraphicsDevice[] devices = env.getScreenDevices();
FullScreenTest test = new FullScreenTest(devices[0]);
test.initComponents(test.getContentPane());
test.begin();
}
}
@MaxMaxkie: “是这样的可能呢?”我当然不希望。 – 2011-05-19 20:26:52
Google Java Kiosk或Java Kiosk模式,因为我相信这就是您要找的。我见过的大多数解决方案都需要一些直接与操作系统交互的代码,因此您可能需要使用JNA或JNI。 – 2011-05-19 21:35:42
我查看了Kiosk模式,但是我认为当我可能能够使用Full Screen Exclusive工作时,这将会工作太多(使用JNA或JNI)。 – n0pe 2011-05-20 17:44:31