数据库+swing学习(2)

继续简化

在这里插入图片描述

  • lambde表达式可以更简化,新旧对比在这里插入图片描述

  • 回调(callback)
    这次的addactionListen方法就是回调,被系统自动调用

  • LABLE的使用

  • 鼠标悬停在这里插入图片描述

package j03;

public class J01 {
    public static void creatJframe(){
        MyFrame frame=new MyFrame("占扑大师");
        //建一个窗口,调用构造方法,名字为占扑大师
//        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //窗口大小
        frame.setSize(400,500);
        frame.setVisible(true);
    }

    public static void main(String[] args) {

        creatJframe();
    }
}

JtextField

package J04;

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

public class MyFrame extends JFrame {

    JLabel jLabel = new JLabel("输入星座");
    JTextField jTextField = new JTextField(16);//显示一行多少个,及多少列,不是字符限制
    JButton jButton = new JButton("OK");//弹出的消息框显示
    public MyFrame(String title) {
        super(title);
        Container container = getContentPane();
        container.setLayout(new FlowLayout());//NEW 一个流动布局赋值
        //添加组件;
//        container.add(new JLabel("郭飞宇"));
//        container.add(new JButton("点我"));
        container.add(jLabel);
        container.add(jTextField);
        container.add(jButton);
        jTextField.setText("出生日期yyyy:mm:dd");
        jTextField.setFont(new Font("楷体", 0, 16));
        //添加一个点击按钮事件的处理
        jButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                MyFrame.this.buttonOK();
            }
        });
    }
    public  void buttonOK() {
        String string = jTextField.getText();
        JOptionPane.showMessageDialog(this, "输入了" + string + "信息");
    }
}

new对象要在外面,不要在方法里,斜字体表示静态方法可直接被调用
创建监听器使用匿名内部类更加方便

  • jCheckBox
  • 取消输入无法选中文本框在这里插入图片描述在这里插入图片描述
package J05;

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

public class MyFrame extends JFrame {

    JCheckBox jCheckBox = new JCheckBox("是否输入星座");
    JTextField jTextField = new JTextField(16);//显示一行多少个,及多少列,不是字符限制
    public MyFrame(String title) {
        super(title);
        Container container = getContentPane();
        container.setLayout(new FlowLayout());//NEW 一个流动布局赋值


        container.add(jCheckBox);
        container.add(jTextField);
        jCheckBox.setSelected(true);
        jTextField.setToolTipText("输入邮箱");

        //添加一个点击按钮事件的处理
        jCheckBox.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if(jCheckBox.isSelected())
                    jTextField.setEnabled(false);
              else{
                    jTextField.setEnabled(false);
                }

            }
        });
    }

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值