2014-02-16 3 views
0

텍스트 상자에 뭔가를 쓸 때마다 Enter 키를 누를 때마다 "Uneditabletest"에서 메시지를 볼 수 있습니다. 그러나 다른 것을 쓰고 Enter 키를 누르면 나타납니다. 마지막 메시지를 대체 할 것입니다. 나는 그들을 어떻게 구원 받게합니까? 채팅이나 비슷한 경우처럼.Java - 각 텍스트 줄을 바꾸는 대신 저장합니다.

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 

public class Tutorial extends JFrame { 

JTextField jtfText1, jtfUneditableText; 
String disp = ""; 
TextHandler handler = null; 

public Tutorial() { 
    super("TextField Test Demo"); 
    Container container = getContentPane(); 
    container.setLayout(new FlowLayout()); 
    jtfText1 = new JTextField(10); 
    jtfUneditableText = new JTextField("Uneditable text field", 20); 
    jtfUneditableText.setEditable(false); 
    container.add(jtfText1); 
    container.add(jtfUneditableText); 
    handler = new TextHandler(); 
    jtfText1.addActionListener(handler); 
    jtfUneditableText.addActionListener(handler); 
    setSize(325, 100); 
    setVisible(true); 
} 

private class TextHandler implements ActionListener { 

    @Override 
    public void actionPerformed(ActionEvent e) { 
     if (e.getSource() == jtfText1) { 
      disp = "text1 : " + e.getActionCommand(); 
     } else if (e.getSource() == jtfUneditableText) { 
      disp = "text3 : " + e.getActionCommand(); 
     } 

     jtfUneditableText.setText(disp); 

     } 
    } 

    public static void main(String args[]) { 
     Tutorial test = new Tutorial(); 
     test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 
} 
+0

입력 사항을 저장하기 위해 목록을 사용해 보았습니까 (http://stackoverflow.com/questions/858572/how-to-make-a-new-list-in-java)? 프로그램 스토어를 특정 양의 텍스트 (예 : 최대 10 개의 이전 문자열)로 만들려면 어레이 대신 목록을 사용하여 문자열을 저장할 수 있습니다. –

답변

0

간단히 말하면됩니다. 이 경우, 그것은 것 jtfUneditableText.setText(jtfUneditableText.getText() + "\n" + disp)

+0

내 코드를 편집 할 수 있습니까? 나는 단지 getText를 추가하는 방법을 모르겠다.) –

+0

만약 내가 편집하면 다른 사람들은 질문이 무엇인지 알 수 없을 것이다 :) – GreySwordz

+0

나는/n을 사용하고있다. 나에게 새로운 라인을주지 않으면 어쨌든 그것을 고칠 수 있습니까? –

0

이 jtfUneditableText에서 gettext에()과 같은, 당신은 jtfUneditableText.setText(jtfUneditableText.getText() + "\n" + disp);

을 할 수 있도록 그래서 jtfUneditableText의 텍스트가 전에이 무엇인지있을 것입니다해야한다 (jtfUneditableText.getText()) 더하기 줄 바꿈 (\ n)과 새 텍스트.

+0

코드를 편집 할 수 있습니까? getText를 추가하는 방법을 모르겠다. –

+0

getText()를 추가하지 않는다. JTextField 클래스의 메서드입니다. 그래서 actionPerformed 메소드의 마지막 라인을 내가 작성한 라인으로 대체하는 것이 좋습니다 :). 희망이 도움이됩니다! 나는 또한 내 대답에 몇 가지 더 많은 정보를 추가 했으므로 더 잘 이해할 수있을 것이다. – xp500

+0

고마워 고맙다 작동 : d –

관련 문제