簡體   English   中英

JFrame最大化時是否可以永久刪除對任務欄的訪問?

[英]Can I permanently remove access to the taskbar when a JFrame is Maximized?

我目前正在為Capstone項目構建POS系統,以完成學位。 我已經超出了項目的規格范圍(在我的產品組合中看起來比“命令窗口”界面更好),並且想添加一個附加功能。

當我想到POS系統時,我想到的一個應用程序向用戶隱藏了主要的“ Windows”功能,並且僅允許最終用戶完成其工作。 為此,我想在應用程序運行時完全刪除任務欄。 我目前能夠使JFrame全屏顯示,並且這將隱藏Windows任務欄。

但是,當用戶按ALT + TAB或鍵盤上的“ Windows”鍵時,任​​務欄將再次顯示。 這是我要刪除的功能。

這是我的SSCCE:

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class TestWindow extends JFrame implements ActionListener {

    private static final long serialVersionUID = 1L;
    private JPanel contentPane;

    public void buildGUI() {
        setUndecorated(true);
        setResizable(false);
        Toolkit tk = Toolkit.getDefaultToolkit();
        int xSize = ((int) tk.getScreenSize().getWidth());
        int ySize = ((int) tk.getScreenSize().getHeight());
        setSize(xSize, ySize);
        setAlwaysOnTop(true);
        contentPane = new JPanel();
        contentPane.setLayout(new BorderLayout(0, 0));
        setContentPane(contentPane);
        setVisible(true);

        JPanel panel = new JPanel();
        contentPane.add(panel, BorderLayout.CENTER);
        JButton btn = new JButton("Exit");
        btn.addActionListener(this);
        panel.add(btn);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    new TestWindow().buildGUI();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equals("Exit")) {
            System.exit(0);
        }
    }
}

所以我只需要添加一個keyListener來檢查是否按下了ALT + TAB或Windows鍵? 還是有更好的方法來解決這個問題?

它要求您使用SetWindowsHookEx設置向上的低級鍵盤掛鈎(請參閱:WH_KEYBOARD_LL)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM