다이얼로그를 생성시 Modal 옵션을 주고 생성을 하면 됩니다.

예제)

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

class DLG extends JDialog {
private JTextField jtf = null;
private String result = "";

public DLG(Frame owner, boolean modal) {
super(owner, modal);

final JDialog dlg = this;

jtf = new JTextField();
jtf.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent ke) {
if(ke.getKeyCode() == 10) {
result = jtf.getText();
dlg.setVisible(false);
}
}
});


getContentPane().add(jtf);

setSize(130, 60);
}

public String open() {
setVisible(true);
return result;
}
}

public class MainFrame extends JFrame {
private JButton btnInput = null;

public MainFrame() {
super("Test Main");

final Frame mainFrame = this;

btnInput = new JButton("INPUT");
btnInput.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
String s = new DLG(mainFrame, true).open();
System.out.println(s);
}
});

getContentPane().add(btnInput);
setSize(200, 200);
setVisible(true);
}

public static void main(String[] args) {
new MainFrame();
}
}

+ Recent posts