几个常用组件:

  在图形用户界面编程中,我们常常会提供用户登陆界面,比如登陆到会员管理系统,登陆到工资管理系统,仓库管理系统等,如下图我们就会用到:

  1. 文本框(JTextField)

  2. 密码框(JPasswordField)

  3. 便签(JLable)

  

  example code:

  

 package demo7;
import java.awt.*; import javax.swing.*; /*
* 多种布局管理器
* */
public class demo8 extends JFrame{ /**
* @param args
*/
//定义 组件
JPanel jp1,jp2,jp3;
JLabel jlb1,jlb2;
JButton jb1,jb2;
JTextField jtf1,jtf2;
JPasswordField jpf1;
public static void main(String[] args) {
// TODO Auto-generated method stub
demo8 de =new demo8();
} //构造函数
public demo8()
{
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel(); jlb1 = new JLabel("用户名");
jlb2 = new JLabel("密码");
jb1 =new JButton("登陆");
jb2 =new JButton("取消"); jtf1 = new JTextField(10);
jpf1 = new JPasswordField(10); //设置布局管理器
this.setLayout(new GridLayout(3, 1)); //加入各个组件
jp1.add(jlb1);
jp1.add(jtf1); jp2.add(jlb2);
jp2.add(jpf1); jp3.add(jb1);
jp3.add(jb2); //加入到jframe
this.add(jp1);
this.add(jp2);
this.add(jp3); this.setSize(300, 150);
this.setTitle("会员管理系统");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}

  在图形用户界面编程中,我们 常常会提供用户注册界面 ,如下图:

  这个时候我们就会用到:

  1. 复选框组件(JCheckBox)

  2. 单选框组件(JRadioButton)

  特别说明:

  同一组单选按钮必须先创建buttonGroup,然后把单选框组件放入到buttonGroup中。

  

 /*
* 单选框和复选框案例
* */
package demo7; import java.awt.*; import javax.swing.*; public class demo9 extends JFrame{ /**
* @param args
*/ //定义组件
JPanel jp1,jp2,jp3;
JLabel jl1,jl2;
JButton jb1,jb2;
JCheckBox jcb1,jcb2,jcb3;
JRadioButton jrb1,jrb2,jrb3;
ButtonGroup bg;
public static void main(String[] args) {
// TODO Auto-generated method stub
demo9 demo = new demo9();
} //构造函数
public demo9()
{
//创建组件
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jl1 = new JLabel("你喜欢的运动");
jl2 = new JLabel("你的性别");
jb1 = new JButton("注册用户");
jb2 = new JButton("取消注册"); jcb1 = new JCheckBox("足球");
jcb2 = new JCheckBox("篮球");
jcb3 = new JCheckBox("网球"); jrb1 = new JRadioButton("男");
jrb2 = new JRadioButton("女");
//一定要把jrb1,jrb2放入到一个buttongroup
ButtonGroup bg = new ButtonGroup();
bg.add(jrb1);
bg.add(jrb2); //设置布局管理器
this.setLayout(new GridLayout(3,1)); //添加组件
jp1.add(jl1);
jp1.add(jcb1);
jp1.add(jcb2);
jp1.add(jcb3); jp2.add(jl2);
jp2.add(jrb1);
jp2.add(jrb2); jp3.add(jb1);
jp3.add(jb2); this.add(jp1);
this.add(jp2);
this.add(jp3); this.setSize(300, 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
} }

  在图形用户界面编程中,我们常常会提供用户调查界面,如下图:

  这个时候我们就会用到:

  1. 下拉框组件(JComboBox)

  2. 列表框组件(JList)

  3. 滚动窗格组件

  特别说明:

  一般来说,列表框组件+滚动窗格组件是结合使用的。目的是让列表框中的选项可以有滚动条支持。

   

 /*
* JComboBox/JList/JScrollPane
* */
package demo7;
import java.awt.*; import javax.swing.*; public class demo10 extends JFrame{ /**
* @param args
*/
//定义组件
JPanel jp1,jp2,jp3;
JLabel jl1,jl2;
JComboBox jcb1;
JList jlist;
JScrollPane jsp;
public static void main(String[] args) {
// TODO Auto-generated method stub
demo10 demo = new demo10();
} //构造函数
public demo10()
{
jp1 = new JPanel();
jp2 = new JPanel(); jl1 = new JLabel("你的籍贯");
jl2 = new JLabel("旅游地点"); String []jg = {"北京","上海","天津","火星"};
jcb1 = new JComboBox(jg); String []dd = {"九寨沟","故宫","长城","天安门"};
jlist= new JList(dd); jlist.setVisibleRowCount(2);
jsp = new JScrollPane(jlist);
//设置你希望显示多少个选项 //设置布局
this.setLayout(new GridLayout(3,1)); //添加组件
jp1.add(jl1);
jp1.add(jcb1); jp2.add(jl2);
jp2.add(jsp); this.add(jp1);
this.add(jp2); this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true); } }

  

  

java基础 常用组件的更多相关文章

