Я хочу создать JTable, который «Анализ», «Дата» и «Цена» имен столбцов. Значение анализа и цены восстанавливается из базы данных в моей базе данных, а дата получает значение текущего дня.Установленное значение в JTable динамически
Я создал класс MyModel как следующее:
package com.pack.classes;
import java.util.LinkedList;
import javax.swing.table.AbstractTableModel;
import com.pack.beans.MyElement;
@SuppressWarnings("serial")
public class MyModel extends AbstractTableModel {
public static final String[] columnNames = {"Analyse", "Date d'analyse","Prix"};
private final LinkedList<MyElement> list;
public MyModel() {
list = new LinkedList<MyElement>();
}
public void addElement(MyElement e) {
// Adds the element in the last position in the list
list.add(e);
fireTableRowsInserted(list.size()-1, list.size()-1);
}
@Override
public int getColumnCount() {
return columnNames.length;
}
@Override
public int getRowCount() {
return list.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
switch(columnIndex) {
case 0: return list.get(rowIndex).getAnalysis();
case 1: return list.get(rowIndex).getDate();
case 2: return list.get(rowIndex).getPrice();
}
return null;
}
}
И я создать Bean MyElement как:
package com.pack.beans;
import java.util.Date;
public class MyElement {
String analysis;
Date date;
Double price;
public String getAnalysis() {
return analysis;
}
public void setAnalysis(String analysis) {
this.analysis = analysis;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
}
Вот часть моего кода, который используется этот класс :
String sql = "Select name,number_b from analysis_tab where name ='" + idclicked + "'";
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Date date = new Date();
System.out.println(dateFormat.format(date));
PreparedStatement preparestate = database.con.prepareStatement(sql);
ResultSet rs = preparestate.executeQuery();
MyModel mymodel = new MyModel();
String [] value = mymodel.columnNames;
MyElement e = new MyElement();
//e.setAnalysis(name);
e.setDate(date);
//e.setPrice("number_b");
в результате я получить таблицы с 3 coloumn "A", "B" и "C" .I не знает, следовательно, я Имя ese приходит !!! Если вы скажете мне, как я могу поместить имена моих колонок «Анализ», «Дать анализ», «Prix» в качестве заголовка в моей таблице? Я на правильном пути?
Прочитайте [учебник для 'JTable'] (http://docs.oracle.com/javase/tutorial/uiswing/components/table.html). – alex2410
делать что? создать JTable? выполните поиск [oracle tutorial] (http://docs.oracle.com/javase/tutorial/uiswing/components/table.html). – jhamon
Я просто добавляю метод getColumnNames в класс MyModel, и это работает :) – Sarra