Изменить значение пользовательского клика JButton - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь изменить значение щелчка на пользовательском JButton в моем JOptionPane, поскольку по умолчанию оно равно -1, так же, как значение нажатия кнопки выхода в правом верхнем углу.Я хотел бы иметь другое поведение в зависимости от того, нажата ли JButton или нажата кнопка выхода.Вот пример моего кода.Как я могу это сделать?

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Example {

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setLocationRelativeTo(null);

        JPanel panel = new JPanel(new GridLayout(1, 2));

        JButton b1 = new JButton("Find nth Fib");
        JTextField n = new JTextField();

        b1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                String output = n.getText();
                frame.dispose();
                //reference to external method with String output as arg
            }
        });

        panel.add(b1);
        panel.add(n);

        Object[] options = {"Quit"};

        int pos = JOptionPane.showOptionDialog(frame, panel, 
                "Enter a number", JOptionPane.DEFAULT_OPTION, JOptionPane.DEFAULT_OPTION, null, options, null);

        if (pos == 0 || pos == -1) { //check if quit button or X button are pressed
            frame.dispose();
            System.out.println("exit button pressed");
        }

    }


}

1 Ответ

0 голосов
/ 28 сентября 2018

Добавить кнопку в качестве опции (не как часть панели):

Object[] options = {"Find nth Fib", "Quit"};
...