2012-04-29 4 views
0

私は現在、自分の学位を取得するための私のCapstoneプロジェクトのためのPOSシステムを構築しています。私はすでにプロジェクトの仕様を上回っています(私のポートフォリオではCommand Windowインターフェイスよりもうまく見えます)、もう1つの機能を追加したいと考えています。JFrameが最大化されたときにタスクバーへのアクセスを永久に削除することはできますか?

私は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); 
     } 
    } 
} 

は、だから、僕はALT + TABまたはWindowsキーが押されているかどうかを確認するためのKeyListenerを追加する必要があるでしょうか?または、これを処理するより良い方法はありますか?

+0

を使用していますか? ctrl-alt-deleteを上書きしたいのですか? – esej

+0

ウィンドウがalt + tabコマンド(IIRC)を傍受してもアプリケーションに到達しないので、あなたがそれを行うことはできないと思います。 –

+0

@esej CTRL + ALT + DELはまだ問題ありません。これはWindows環境で実行されるため、CTRL + ATL + DELはクラッシュした場合でも使用できる必要があります。 –

答えて

0

それは(参照:WH_KEYBOARD_LL)をアップし、低レベルのキーボードフックを設定する必要がありますWindowsでのWindowsキーを無効にするJavaプログラムをしたいは、SetWindowsHookEx

関連する問題