powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите с JTable и моделью
4 сообщений из 4, страница 1 из 1
Помогите с JTable и моделью
    #34232049
yura_zo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я еще новичек в Jave и возник вопрос
Вот код

Код: plaintext
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.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
 class  BarTableModel  extends  DefaultTableModel
{	
	 protected  Vector<TBar> Bar_Data;
	 protected  String[] colName =  new  String[]{
		  "Номер бара", "Время", "Открытие", "Минимум", "Максимум", "Закрытие"};
	 protected   Class [] colClass =  new   Class []{
			   int . class , Date. class ,  double . class ,  double . class ,  double . class ,  double . class };
	  
	 public  BarTableModel(Vector Bar_Data)
  	{
		 super (Bar_Data.size(),  6 );
		 this .Bar_Data = Bar_Data;		
  	}
	
	 public  String getColumnName( int  col) { return  colName[col];}
	 public   Class  getColumnClass( int  col) { return  colClass[col];}
	
	 public  Object getValueAt( int  row,  int  col)
	{				
		 switch  (col){
			 case   0 :
				 return   new  Integer(row);
			 case   1 :			
				 return   new  Date(Bar_Data.get(row).date.getTime());
			 case   2 :
				 return   new   Double (Bar_Data.get(row).O);		
			 case   3 :
				 return   new   Double (Bar_Data.get(row).L);						
			 case   4 :
				 return   new   Double (Bar_Data.get(row).H);
			 case   5 :
				 return   new   Double (Bar_Data.get(row).C);
		}
		 return   new  Integer( 5 );
	}
}

 class  TBar
{
   double  O;
   double  L;
   double  H;
   double  C;
  Date date;
   public  TBar (String BarString)
  {
	  String[] sub = BarString.split(",");	  
	  SimpleDateFormat sdf =  new  SimpleDateFormat("yyyy.MM.dd hh:mm");
	   try  { date = sdf.parse(sub[ 0 ] + " " + sub[ 1 ]); }  catch  (Exception e) {System.err.println("Error");}
	  O =  Double .parseDouble(sub[ 2 ]);
	  L= Double .parseDouble(sub[ 3 ]);
	  H =  Double .parseDouble(sub[ 4 ]);
	  C =  Double .parseDouble(sub[ 5 ]);	  	 	  
  }
}

В конструкторе класса
Код: plaintext
1.
2.
3.
4.
....
Table1 =  new  JTable();
		getContentPane().add( new  JScrollPane(Table1));
...

В main
Код: plaintext
1.
Table1.setModel( new  BarTableModel(Bar_Data));

Все запускается ошибок не находит, но когда показывается таблица в ней не видны данные и возникают ошибки

дебагер пишет
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
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.paintWithOffscreenBuffer(Unknown Source)
at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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)
...
Рейтинг: 0 / 0
Помогите с JTable и моделью
    #34232288
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 class  BarTableModel  extends  DefaultTableModel
{	
	 protected  Vector<TBar> Bar_Data;
	 protected  String[] colName =  new  String[]{
		  "Номер бара", "Время", "Открытие", "Минимум", "Максимум", "Закрытие"};
	 protected   Class [] colClass =  new   Class []{
			   int . class , Date. class ,  double . class ,  double . class ,  double . class ,  double . class };
	  
	 public  BarTableModel(Vector Bar_Data)
  	{
                         // думаю в этом месте Bar_Data == null, поэтому имеем соответствующее исключение
		 super (Bar_Data.size(),  6 );
		 this .Bar_Data = Bar_Data;		
  	}
...
...
Рейтинг: 0 / 0
Помогите с JTable и моделью
    #34232413
yura_zo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
danii
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 class  BarTableModel  extends  DefaultTableModel
{	
	 protected  Vector<TBar> Bar_Data;
	 protected  String[] colName =  new  String[]{
		  "Номер бара", "Время", "Открытие", "Минимум", "Максимум", "Закрытие"};
	 protected   Class [] colClass =  new   Class []{
			   int . class , Date. class ,  double . class ,  double . class ,  double . class ,  double . class };
	  
	 public  BarTableModel(Vector Bar_Data)
  	{
                         // думаю в этом месте Bar_Data == null, поэтому имеем соответствующее исключение
		 super (Bar_Data.size(),  6 );
		 this .Bar_Data = Bar_Data;		
  	}
...


т.е. вы имеете в виду я передаю в коструктор модели null или что тут неопределенность может возникнуть из-за одинакового имени поля Bar_Data и параметра конструктора Bar_Data

Вот кусочек как я назначаю модель таблице
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Vector<TBar> Bar_Data =  new  Vector<TBar>();
    	   while ((str = br.readLine()) !=  null )
    	  {    		  
    		  i++;  		  
    		  Bar_Data.add( new  TBar(str));    		  
    	  }
    	  br.close();	  
    	  Form1.Table1.setModel( new  BarTableModel(Bar_Data));
...
Рейтинг: 0 / 0
Помогите с JTable и моделью
    #34232601
danii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй так..

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 class  BarTableModel  extends  AbstractTableModel{
{	
	 protected  Vector<TBar> Bar_Data;
	 protected  String[] colName =  new  String[]{
		  "Номер бара", "Время", "Открытие", "Минимум", "Максимум", "Закрытие"};
	 protected   Class [] colClass =  new   Class []{
			   int . class , Date. class ,  double . class ,  double . class ,  double . class ,  double . class };
	  
	 public  BarTableModel(Vector Bar_Data){
   	   this .Bar_Data = Bar_Data;		
  	}
	
	 public  String getColumnName( int  col) { return  colName[col];}
	 public   Class  getColumnClass( int  col) { return  colClass[col];}
	
	 public  Object getValueAt( int  row,  int  col){ return  ((Object[])Bar_Data.get(row))[col];	}
              public   int  getRowCount() {  return  Bar_Data.size(); }
              public   int  getColumnCount() {  return  colName.length;} 

}


Код: plaintext
1.
2.
3.
4.
..
Vector Bar_Data =  new  Vector( 0 );
//здесь можно заполнить Bar_Data
JTable table =  new  JTable(  new  BarTableModel(Bar_Data));
..
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите с JTable и моделью
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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