2017-08-02 34 views
-2

在我開始之前,我想說我已經研究過其他類似的問題,但他們沒有回答我的問題。如何使用變量將JTextField輸入傳輸到JTextArea?

大家好, 我想要一個Swing程序,需要在JTextField(變量名:輸入)中輸入的文本,並通過使用「字符串放在JTextArea(變量名稱:輸出) reversedText「來存儲JTextField的文本。一旦我按下「Reverse」,我希望它傳輸文本按鈕(變量名稱:reverseButton)。

JFrame f = new JFrame();//creating instance of JFrame 

JLabel text = new JLabel("Enter some text to be reversed:"); 
static JTextField input = new JTextField(); 
static JTextArea output = new JTextArea(); 
JButton reverseButton = new JButton("Reverse!"); 

String reveresedText = ""; 

正如你可以看到下面,我嘗試使用一個ActionListener這樣做,但是當我按什麼也沒發生「逆轉」!按鈕。

public Main(){ 

    setBounds(); 
    setButtonAction(); 

    f.add(text); 
    f.add(input); 

    f.add(output); 
    output.setEditable(false); 

    f.add(reverseButton); 

    f.setSize(400,400); 
    f.setLayout(null); 
    f.setVisible(true); 
    f.setResizable(false); 
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    refreshText(); 
} 

private void setButtonAction(){ 
    reverseButton.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent e) { 
      reveresedText = input.getText(); 
     } 
    }); 
} 

private void refreshText() { 
    output.setText(reveresedText); 

    f.repaint(); 
} 

一些幫助將不勝感激。 在此先感謝!

回答

1

只需將文本直接附加到JTextArea;

private void setButtonAction(){ 
    reverseButton.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent e) { 
      String txt = new StringBuilder(input.getText()).reverse().toString(); 
      output.append(txt); 
     } 
    }); 
} 
+0

這樣做的伎倆,非常感謝。 – Coder

相關問題