2015-01-27 4 views
0

У меня есть два класса, один ли что-то вроде этого:JTextArea поле Не обновляя

общественного ClassOne:

package classes; 
    public class ClassOne { 
     public javax.swing.JTextArea progressListing 
     progressListing = new javax.swing.JTextArea(); 
     public void files(File file){ 
     Class method = new Class(); 
     method.methodInOtherClass(files); 
     } 

     public void progressUpdate (String fileOutput){ 
     progressListing.insert(fileOutput,0); 
     } 
    } 

который затем переходит к другому классу, который имеет следующее: Другой класс:

package classes; 
    public class OtherClass extends ClassOne{ 
     public void methodInOtherClass(file){ 
     String fileOutput 
     fileOutput = file.getName(); 
     ClassOne input = new ClassOne(); 
     input.progressUpdate(fileOutput); 
     } 
    } 

Он не обновляет поле progessListing при запуске программы. Есть ли лучший способ сделать это, или я чего-то не хватает?

Что делает OtherClass, он создает pdf-файлы, которые должны отображаться в текстовой области (то есть путь к файлу с именем файла). ClassOne - это интерфейс swing. Даже когда он расширен в другой класс, он не изменяет текстовое поле, когда мне это нужно.

+0

Я думаю, что вы решили изменить свой код, чтобы помочь нам узнать, что вы пытаетесь сделать. Введите исходный код. Мы не можем понять, что это такое: 'methodInOtherClass()' – roeygol

+0

Вы создаете новый экземпляр ClassOne каждый раз, когда вы вызываете методInOtherClass вместо вызова из исходного экземпляра, конечно, он не обновляется! – ancalled

+0

'ClassOne input = new ClassOne();' это создает отдельный экземпляр класса ClassOne, отличный от метода, называемого методом. Это базовый ООП и должен быть хорошо понят, прежде чем пытаться написать графический интерфейс, который является расширенной темой. –

ответ

0

Исправьте меня, если я ошибаюсь, но, глядя на код, который вы опубликовали, я думаю, что вы пытаетесь прочитать файл и поместить данные из файла в текстовую область. Опять же, пожалуйста, поправьте меня, если я ошибаюсь. Я думаю, вы должны использовать следующий код:

BufferedReader br = new BufferedReader(new FileReader("fileName.txt"); 
String data = br.readLine(); 
jTextArea1.append("\n"+data); 

Пожалуйста, сообщите мне, работает ли оно.

Cheers.

PS. Если вы опубликуете весь свой код, я смогу помочь лучше.

+0

Это не сработало. Файлы генерируются автоматически со строкой. Мне просто нужно передать строку из другого класса в основной класс. – TomMonTom

0

Я понял. Я использовал метод getter в другом классе, чтобы назначить переменную и вернуть ее в основной класс. Я установил строку внутри цикла для функции назначения и добавления. Работает как шарм.

Смежные вопросы