У меня есть веб-приложение на основе Java.Я хочу открыть веб-приложение в режиме киоска, чтобы пользователи, использующие приложение, не могли получить доступ ни к каким другим приложениям на компьютере, например, к любому другому браузеру, проводнику файлов и т. Д. Кроме того, у этого веб-приложения есть экран входа в систему, где пользователь может ввести свое имя пользователя.и пароль.Итак, мне нужно, чтобы пользователи могли вводить данные для входа в систему.
Я подумываю использовать для этого jxbrowser.Здесь, в режиме киоска, Как мне убедиться, что пользователи не могут делать alt + tab
, windows + d
и т. Д.
Ниже приведен пример кода.
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.WindowConstants;
import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.InputEventsHandler;
import com.teamdev.jxbrowser.chromium.swing.BrowserView;
public class KioskApp {
public static void main(String[] args) {
// Create Browser instance
final Browser browser = new Browser();
BrowserView view = new BrowserView(browser);
view.setKeyEventsHandler(new InputEventsHandler<KeyEvent>() {
public boolean handle(KeyEvent event) {
boolean b = event.isControlDown()
|| event.isAltDown()
|| event.getKeyCode() == KeyEvent.VK_TAB
|| event.getKeyCode() == KeyEvent.VK_WINDOWS;
return b ;
}
});
browser.loadURL("http://google.com");
JFrame frame = new JFrame();
frame.add(view, BorderLayout.CENTER);
// Remove window title and borders
frame.setUndecorated(true);
// Make frame topmost
frame.setAlwaysOnTop(true);
// Disable Alt+F4 on Windows
frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
// Make frame full-screen
frame.setExtendedState(Frame.MAXIMIZED_BOTH);
// Display frame
frame.setVisible(true);
}
}
Редактировать1:
ок.поэтому я обновил код, как показано выше.Теперь я могу ввести jxbrowser.Но я все еще не могу помешать пользователям делать alt + tab
и windows + d