2015-08-28 71 views
0

我的代碼時,如何打印的文本行打字用一個JTextField和JTextArea中(JAVA)一定數量/字

package pack.TAgame; 

import java.awt.BorderLayout; 
import java.awt.Color; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JTextArea; 
import javax.swing.JTextField; 
import javax.swing.WindowConstants; 

public class AL_Test { 

public static void main(String[] args){ 
    //JFrame 
JFrame Frame = new JFrame("AL Test"); 
Frame.setSize(720,480); 
Frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
Frame.setVisible(true); 
    Frame.setResizable(false); 
    //Text Area 
JTextArea textArea = new JTextArea(); 
textArea.setBackground(Color.BLACK); 
textArea.setForeground(Color.GRAY); 
JLabel jl = new JLabel(); 
Frame.add(textArea); 
textArea.setEditable(false); 
    //Text Field 
JTextField jt = new JTextField(50); 
JPanel jp = new JPanel(); 
jp.add(jt); 
Frame.add(jt, BorderLayout.SOUTH); 

class UserInput extends JFrame implements ActionListener{ 
    public UserInput() { 
    } 
    public void actionPerformed(ActionEvent e) { 
       JTextField jt = new JTextField(); 
       JTextArea textArea = new JTextArea(); 
       jt.addActionListener(this); 
       String text = jt.getText(); 
       textArea.append("\n>What does the scouter say about his power level?"); 
      } 
     } 
    } 
} 

這也許有點像我的其他帖子...(在我的代碼對於actionlistener部分我放棄了,我可能有一些無用的代碼) 所以基本上我想要一個JTextField,當我鍵入某個命令打印到我的JTextArea的東西。 (不使用按鈕(即,按回車))

+0

您可以使用鼠標和鍵盤的其他偵聽器 – Garry

+0

在jtextField上添加文檔更改偵聽器並根據您的檢查填充jtextArea,請參閱類似的問題http://stackoverflow.com/questions/3953208/value-change-listener -to-的JTextField –

回答

1

從的Swing教程中的TextDemo.java代碼開始。這個例子正是你想要的:

  1. 它將一個ActionListener添加到文本字段。當按下Enter並且焦點在文本字段上時,ActionListener被調用。

  2. ActionListener將從文本字段中取出文本並將其附加到文本區域。

作爲獎勵,您還將學習如何通過將組件添加到面板並將面板添加到框架來更好地構建代碼。變量也將在類中定義。

相關問題