コンポーネントを作成して表示した後、JDialog にコンポーネントを追加しようとしています。変更を実際に画面に更新することは何も試していません。これに関連するすべての質問を読んで適用しました。
このコード例は、「test」という単語を表示するモーダル JDialog を作成します。「test2」を表示できません。ほぼ同じコードですが、JDialog の代わりに JFrame を使用すると、期待どおりに動作するため、理解できません。私はJavaが初めてで、特にswingが初めてです。
import javax.swing.*;
public class DialogTester {
public static void main(String[] args) {
new DialogTester();
}
public DialogTester() {
JFrame jframe = new JFrame();
jframe.setVisible(true);
JDialog jdialog = new JDialog(jframe,true);
JPanel jpanel = new JPanel();
jpanel.add(new JLabel("test"));
jdialog.add(jpanel);
jdialog.setVisible(true);
jpanel.add(new JLabel("test2"));
jpanel.revalidate();
jdialog.getContentPane().validate();
jdialog.pack();
}
}
私も電話してみた
jdialog.repaint();
何もしませんでした。