2017-06-03 16 views
0

我想知道如何能在的Java Swing改變一個JLabel的按鈕,我按,但我不知道我失去了一些東西。請幫忙。你如何採取重點投入不中的文本字段的Java

它應該最終看起來像是在屏幕的頂部,它會顯示按下的鍵,並將按您更新JLabel。不要擔心Imports,我將它們全部放在實際的代碼中。謝謝:)

public class RandomFrame extends JFrame{ 
    Dimension Size = new Dimension(800,800); 
    ListenForKeys LFK = new ListenForKeys(); 
    JLabel JInput = new JLabel(""); 
    JPanel P1 = new JPanel(); 
    public static void main(String[] args) { 
     new RandomFrame(); 
    } 

    public RandomFrame() { 
     super("RandomFrame"); 
     this.setDefaultCloseOperation(EXIT_ON_CLOSE); 
     this.setSize(Size); 
     P1.add(JInput); 
     this.add(P1); 
     this.setVisible(true); 
    } 

    private class ListenForKeys implements KeyListener { 
     @Override 
     public void keyPressed(KeyEvent e) { 
      String Key = String.valueOf(e.getKeyChar()); 
      JInput.setText(Key); 
     } 

     @Override 
     public void keyReleased(KeyEvent e) {} 
     @Override 
     public void keyTyped(KeyEvent e) {} 
    } 
} 
+0

當你嘗試編譯你的代碼時,你會得到一個錯誤 – Austin

+0

它看起來並不像你正在向任何東西添加關鍵監聽器(LFK)。所以,你正在創建一個KeyListener,但它沒有被分配給任何東西,因此它可以響應關鍵事件。嘗試添加JFrame('this.addKeyListener(LFK)')或JPanel('P1.addKeyListener(LFK)')。 – pacifier21

+0

謝謝你,P1.addKeyListener(LFK)沒有工作,但是this.addKeyListener(LFK)正如我所希望的那樣工作。謝謝 :) – LoganMacMonkey

回答

0

奧斯汀指出,LFK沒有連接到任何東西,果然,我用線this.addKeyListener(LFK)果然它的工作它添加到JFrame。謝謝:)

相關問題