Java学习第二十八天

目录

一、文本框
二、事件的类型和处理方法

一、文本框

文本框是接受用户输人的一种组件,Swing将文本组件分为下面三大类。

(1)文本字段(text fields), 包括类JTextField和JPasswordField,用于显示和编辑较短的、不带格式的一-行文本。其中,类JPasswordField是类JTextField的子类,用于输人口令,它与类JTextField的区别在于:不直接显示用户输人的文字,而显示特定的字符作为掩码(mask)字符。文本字段的使用基于动作事件(即主要监听动作类型的事件ActionEvent),与按钮等简单控件的用法类似。

(2)纯文本区域(plain text areas), 包括类JTextArea,用于显示和编辑较长的、不带格式的多行文本,通常用于显示没有格式的帮助信息。纯文本区域的使用基于文档事件(即主要监听文档类型的事件DocumentEvent),程序通常使用文档事件监听器监听用户对纯文本区域的改变。

(3)带样式文本区域(styled text areas),包括类JEditorPane和JTextPane,可用于显示和编辑复杂的、带样式的文本。JEditorPane 类支持纯文本、HTML和RTF的文本编辑;JTextPane类进一步扩 展了JEditorPane类的功能,允许文本中嵌人图像或其他


public class TestTextDemo02 extends JFrame {
    public TestTextDemo02(){
        Container container = this.getContentPane();
        JPasswordField passwordField = new JPasswordField();
        passwordField.setEchoChar('#');
        container.add(passwordField);
        Label label = new Label();
//        JTextField textField = new JTextField("hello world");
//        JTextField textField2 = new JTextField("大数据五班");
//        container.add(textField,BorderLayout.NORTH);
//        container.add(textField2,BorderLayout.SOUTH);

        this.setVisible(true);
        this.setSize(500,900,350);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
    public static void main(String[] args) {
        new TestTextDemo02();
    }
}



二、事件的类型和处理方法

AWT和Swing定义了多种类型的事件,这些事件大致可分为以下两大类型。

(1)低级事件。这类事件指由窗口系统发生的事件或者底层输入而产生的事件,主要包括组件事件(跟踪组件位置、大小可见性的变化)、容器事件(反映容器中组件的添加和删除)、焦点事件(组件获得或失去键盘焦点,拥有键盘焦点的组件可响应键盘的输入)、窗口事件(反映窗口或对话框的基本状态)、鼠标事件(用户使用鼠标进行交互)、键盘事件(用户使用键盘进行输入)等。

(2)语义事件。这类事件是指低级事件以外的具有丰富含义的与组件有关的事件,如单击按钮、拖动滚动条等。这些事件源于图形用户界面,其含义由程序设计员赋予,如单击“确定”按钮将确认刚才的操作,单击“取消”按钮将撤销刚才的操作。


public class TestKeyListener {
    public static void main(String[] args) {
        new KeyFrame();
    }
}
class KeyFrame extends JFrame{
    public KeyFrame(){
        this.setBounds(10,10,300,500.400);
        this.setVisible(true);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.addKeyListener(
                new KeyAdapter() {
                    @Override
                    public void keyPressed(KeyEvent e) {
                        int keycode = e.getKeyCode();
                        System.out.println(keycode);
                        if(keycode == KeyEvent.VK_0){
                            System.out.println("按下了1");
                        }
                        if(keycode == KeyEvent.VK_UP){
                            System.out.println("按下了下键");
                        }
                    }
                });
    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值