  1. java基础--常用函数总结

    java基础--常用函数总结 2019-3-16-23:28:01-----云林原创 1.split()字符串分割函数 将一个字符串分割为子字符串,然后将结果作为字符串数组返回. 2.Math.flo ...

  2. Java 基础 常用API (Object类,String类,StringBuffer类)

    Java API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底 ...

  3. Java基础-常用工具类(一)

    object类 Object 类是所有类的的父类,如果一个类没有明确使用EXPENTS关键字明确标识继承另外一个类,那么这个类默认继承object类,oject类中的方法适合所有子类 1)toStri ...

  4. Java基础——常用类之日期时间类

    如果有机会,请尝试Java8中全新的时间日期API!(参见Java8新特性随笔) 如果还是使用Java7及之前的版本,那么你可以尝试一些工具类(参考使用工具类相关的Hutool-DateUtil) 如 ...

  5. Java基础--常用API--集合类相关API

    一.泛型 1.泛型的本质是将类型参数化,即将数据类型作为参数. 2.泛型可以在编译期进行检查,其所有的强制转换是隐式且自动的,提高了代码的安全性. 3.泛型可以用在类(泛型类).接口(泛型接口).方法 ...

  6. Java基础--常用API--java.lang.Object

    一.简述 1.Object类是所有类的父类,即直接或间接的继承java.lang.Object类.省略了extends Object. 2.方法 (1)protected native Object ...

  7. Java基础--常用API--日期相关API

    一.java.util.Date 1.只用于显示系统时间,其大部分操作由Calendar代替. 格林威治时间(GMT):指的是1970年1月1日0时,不同地区有时间差. 默认输出格式:星期.月.日.时 ...

  8. Java基础--常用API--字符串相关API

    一.java.lang.String 1.string对象不可变,被final修饰,不能被继承. 2.赋值方式: (1)直接赋值.比如: String name = "rick"; ...

  9. Java基础--常用API--IO流相关API

    一.IO流 1.定义: IO流指的是Input/Output流,即输入流/输出流. 输入流:将外界信息写入程序,即从外界获取信息,属于读操作. 输出流:将程序数据发送给外界,即向外界传输数据,属于写操 ...

随机推荐

  1. STL bind1st bind2nd详解

    STL bind1st bind2nd详解   先不要被吓到,其实这两个配接器很简单.首先,他们都在头文件<functional>中定义.其次,bind就是绑定的意思,而1st就代表fir ...

  2. 搭建一套自己实用的.net架构(3)【ORM-Dapper+DapperExtensions】

    现在成熟的ORM比比皆是,这里只介绍Dapper的使用(最起码我在使用它,已经运用到项目中,小伙伴们反馈还可以). 优点: 1.开源.轻量.小巧.上手容易. 2.支持的数据库还蛮多的, Mysql,S ...

  3. [LeetCode] Largest Divisible Subset 最大可整除的子集合

    Given a set of distinct positive integers, find the largest subset such that every pair (Si, Sj) of ...

  4. 【原】Learning Spark (Python版) 学习笔记(四)----Spark Sreaming与MLlib机器学习

    本来这篇是准备5.15更的,但是上周一直在忙签证和工作的事,没时间就推迟了,现在终于有时间来写写Learning Spark最后一部分内容了. 第10-11 章主要讲的是Spark Streaming ...

  5. 轻量级jQuery语法高亮代码高亮插件jQuery Litelighter。

    <!DOCTYPE html><html><head><meta charset="UTF-8" /><title>jQ ...

  6. python学习之路 第三天

    1.set集合:去掉重复字段 set.difference()找出不同并创建一个新的集合,不改变原来集合: set.difference_update() 改变原来集合,剔除掉括号内容: set.di ...

  7. ES6深入学习记录(一)class方法相关

    今天学习class相关的一些使用方法,着重在于class extends class之间可以通过extends关键字实现继承,这比ES5的通过修改原型链实现继承,要清晰和方便很多. 上面的代码定义了一 ...

  8. 生成GUID唯一值的方法汇总(dotnet/javascript/sqlserver)

    一.在 .NET 中生成1.直接用.NET Framework 提供的 Guid() 函数,此种方法使用非常广泛.GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的任何两台计 ...

  9. Java NIO浅析

    NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接 ...

  10. 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(五)

    SpringSecurity(2) 好久没有写了,之前只写了一半,我是一边开发一边写Blog一边上班,所以真心没有那么多时间来维护Blog,项目已经开发到编写逻辑及页面部分了,框架基本上已经搭建好不会 ...