簡體   English   中英

在JDialog中更改JPanel內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM