[英]Change JPanel contents in JDialog
我正在嘗試在創建和顯示JDialog之后將其添加到JDialog中。 我沒有嘗試使更改實際更新到屏幕,我已閱讀並應用我能找到的與此相關的每個問題。
此示例代碼創建一個顯示單詞“test”的模態JDialog。 我不能讓它顯示“test2”。 幾乎完全相同的代碼,但使用JFrame而不是JDialog的行為與我期望的一樣,所以我不明白。 我是Java的新手,特別是搖擺。
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();
什么也沒做。
您創建了一個模態對話框。 因此,只要調用setVisible(true)
,以下指令就會等待關閉對話框以執行。
在對話框可見之前添加標簽的代碼,或者在顯示對話框后將其放入調用的事件處理程序中,例如,當您單擊此對話框中的按鈕時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.