黑马程序员技术交流社区

标题: 图形界面化 [打印本页]

作者: 122125241    时间: 2015-7-12 13:19
标题: 图形界面化
  1. package it.cast;
  2. import java.awt.Button;
  3. import java.awt.FlowLayout;
  4. import java.awt.Frame;
  5. import java.awt.Label;
  6. import java.awt.TextArea;
  7. import java.awt.TextField;
  8. import java.awt.event.ActionEvent;
  9. import java.awt.event.ActionListener;
  10. import java.awt.event.KeyAdapter;
  11. import java.awt.event.KeyEvent;
  12. import java.awt.event.WindowAdapter;
  13. import java.awt.event.WindowEvent;
  14. public class Text {
  15.         public static void main(String[] args) {
  16.                 Frame frame = new Frame("坚持到无能为力,努力到感动自己");
  17.                 // 设置窗口属性X Y H W
  18.                 frame.setBounds(400, 200, 400, 300);
  19.                 // 设置流式布局
  20.                 frame.setLayout(new FlowLayout());
  21.                 // 添加文本框按钮
  22.                 final TextField field = new TextField(20);
  23.                 // 添加到窗体
  24.                 frame.add(field);
  25.                 // 设置文本框时间
  26.                 field.addKeyListener(new KeyAdapter() {
  27.                         @Override
  28.                         public void keyPressed(KeyEvent e) {
  29.                                 // 判断如果不是0-9的数字 就自动返回
  30.                                 char keyChar = e.getKeyChar();
  31.                                 if (!(keyChar >= '0' && keyChar <= '9')) {
  32.                                         e.consume();
  33.                                 }
  34.                         }
  35.                 });
  36.                 // 创建按钮对象
  37.                 Button button = new Button("添加");
  38.                 // 把按钮放到窗体上
  39.                 frame.add(button);
  40.                 // 创建文本域10行10列
  41.                 final TextArea area = new TextArea(10, 40);
  42.                 // 添加到窗体
  43.                 frame.add(area);
  44.                 Label label = new Label("无能为力,感动自己");
  45.                 frame.add(label);
  46.                 // 窗口显示化
  47.                 frame.setVisible(true);
  48.                 // 关闭窗口,时间监听机制.手动关闭
  49.                 // 关闭窗口调用addWindowListener()方法,需要关闭就需要用WindowListener接口中的关闭方法是windowClosing()
  50.                 // 但是接口实现需要重写里面的所有方法,太多的话比较麻烦.所以我们调用这个接口的子类,通过子类重写我们需要用的那个方法就可以,这就是适配器
  51.                 frame.addWindowListener(new WindowAdapter() {
  52.                         @Override
  53.                         public void windowClosing(WindowEvent e) {
  54.                                 System.exit(0);
  55.                         }
  56.                 });
  57.                 // 设置按钮事件
  58.                 button.addActionListener(new ActionListener() {
  59.                         @Override
  60.                         public void actionPerformed(ActionEvent e) {
  61.                                 // 获取文本框信息.并清空
  62.                                 String string = field.getText().trim();
  63.                                 field.setText("");
  64.                                 // 吧文本框信息放到文本域中.并换行
  65.                                 area.append(string + "\r\n");
  66.                                 // 获取光标
  67.                                 field.requestFocus();
  68.                         }
  69.                 });
  70.         }
  71. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2