91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Java中對話框與主窗口的數據交互

小樊
86
2024-08-30 07:15:13
欄目: 編程語言

在Java中,實現對話框與主窗口的數據交互通常需要使用Swing庫。以下是一個簡單的示例,展示了如何在主窗口和對話框之間傳遞數據:

  1. 首先,導入所需的庫:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
  1. 創建一個主窗口類(MainWindow),繼承自JFrame:
public class MainWindow extends JFrame {
    private JTextField textField;
    private JButton openDialogButton;

    public MainWindow() {
        initUI();
    }

    private void initUI() {
        setLayout(new FlowLayout());
        setSize(300, 200);
        setTitle("主窗口");

        textField = new JTextField(20);
        add(textField);

        openDialogButton = new JButton("打開對話框");
        openDialogButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                openDialog();
            }
        });
        add(openDialogButton);
    }

    private void openDialog() {
        DialogWindow dialog = new DialogWindow(this);
        dialog.setVisible(true);
    }

    public void setTextFieldText(String text) {
        textField.setText(text);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                MainWindow mainWindow = new MainWindow();
                mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                mainWindow.setVisible(true);
            }
        });
    }
}
  1. 創建一個對話框類(DialogWindow),繼承自JDialog:
public class DialogWindow extends JDialog {
    private JTextField textField;
    private JButton setTextButton;
    private MainWindow mainWindow;

    public DialogWindow(MainWindow mainWindow) {
        super(mainWindow, "對話框", true);
        this.mainWindow = mainWindow;
        initUI();
    }

    private void initUI() {
        setLayout(new FlowLayout());
        setSize(200, 150);

        textField = new JTextField(20);
        add(textField);

        setTextButton = new JButton("設置文本");
        setTextButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                setTextFieldInMainWindow();
            }
        });
        add(setTextButton);
    }

    private void setTextFieldInMainWindow() {
        String text = textField.getText();
        mainWindow.setTextFieldText(text);
        dispose();
    }
}

在這個示例中,我們創建了一個主窗口(MainWindow)和一個對話框(DialogWindow)。主窗口包含一個文本字段和一個按鈕,用于打開對話框。對話框包含一個文本字段和一個按鈕,用于將文本字段的內容設置到主窗口的文本字段中。

當用戶點擊主窗口中的“打開對話框”按鈕時,會創建并顯示一個對話框實例。在對話框中輸入文本并點擊“設置文本”按鈕后,對話框會將輸入的文本設置到主窗口的文本字段中。

0
遂川县| 陵水| 高邑县| 宜良县| 纳雍县| 新宁县| 鲁山县| 泽普县| 黑水县| 娱乐| 依兰县| 茶陵县| 巴青县| 迁西县| 伊春市| 大连市| 铜梁县| 裕民县| 扎囊县| 银川市| 绥德县| 青铜峡市| 新和县| 马关县| 天等县| 蓬莱市| 合肥市| 鄯善县| 巴南区| 光泽县| 饶阳县| 同心县| 铜山县| 军事| 池州市| 哈巴河县| 陆河县| 若羌县| 长泰县| 会同县| 阳春市|