所以,我有一些Arduino采集的数据。我想在图表(我正在使用jFreeChart)和表格(JTable)中显示(一个简单的整数)。 当我得到32行以上时,出现问题。数据未附加到JTable。 [显示的图像] https://imgur.com/a/sYiMklv 和 [显示的图形] https://imgur.com/a/bWX6yhy
在这种情况下,我有81个数据,但(始终)仅显示32个。 (是的,即使我滚动)
我真的不知道发生了什么。
在这种情况下,s1
,s2
和s3
是TimeSeries
对象,teste
只是一个jLabel,用于显示可用数据量。 dtm
是DefaultTableModel
。
此代码在主类(一个JFrame)中
public class MainForm extends javax.swing.JFrame {
private DefaultTableModel dtm;
//the rest of the code
在Construcor中(tabela_dados
是JTable的名称)
dtm = (DefaultTableModel) tabela_dados.getModel();
每次SerialPort
中有新数据时都会调用下面的方法(使用Listener
进行操作)
public void update_TimeSeries(int t){
LocalDateTime now = LocalDateTime.now();
s1.addOrUpdate(new Millisecond(now.getNano()/1000000,now.getSecond(),now.getMinute(),
now.getHour(), now.getDayOfMonth(), now.getMonthValue(), now.getYear()),
t);
s2.addOrUpdate(new Millisecond(now.getNano()/1000000,now.getSecond(),now. now.getHour(), now.getDayOfMonth(), now.getMonthValue(), now.getYear()),
t*0.5);
s3.addOrUpdate(new
Millisecond(now.getNano()/1000000,now.getSecond(),now.getMinute(),
now.getHour(), now.getDayOfMonth(), now.getMonthValue(), now.getYear()),
t*0.33);
teste.setText(""+s1.getItemCount());
//The place where I insert the data
//Just to you guys understand, "t" will be replaced by other variables further
dtm.addRow(new Object[]{now.getSecond()+"."+now.getNano()/1000000,t,t,t});
}
它应该获得尽可能多的JTable数据(我不知道它有多少,但是应该超过32行哈哈哈)