私は、Pocket PC 用の Java ME 開発に取り組もうとしています。NSIcom CrE-ME エミュレータを実行し、NetBeans 6.5 でアプリケーションを構築しています。
アプリケーションは 3 つのタブ パネルに基づいており、それぞれに Swing コンポーネントがあります。内容の Swing コンポーネントは、アプリケーションのさまざまなポイントで更新されます。これらのコンポーネントには、JTextArea、JTextFields、および最も重要な JScrollPane 内の JTable が含まれます。
JTable が問題を引き起こしています。サンプルデータを使用してMatisseで初期化すると、表示されます。しかし、以下の populateFields() メソッドで実行時に JTable の参照を設定しようとしても、何も表示されません。これは単に Sun チュートリアルのサンプル テーブル データを使用したものであり、カスタムの TableModel を使用したものではないことに注意してください。
私は何を間違っていますか?呼び出す必要がある明らかな更新メソッド、または見逃したその他の明白なエラー/接続はありますか? 私は、それと関係があるかもしれないと思った、私が遭遇したほぼすべての可能な方法を試しました.
populateFields() メソッドは、プログラム中のさまざまな時点で呼び出されます。
public void populateFields()
{
String[] columnNames = {"First Name", "Last Name","Sport", "# of Years", "Vegetarian"};
Object[][] data = { {"Mary", "Campione", "Snowboarding", new Integer(5), new Boolean(false)},
{"Alison", "Huml", "Rowing", new Integer(3), new Boolean(true)},
{"Kathy", "Walrath", "Knitting", new Integer(2), new Boolean(false)},
{"Sharon", "Zakhour", "Speed reading", new Integer(20), new Boolean(true)},
{"Philip", "Milne", "Pool", new Integer(10), new Boolean(false)} };
this.tableSurvey = new JTable(new DefaultTableModel(data, columnNames));
this.scrollPaneSurvey = new JScrollPane(this.tableSurvey);
DefaultTableModel dtm = (DefaultTableModel) this.tableSurvey.getModel();
dtm.fireTableStructureChanged();
dtm.fireTableDataChanged();
this.scrollPaneSurvey.invalidate();
this.scrollPaneSurvey.validate();
this.panelSurvey.validate();
this.panelSurvey.repaint();
}