我正在啓動一個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