中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
利津县| 通榆县| 金山区| 富民县| 乌恰县| 三亚市| 涡阳县| 崇明县| 若羌县| 象山县| 景洪市| 丹东市| 博爱县| 五峰| 磐安县| 泸州市| 酒泉市| 灵丘县| 武汉市| 清远市| 麻江县| 定安县| 安龙县| 旺苍县| 西峡县| 汤阴县| 沙坪坝区| 台湾省| 青神县| 奉新县| 霍邱县| 大冶市| 马边| 修文县| 南阳市| 阿拉善右旗| 伊通| 贺州市| 女性| 沅陵县| 柏乡县|