Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите с JTable и моделью / 4 сообщений из 4, страница 1 из 1
29.12.2006, 10:09:44
    #34232049
yura_zo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с JTable и моделью
Я еще новичек в 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
29.12.2006, 11:27:28
    #34232288
danii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с JTable и моделью
Код: 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
29.12.2006, 12:09:46
    #34232413
yura_zo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с JTable и моделью
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
29.12.2006, 13:08:54
    #34232601
danii
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с JTable и моделью
попробуй так..

Код: 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
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите с JTable и моделью / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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