powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка в JTable
8 сообщений из 8, страница 1 из 1
Ошибка в JTable
    #38803120
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, подскажите что значит ниже ошибка:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at SafetyInspectionRegister.SafetyTableCellRenderer.getTableCellRendererComponent(SafetyTableCellRenderer.java:34)
	at javax.swing.JTable.prepareRenderer(Unknown Source)
	at javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
	at javax.swing.plaf.basic.BasicTableUI.paintCells(Unknown Source)
	at javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source)
	at javax.swing.plaf.ComponentUI.update(Unknown Source)
	at javax.swing.JComponent.paintComponent(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JComponent.paintChildren(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JViewport.paint(Unknown Source)
	at javax.swing.JComponent.paintChildren(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at javax.swing.RepaintManager.paint(Unknown Source)
	at javax.swing.JComponent._paintImmediately(Unknown Source)
	at javax.swing.JComponent.paintImmediately(Unknown Source)
	at javax.swing.RepaintManager$3.run(Unknown Source)
	at javax.swing.RepaintManager$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.access$1100(Unknown Source)
	at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$200(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)



Это происходит когда загружаю JTableModel в JTable потом двигаю право и выскакивает и выдает ошибку на рендере.

Код: java
1.
2.
3.
4.
5.
	      _safetyTablePane = new JScrollPane(_safetyTable, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
	      _safetyTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);	      
	      _safetyTable.setColumnModel(cm);	
	      _safetyTable.setModel(_safetyModel);
	      _safetyTable.setDefaultRenderer(Object.class, new SafetyTableCellRenderer());



Это сам сейфтитэйблрендерер:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.table.TableCellRenderer;
import SafetyInspectionRegister.SafetyTableModel;

public class SafetyTableCellRenderer extends JLabel implements TableCellRenderer
{

	private static final long serialVersionUID = 1;
	
	SafetyTableCellRenderer()
	{
		this.setHorizontalAlignment(SwingConstants.CENTER);
	}
	
	@Override
	public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column) {
	
			switch(column)
			{	
				case SafetyTableModel.EDIT_COLUMN:
				{
					this.setText("<html><u color=\"blue\">" + value.toString() + "</u></html>");
			
					return this;
				}
			}

		 this.setText(value.toString());

		return this;
	}	

}
...
Рейтинг: 0 / 0
Ошибка в JTable
    #38803124
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuidДобрый день, подскажите что значит ниже ошибка:
Код: java
1.
2.
3.
4.
5.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at SafetyInspectionRegister.SafetyTableCellRenderer.getTableCellRendererComponent(SafetyTableCellRenderer.java:34)

			this.setText("<html><u color=\"blue\">" + value.toString() + "</u></html>");
		 this.setText(value.toString());


Ниже ошибка значит что value переменная значение null имеет.
...
Рейтинг: 0 / 0
Ошибка в JTable
    #38803161
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но значение было, данные загрузились через модель в таблицу, но как двигаю скролбал право то выскакивает эта фигня.
...
Рейтинг: 0 / 0
Ошибка в JTable
    #38803164
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuid,

Это не фигня. Это лень и нежелание пользоваться отладчиком.
...
Рейтинг: 0 / 0
Ошибка в JTable
    #38803171
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто встречал такое.
Там тейблселрендерер тоже загрузился.
...
Рейтинг: 0 / 0
Ошибка в JTable
    #38803184
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuidМожет кто встречал такое.
Там тейблселрендерер тоже загрузился.
Тут не надо ничего встречать. У вас TableModel возвращает null значение. Вероятно это ячейки изначально не видно. Когда вы скролите, renderer пытается их отобразить и падает. Почему бы просто в Renderer-e не предусмотреть null значения - для меня загадка.

Невероятно сложный код выглядит вот так.
Код: java
1.
2.
3.
if(value == null){
  setText("");
}



А ещё вместо
value.toString()
можно использовать
Objects.toString(value)
либо
String.valueOf(value)
...
Рейтинг: 0 / 0
Ошибка в JTable
    #38803194
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы радостью дебагить в эклипсе не умею, там все замудренно все.
...
Рейтинг: 0 / 0
Ошибка в JTable
    #38803198
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuidЯ бы радостью дебагить в эклипсе не умею, там все замудренно все.
Попытка надавить на жалось?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка в JTable
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]