JTextArea'yı yeni değerlerle yenilemek

Ben java'ya yeniyim.

Kolejden 2 tane JTextField kutusu ve JButton (kaydet) ile txt dosyasına giriş yapmak zorunda olduğum bir proje var. JTextArea . Txt dosyasında başarılı bir şekilde giriş yapabiliyorum. Ancak, yakın zamanda yaptığım yeni girişleri görüntülemek için JTextArea 'yı çalışma zamanında nasıl yenileyebilirsiniz?

Yardımlarınız için teşekkürler: aşağıda benim kodum:

try {
            //use buffering, reading one line at a time
            //FileReader always assumes default encoding is OK!
            BufferedReader input =  new BufferedReader(new FileReader("RokFile.txt"));
            try {
                String line = null; //not declared within while loop

                while (( line = input.readLine()) != null){
                    jTextArea1.append(line+"\n");
                }
            }
            finally {
                input.close();

            }
        }
        catch (IOException ex){
            ex.printStackTrace();
        }

Doğru olup olmadığını bana bildirin? Teşekkürler

1
Lütfen ev ödevlerine ev ödevi etiketini ekleyin.
katma yazar Andrew Thompson, kaynak
Çalışıyor mu? Eğer çalışırsa, bunun doğru olduğunu söyleyebilirim.
katma yazar Brandon Buck, kaynak
JTextArea'yı yenilemeniz gerekmemelidir, metin eklerken kendini yenilemelidir. append() 'i kullanmadan önce nasıl metin eklediniz ve JFrame'deki JTextArea'ya metin eklediğinizden emin misiniz?
katma yazar Brandon Buck, kaynak
Çalışmıyor, JTextfields içinde yaptığım anda yeni girişleri göstermeyecek.
katma yazar Rockwire, kaynak

2 cevap

JTextArea.append ought to suffice. This method is thread-safe and will update the text area's content automatically.

Bu cevap, önceden yapılandırılmış EventListeners'ınızın olduğunu varsayar.

1
katma
JTextArea.append aslında iş parçacığı güvenli değil: bugs.java.com/view_bug.do? bug_id = 4765383
katma yazar Tim Perry, kaynak
Merhaba, yukarıdaki kod (soru güncellendi) doğru olup olmadığını bana bildirir misiniz?
katma yazar Rockwire, kaynak

İki yöntem kullanabilirsiniz

  1. İçeriği jTextField 'e yazdığınız anda (adil olarak ulaşılabilir) görüntülemek istiyorsanız, FocusLost olayında bu şekilde yapabilirsiniz. jTextField , jTextArea.setText (jTextField.getText ()) gibi bir şey verin Not: Bu, sizin istediğiniz şeye oldukça yakındır. (Ayrıca, mükemmel bir kod DEĞİL)

  2. kaydet 'i tıkladığınızda içeriği görüntülemek isterseniz, yukarıdaki kod, jTextArea.setText (jTextField.getText ()) , kaydet düğmesinin olay işleyicisi.

1
katma