2016-04-16 56 views
0

我開發了一個Java程序,當用戶單擊Jlabel時打開特定文件。點擊事件工作得很好。我添加了一個按鍵事件,以便用戶可以按下鍵盤上的按鍵來打開文件,但它不起作用。 任何人都可以告訴我如何使用關鍵事件偵聽器在Java中打開文件或文件路徑。對Java還是一個新手,還在學習。我需要你的幫助。請按下按鍵以打開Java程序中的文件

+1

告訴我們你已經做了什麼。如果你已經完成了按鍵和文件打開,那麼可能有一個小錯誤,不允許你將它放在一起。不要讓別人爲你寫整個代碼。讓我們來幫助你解決你的問題 –

回答

1

爲了使之工作,您需要了解KeyListener的工作原理。小部件需要獲得焦點才能捕獲該事件,恕我直言,將焦點放在JLabel上沒什麼意義。 ..因此,在這種情況下,你可以使用分配給JFrame

所以我的建議是對的JFrame的一個KeyListener的工作,並確定你需要打開的文件有鍵..

一個KeyListener的工作

例如:

public class Test extends JFrame implements KeyListener{ 
    ..... 
    ..... 
    @Override 
    public void keyTyped(KeyEvent e) { 
     // TODO Auto-generated method stub 
    } 
    @Override 
    public void keyPressed(KeyEvent e) { 
     // TODO Auto-generated method stub 
    } 
    @Override 
    public void keyReleased(KeyEvent e) { 
     // TODO Auto-generated method stub 
    } 
} 
+0

Private void week1MouseClicked(java.awt.event.MouseEvent evt)。 。 。 。 。 。 。 。 。 。 。 。 。 {嘗試。 – Goddy

+0

私人無效week1MouseClicked(java.awt.event.MouseEvent中EVT { { \t嘗試 { \t \t運行系統。getRuntime()。EXEC( '' '') } \t捕獲。(例外五) {\t \t 。的JOptionPane showMessageDailog(NULL, '' 錯誤 ''); \t \t} } \t \t} 私人無效week1KeyPressed(java.awt.event.KeyEvent中EVT { if(e.getKeyCode()== \t \t \t \t KeyEvent。 VK_A { { 嘗試 { \t \t運行時。 getRuntime()。 exec('''') } \t catch。 (例外e) {\t \t JOptionPane。 showMessageDailog(null,''Error''); \t \t}} \t \t} – Goddy

+0

這是我以前 – Goddy

相關問題