私のコードは以下の通りです。m_rowsを配列として受け取ろうとしています。それは空のままで、フレームは空白のままです。クラスがイベントを受け取ったのを見ることができます。私はクラステーブルが大丈夫だと思う。リスナーからのm_rowsの受け取りとTableModel(m_rows)への渡しの間に、明らかに間違っているコードがありますか?イベントを受け取った後にJFrameがペイントしない
おかげ
class Frame extends JFrame implements FlowListener {
private List<Candle> m_rows = new ArrayList<Candle>();
public Frame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Ma premiere fenetre");
setBounds(50, 100, 1000, 800);
Container conteneur = new JPanel();
TableModel tableModel = new TableModel(m_rows);
JTable table = new JTable(tableModel);
JPanel tablePanel = new JPanel();
tablePanel.add(table);
conteneur.setLayout(new GridLayout(2, 1));
conteneur.add(tablePanel);
this.add(conteneur);
this.setVisible(true);
}
@Override
public void updateOnFlow(List<Candle> newFlow) {
m_rows = newFlow;
this.repaint();
}
}
'validate()'も試しましたか? http://stackoverflow.com/questions/1097366/java-swing-revalidate-vs-repaint – Sentry
また、 'updateOnFlow'が実際に呼び出されたことを確認しましたか? 'Frame'インスタンスを' FlowListener'としてどこに登録しますか? – Sentry
はい私は検証を試み、動作しませんでした。 updateOnFlowが呼び出され、updateOnFlow内のsystem.out.printlnで結果が取得され、別のクラスにFrameが登録されます。 – matel