java笔记之图形类----非组件容器详解

Java的非容器组件:

加入非容器步骤:

1.创建一个Jframe

2.创建面板Jpanel

3.将面板加入到Jframe中

4.添加Jlabel标签

5.新建组件

a:JTextField  文本输入框  可指定输入框大小

b:JPasswordField 文本密文输入

JPasswordField passwordField=new JPasswordField(10);

c:JRadioButton 单选按钮

JRadioButton man = new JRadioButton("男",true);
JRadioButton woman = new JRadioButton("女");
//如果是单选框必须要进行分组,同一个组的单选框只能选择其中的一个
ButtonGroup group = new ButtonGroup();
group.add(woman);
group.add(man);

d:JComboBox下拉框

Object[] arr = {"北京","上海","广州","深圳","湛江"};
JComboBox citys = new JComboBox(arr);

e:JCheckBox多选框

JCheckBox checkBox1 = new JCheckBox("篮球",true);

f:JTextArea大文本输入框

JTextArea area = new JTextArea(20, 15);
area.setLineWrap(true); //设置自动换行

6.将其加入面板中

7.初始化frame

import javax.swing.ButtonGroup;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;

import cn.itcast.util.FrameUtil;

/*
 非容器组件:
 */

public class Demo1 {

    public static void main(String[] args) {
        JFrame frame= new JFrame("注册");
        //创建一个面板
        JPanel panel = new JPanel();
        frame.add(panel);
        //用户名
        JLabel nameLabel = new JLabel("用户名");
        //用户名的输入框
        JTextField nameField = new JTextField(12);
        //把用户名的组件添加到面板上
        panel.add(nameLabel);
        panel.add(nameField);

        //密码
        JLabel passLabel= new JLabel("密码");
        //密码框
        JPasswordField passField = new JPasswordField(12);
        //把密码的组件添加到面板
        panel.add(passLabel);
        panel.add(passField);

        //性别--单选框
        JLabel sexLabel = new JLabel("性别");
        JRadioButton man = new JRadioButton("男",true);
        JRadioButton woman = new JRadioButton("女");
        //如果是单选框必须要进行分组,同一个组的单选框只能选择其中的一个
        ButtonGroup group = new ButtonGroup();
        group.add(woman);
        group.add(man);
        //把性别组件添加到面板上
        panel.add(sexLabel);
        panel.add(man);
        panel.add(woman);

        //来自城市--->下拉框
        JLabel cityLabel = new JLabel("来自的城市");
        Object[]  arr = {"北京","上海","广州","深圳","湛江"};
        JComboBox citys = new JComboBox(arr);
        panel.add(cityLabel);
        panel.add(citys);

        //兴趣爱好---->复选框
        JLabel hobitLabel = new JLabel("兴趣爱好:");
        JCheckBox checkBox1 = new JCheckBox("篮球",true);
        JCheckBox checkBox2 = new JCheckBox("java",true);
        JCheckBox checkBox3 = new JCheckBox("javascript");
        JCheckBox checkBox4 = new JCheckBox("android");
        panel.add(hobitLabel);
        panel.add(checkBox1);
        panel.add(checkBox2);
        panel.add(checkBox3);
        panel.add(checkBox4);

        //个人简介
        JLabel jLabel = new JLabel("个人简介");
        JTextArea area = new JTextArea(20, 15);
        area.setLineWrap(true); //设置自动换行
        panel.add(jLabel);
        panel.add(area);

        FrameUtil.initFrame(frame, 500, 400);
    }

