Java - TaskTimer не работает с cellrenderer Jtable [duplicate]

Строка ошибки «Ссылка на объект, не установленная на экземпляр объекта.» указывает, что вы не назначили экземпляр объекта объектной ссылке, и все же вы получаете доступ к свойствам / методам этого объекта.

например: скажем, у вас есть класс под названием myClass и он содержит одно свойство prop1.

public Class myClass
{
   public int prop1 {get;set;}
}

Теперь вы получаете доступ к этому prop1 в каком-то другом классе, как показано ниже:

public class Demo
{
     public void testMethod()
     {
        myClass ref = null;
        ref.prop1 = 1;  //This line throws error
     }
}

выше строки выдает ошибку, потому что ссылка класса myClass объявлена, но не создана, или экземпляр объекта не назначается referecne этого класса.

Чтобы исправить это, вам нужно создать экземпляр (присвоить объект ссылке на этот класс).

public class Demo
{
     public void testMethod()
     {
        myClass ref = null;
        ref = new myClass();
        ref.prop1 = 1;  
     }
}
1
задан Andy Hin 18 August 2010 в 03:53
поделиться

2 ответа

Задачи таймера выполняются в потоке Dispatching Event, поэтому, пока ваша задача запущена, никакое другое событие swing не может произойти, и ваш gui замерзнет. Вы должны сделать отдельный поток для такой длинной задачи или использовать SwingWorker.

Подробнее см. этот .

2
ответ дан Community 31 August 2018 в 23:56
поделиться

Задача может занять больше 2 секунд. Требует ли задача доступа к графическому интерфейсу? Если не использовать отдельный поток. Конкретная часть задачи, требующая доступа к графическому интерфейсу, может использовать SwingWorker для обновления GUI.

1
ответ дан Jayan 31 August 2018 в 23:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: