Swing接收用户输入,以#号结束,输出按字典次序最小的字符
运行结果如下
import javax.swing.JTextPane;
import javax.swing.JTextField;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.ActionEvent;
/*****************************
作者:Jerome Chan
网站: www.jeromechan.com
*****************************/
public class KeyDemo {
private static char minChar = 'a';
private static void createAndShowGUI() {
final JTextField textfield = new JTextField(20);
final JTextPane panel = new JTextPane();
panel.setEditable(false);
textfield.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent e) {
if (e.getKeyChar() == '#') {
panel.setText("你输入最小的字符是:" + minChar);
textfield.setText("");
}
else {
if(e.getKeyChar() < minChar) {
minChar=e.getKeyChar();
//panel.setText("");
}
//else
//panel.setText("");
}
}});
JFrame.setDefaultLookAndFeelDecorated(true);
//Create and set up the window.
JFrame frame = new JFrame("HelloWorldSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(textfield, BorderLayout.NORTH);
frame.getContentPane().add(new JScrollPane(panel), BorderLayout.CENTER);
frame.setSize(300, 400);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}