 效果图:

时间: 2024-10-05 04:27:27

java笔记之图形类----非组件容器详解的相关文章

java笔记--反射机制之基础总结与详解

一.反射之实例化Class类的5种方式: java的数据类型可以分为两类,即引用类型和原始类型(即基本数据类型). 对于每种类型的对象,java虚拟机会实例化不可变的java.lang.Class对象. 它提供了在运行时检查对象属性的方法,这些属性包括它的成员和类型信息. 更重要的是Class对象是所有反射API的入口. Class类是泛型类,可以使用@SuppressWarnings("unchecked")忽略泛型或者使用Class<V>类型. 获得Class对象的5种

java笔记之图形类详解

软件的交互方式:1. 控制台的交互方式.2. 图形化界面的交互方式 . java使用到的图形类主要在java.awt 与javax.swing包中. java.awt 与 javax.swing包的区别:java.awt中使用的图形类都是依赖于系统 的图形库的.javax.swing包使用到的图形类都是sun自己实现,不需要依赖系统的图形库.疑问: 既然swing包中的图形类已经取代awt包的图形类,为什么不删除awt呢? 1.swing比awt包出现的晚,所以会存在一些界面是用了awt包的相关

java笔记之图形类详解---事件监听器

事件监听器代表负责处理事件的接口.Java 提供了各种事件监听器类,但我们将讨论更频繁使用的那些事件监听器类.一个事件监听器的每个方法有一个参数作为一个对象,该对象是 EventObject 类的子类.例如,鼠标事件监听器的方法将接受 MouseEvent 的实例,其中 MouseEvent 是 EventObject 派生的. EventListner 接口 它是一个标记接口,每一个监听器接口必须扩展它.这个类定义在 java.util 包中. 事件: 当发生了某个事件的时候,就会有相应处理方

java笔记--关于Object类与线程相关的方法

关于Object类中的线程方法 Object类是所有Java类的 父类,在该类中定义了三个与线程操作有关的方法,使得所有的Java类在创建之后就支持多线程 这三个方法是:notify(),notifyAll(),wait(),这几个方法都是用来控制线程的运行状态的. 方法列表如下: notify() : 唤醒在此对象监视器上等待的单个线程 notifyAll() : 唤醒在此对象监视器上等待的所有线程 wait() : 在其他线程时调用此对象的notify()或者notifyAll()方法前,导

java笔记--使用SwingWoker类完成耗时操作

使用SwingWoker类完成耗时操作: 对于Swing中的耗时操作,通常要在一个新的线程中运行,以免程序"假死". 在java6.0中,可以用SwingWoker类来完成 SwingWoker<T,V>是在专用线程中执行长时间GUI交互任务的抽象类.用Swing 编写多线程应用程序时,要记住两个约束条件:     1.不应该在事件指派线程运行耗时任务,否则应用程序将无反应.     2.只能在事件指派线程上访问Swing控件     注: 通常需要将耗时的任务放到Swin

Java AtomicInteger类的使用方法详解_java - JAVA

文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下: public class Sample1 { private static Integer count = 0; synchronized public static void increment() { count++; } } 以下是AtomicInteger的: public class Sample2 { private s

“全栈2019”Java多线程第二十八章:公平锁与非公平锁详解

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多线程第二十八章:公平锁与非公平锁详解 下一章 "全栈2019"Java多线程第二十九章:可重入锁与不可重入锁详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"J

Android四大组件--Activity详解

Android四大组件--Activity详解 分类: android android应用android开发 本文的主要内容包括1.activity的建立.配置和使用:2.activity的跳转和传值:3.startActivityForResult:4.activity的生命周期. 1.activity的建立.配置和使用 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个可视的窗口,一般情况

java加密算法入门(三)-非对称加密详解

1.简单介绍 这几天一直在看非对称的加密,相比之前的两篇内容,这次看了两倍多的时间还云里雾里的,所以这篇文章相对之前的两篇,概念性的东西多了些,另外是代码的每一步我都做了介绍,方便自己以后翻阅,也方便大家理解.最后就是关于代码的demo,DH算法.RSA算法本文中只有最基础的用法,实际在工作中可能会涉及到密钥的转换X509EncodedKeySpec和PKCS8EncodedKeySpec,相关的demo名分别叫DH2Test,RSA2Test,已经上传GIT.如果对您有帮助,请给我个star.