Я устанавливаю Java-компонент из метода try. Текстовый файл читается, и прочитанный текст используется для установки java bean-компонента.Получение Java-компонентов, установленных в методе try
public class mainDisplay extends JPanel{
private imageDisplay id;
public mainDisplay()
{
String path;
while (1==1) {
try {
FileInputStream roadMap = new FileInputStream("C:\\Users\\Public\\Desktop\\write.txt"); //path to the text file generated
DataInputStream route = new DataInputStream(roadMap); //importing the data from the text file
BufferedReader readMe = new BufferedReader(new InputStreamReader(route));
pathOfspeed = readMe.readLine();
// id = new imageDisplay(path);
Constants.getInstance().getBean().setPath(path);
try {
Thread.sleep(40);
} catch (InterruptedException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
} catch (Exception e) {
System.err.println("error:" + e.getMessage());
}
System.out.println(Constants.getInstance().getBean().getPath());
}
}
Это код читателя текстового файла и код, который устанавливает Bean.
Вот код из класса компонента:
public class Paths implements java.io.Serializable{
public String url;
public Paths(){}
public void setPath(String name){this.url=name;}
public String getPath(){return url;}
}
Я тогда мой константы класса
public class Constants {
private static Constants instance;
private Paths bean;
private Constants() {
bean=new Paths();
}
public static synchronized Constants getInstance() {
if (instance == null) {
instance = new Constants();
}
return instance;
}
public Paths getBean(){
return bean;
}
public Paths setBean(Paths p){
bean = p;
return p;
}
}
Моя проблема тогда возникает, когда я пытаюсь получить, что Bean от другой класс:
String imageUrl=Constants.getInstance().getBean().getPath();
public test() {
System.out.println(imageUrl);
}
Я получаю null каждый раз. Чтение файла должно быть постоянным, так как строка в текстовом файле меняется примерно каждую минуту, и мне нужно, чтобы он передавался другому классу, который его использует.
Может ли кто-нибудь дать мне несколько предложений относительно того, что делать дальше?
Thanks
Я получаю сообщение об ошибке: не может решить метод getPaths – user
я поставил тривиальную ошибку в коде ... попробуйте теперь имя методы конечно getBean(). Разве вы не используете IDE с каким-то завершением кода? Если мой ответ решает вашу проблему, не забудьте принять его :) – elbuild
Код теперь выполняется, но я все еще получаю нулевой вывод из тестового класса с новым кодом. – user