Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;

public class Main extends Box {
    JFrame frame;
    JTextArea text = new JTextArea("this is a test");

    public Main(JFrame frame) {
        super(BoxLayout.Y_AXIS);
        this.frame = frame;
        add(text);
        JButton button = new JButton("Click Me");
        button.addActionListener(e -> launchDialog());
        add(button);
    }

    public void launchDialog() {
        JButton findButton = new JButton("Find");
        findButton.addActionListener(e -> {
            int start = text.getText().indexOf("is");
            int end = start + "is".length();
            if (start != -1) {
                text.requestFocus();
                text.select(start, end);
            }
        });
        JButton cancelButton = new JButton("Cancel");

        JOptionPane optionPane = new JOptionPane("Do you understand?", JOptionPane.QUESTION_MESSAGE,
                JOptionPane.YES_NO_OPTION, null, new Object[] { findButton, cancelButton });

        JDialog dialog = new JDialog(frame, "Click a button", false);
        cancelButton.addActionListener(e -> dialog.setVisible(false));
        dialog.setContentPane(optionPane);
        dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
        dialog.setLocation(100, 100);
        dialog.pack();
        dialog.setVisible(true);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setContentPane(new Main(frame));
        frame.pack();
        frame.setVisible(true);
    }
}