私はJava GUIに苦労しています - 事前に助けてくれてありがとう! 私はいくつかのコンポーネントを持つJFrameを持っています:アクションリスナーをトリガーするボタン(Jbutton) 、コンポーネントであるcomp JScrollPaneをその中のコンポーネントに置き換えようとしています(コンポーネントのタイプは関係ありません。テキストフィールドである可能性があります。テーブルか何か)。
アクションをトリガーしたい - コンポーネントを削除し、新しいコンポーネントを削除した場所と同じ場所に配置し、ウィンドウを再描画します (これを使用して、さまざまなタイプのテキスト フィールドと JTable を表示しています)。これは私が持っているものです:
JScrollPane sp = new JScrollPane(comp);
this.add(sp, BorderLayout.CENTER);
//this works so far - first time I display this is ok!
private void replace() {
comp = new Component(...); //name and type of the components is not important
sp = new JSCrollPane(comp);
this.remove(sp); //remove old component
add(sp, BorderLayout.CENTER);
repaint();
revalidate();
}
機能が仕事の代わりにならないのはなぜですか? 何もしません(コンポーネントをロジックで変更するため、compのコンテンツにアクセスすると更新されますが、古いものが表示されます)。
コードが非常に長いため、ちょっと象徴的に書きました...助けてくれてありがとう!編集:コードの1行を忘れました..