package com.runt.android.dialogs;
|
|
import java.awt.Color;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import java.awt.event.KeyEvent;
|
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowEvent;
|
|
import javax.swing.JButton;
|
import javax.swing.JComponent;
|
import javax.swing.JDialog;
|
import javax.swing.JPanel;
|
import javax.swing.JTextArea;
|
import javax.swing.JTextField;
|
import javax.swing.KeyStroke;
|
|
/**
|
* 输入弹框
|
*/
|
public class DoubleInputDialog extends JDialog {
|
private JPanel contentPane;
|
private JButton buttonOK;
|
private JButton buttonCancel;
|
private JTextField textField1;
|
private JTextArea textArea1;
|
DialogListener listener;
|
|
public DoubleInputDialog(DialogListener listener){
|
this();
|
this.listener = listener;
|
}
|
|
public DoubleInputDialog() {
|
setContentPane(contentPane);
|
setModal(true);
|
getRootPane().setDefaultButton(buttonOK);
|
buttonOK.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
onOK();
|
}
|
});
|
|
buttonCancel.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
onCancel();
|
}
|
});
|
|
// call onCancel() when cross is clicked
|
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
|
addWindowListener(new WindowAdapter() {
|
public void windowClosing(WindowEvent e) {
|
onCancel();
|
}
|
});
|
textArea1.setSize(300,400);
|
textArea1.setRows(10);
|
textArea1.setColumns(11);
|
textArea1.setTabSize(4);
|
textArea1.setSelectedTextColor(Color.RED);
|
textArea1.setSelectionColor(Color.BLACK);
|
textArea1.setLineWrap(true); //激活自动换行功能
|
//textAreaOutput.setEnabled(false);
|
textArea1.setWrapStyleWord(true);
|
|
contentPane.registerKeyboardAction(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
onCancel();
|
}
|
}, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
|
}
|
|
private void onOK() {
|
// add your code here
|
dispose();
|
if(listener != null){
|
listener.Ok(new String[]{textField1.getText(),textArea1.getText()});
|
}
|
}
|
|
private void onCancel() {
|
// add your code here if necessary
|
dispose();
|
}
|
|
public interface DialogListener{
|
|
public void Ok(String[] object);
|
|
public void cancel(Object object);
|
|
}
|
public static void main(String[] args) {
|
DoubleInputDialog dialog = new DoubleInputDialog();
|
dialog.pack();
|
dialog.setVisible(true);
|
System.exit(0);
|
}
|
}
|