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

溫馨提示×

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
独山县| 平安县| 安多县| 中西区| 永定县| 当雄县| 棋牌| 大宁县| 巴里| 鄂托克旗| 龙游县| 太谷县| 澎湖县| 宁强县| 顺平县| 德昌县| 建始县| 彰化市| 文化| 新丰县| 乌海市| 正定县| 黎川县| 吉木萨尔县| 宁河县| 施秉县| 巴塘县| 平乡县| 金湖县| 平阴县| 正阳县| 佛山市| 柘城县| 老河口市| 铜川市| 潞西市| 息烽县| 望城县| 石家庄市| 天水市| 贡觉县|