亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Java Swing對話框的事件處理

小樊
92
2024-08-30 07:10:16
欄目: 編程語言

在Java Swing中,對話框(JDialog)的事件處理通常涉及到以下幾個方面:

  1. 監聽按鈕點擊事件:當用戶點擊對話框中的按鈕時,需要執行相應的操作。這可以通過為按鈕添加ActionListener來實現。
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class DialogExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Dialog Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setVisible(true);

        JButton button = new JButton("Open Dialog");
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                openDialog(frame);
            }
        });

        frame.getContentPane().add(button, BorderLayout.CENTER);
    }

    private static void openDialog(JFrame parent) {
        JDialog dialog = new JDialog(parent, "My Dialog", true);
        dialog.setSize(200, 100);

        JButton okButton = new JButton("OK");
        okButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("OK button clicked");
                dialog.dispose();
            }
        });

        JButton cancelButton = new JButton("Cancel");
        cancelButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("Cancel button clicked");
                dialog.dispose();
            }
        });

        JPanel buttonPanel = new JPanel();
        buttonPanel.add(okButton);
        buttonPanel.add(cancelButton);

        dialog.getContentPane().add(buttonPanel, BorderLayout.SOUTH);
        dialog.setLocationRelativeTo(parent);
        dialog.setVisible(true);
    }
}
  1. 監聽對話框關閉事件:當用戶點擊對話框的關閉按鈕或者按下Esc鍵時,可能需要執行一些操作。這可以通過為對話框添加WindowListener來實現。
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class DialogExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Dialog Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setVisible(true);

        JButton button = new JButton("Open Dialog");
        button.addActionListener(e -> openDialog(frame));

        frame.getContentPane().add(button, BorderLayout.CENTER);
    }

    private static void openDialog(JFrame parent) {
        JDialog dialog = new JDialog(parent, "My Dialog", true);
        dialog.setSize(200, 100);

        dialog.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.out.println("Dialog closed");
                dialog.dispose();
            }
        });

        JLabel label = new JLabel("This is a dialog");
        dialog.getContentPane().add(label, BorderLayout.CENTER);
        dialog.setLocationRelativeTo(parent);
        dialog.setVisible(true);
    }
}

這些示例展示了如何在Java Swing對話框中處理按鈕點擊和對話框關閉事件。你可以根據自己的需求進行修改和擴展。

0
和硕县| 泰来县| 连云港市| 虞城县| 龙陵县| 蕉岭县| 镇平县| 清苑县| 谢通门县| 罗甸县| 乐清市| 长葛市| 定襄县| 宁乡县| 叶城县| 原平市| 太仓市| 茂名市| 遵义县| 巩留县| 九龙县| 马公市| 荃湾区| 行唐县| 旬阳县| 道孚县| 沙坪坝区| 花垣县| 汝南县| 高密市| 肥城市| 七台河市| 宁晋县| 博罗县| 厦门市| 青田县| 安顺市| 石狮市| 凤庆县| 塔河县| 岑溪市|