常用组件
1.JTextField(文本框)
允许用户在文本框中输入单行文本
2.JTextArea(文本区)
允许用户文本区中输入多行文本
3.JLabel(标签)
标签为用户提供信息
4.JButton(按钮)
允许用户单击按钮
5.JCheckBox(复选框)
为用户提供多种选择
6.JComboBox(下拉列表)
为用户提供单项选择
7.JPasswordField密码框)
允许用户在密码中输入单行密码

public class Example_3 {public static void main(String args[]){ComponentInWindow win =new ComponentInWindow();//创建一个对象win.setBounds(100,100,450,260);//设置窗口的初始位置win.setTitle("常用组件");//设置窗口的名字}}

import java.awt.FlowLayout;import javax.swing.ButtonGroup;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JRadioButton;public class ComponentInWindow extends JFrame{//四个组件JCheckBox checkBox1,checkBox2;//复选框  喜欢音乐和喜欢旅行JRadioButton radioM,radioF;//单选按钮  男女ButtonGroup group;//单选按钮建立一个小组 男女JComboBox<String> comBox;//下拉列表public ComponentInWindow()//构造函数{init();setVisible(true);//窗口可见setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//点击×号后的反应  关闭}void init(){setLayout(new FlowLayout());//流体布局comBox = new JComboBox<String>();下拉列表comBox.addItem("音乐天地");comBox.addItem("武术天地");checkBox1 = new JCheckBox("喜欢音乐");//复选框  喜欢音乐和喜欢旅行checkBox2 = new JCheckBox("喜欢旅行");this.add(checkBox1);this.add(checkBox2);//把复选框添加到窗口中去group = new ButtonGroup();//单选按钮  男女radioM = new JRadioButton("男");radioF = new JRadioButton("女");group.add(radioM);group.add(radioF);this.add(radioM);this.add(radioF);//把单选按钮添加到窗口中去this.add(comBox);}
}

密码框:
Java中使用JPasswordField是很常见的,怎么获取其文本内容呢?

查看Java API发现有个getPassword()方法,但使用这个方法得到的
却不是我们所输入的内容,可以通过以下方法获取密码框中的内容:

JPasswordField passwordField=new JPasswordField();

String password=new String(passwordField.getPassword());


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Text extends JFrame implements ActionListener
{JLabel lb=new JLabel("请输入密码:");///设置一个标签对象JPasswordField txt1=new JPasswordField(25);///创建密码框对象JButton bn=new JButton("确定");///添加按钮JTextField txt2=new JTextField(25);///创建一个文本框public Text() {setSize(300,200);setVisible(true);//可见setTitle("密码验证");setDefaultCloseOperation(EXIT_ON_CLOSE);setLayout(new FlowLayout());add(lb);add(txt1);txt1.setEchoChar('*');///密码框中的字符加密,以'*'形式显示add(bn);add(txt2);validate();bn.addActionListener(this);//为按钮添加注册监视器}public void actionPerformed(ActionEvent e) {String password=new String(txt1.getPassword());if(password.equals("abc"))///比较字符串相等txt2.setText("密码正确");else {txt2.setText("密码错误");}   }public static void main(String[] args) {new  Text();}}

密码:abc

常用容器:(中间容器)
1.JPanel(面板)
2.JTabbedPane(选项卡窗格)
3.JScrollPane(滚动窗格)
4.JSplitPane(拆分窗格)
5.JLayerPane(分层窗格)

常用布局:
1.FlowLayout布局(流式布局)
2.BorderLayout布局(边界布局)
3.CardLayout布局(卡片布局)
4.GridLayout布局(网格布局)
5.null布局(空布局)
6.BoxLayout布局(盒式布局)

public class Example9_4 {public static void main(String args[]) {new ShowLayout();}}
import java.awt.*;
import javax.swing.*;
public class ShowLayout extends JFrame {PanelGridLayout pannelGrid; //网格布局的面板PanelNullLayout panelNull ; //空布局的面板JTabbedPane p;              //选项卡窗格ShowLayout() {pannelGrid = new PanelGridLayout();panelNull  = new PanelNullLayout();p = new JTabbedPane();p.add("网格布局的面板",pannelGrid);p.add("空布局的面板",panelNull);add(p,BorderLayout.CENTER);add(new JButton("窗体是BorderLayout布局"),BorderLayout.NORTH);add(new JButton("南"),BorderLayout.SOUTH);add(new JButton("西"),BorderLayout.WEST);add(new JButton("东"),BorderLayout.EAST);setBounds(10,10,570,390);setVisible(true);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);validate();}}
import java.awt.*;
import javax.swing.*;
public class PanelGridLayout extends JPanel {PanelGridLayout () {GridLayout grid=new GridLayout(12,12);  //网格布局setLayout(grid);Label label[][]=new Label[12][12];for(int i=0;i<12;i++) {for(int j=0;j<12;j++) {label[i][j]=new Label();if((i+j)%2==0)label[i][j].setBackground(Color.black);elselabel[i][j].setBackground(Color.white);add(label[i][j]); }}}
}
import javax.swing.*;
public class PanelNullLayout extends JPanel {JButton button;JTextField text;PanelNullLayout() {setLayout(null);  //空布局button = new JButton("确定");text = new JTextField();add(text);add(button);text.setBounds(100,30,90,30);button.setBounds(190,30,66,30);}}



有两个列型盒式容器BoxVOne BoxVTwo和一个行型式容器BoxH
将BoxVOne,BoxVTwo添加到BoxH中,并在它们之间添加水平支撑

public class Example9_5 {public static void main(String args[]) {WindowBoxLayout win=new WindowBoxLayout();win.setBounds(100,100,310,260);win.setTitle("嵌套盒式布局容器");}}

import javax.swing.*;
public class WindowBoxLayout extends JFrame  {Box boxH;               //行式盒Box boxVOne,boxVTwo;    //列式盒 public WindowBoxLayout() {setLayout(new java.awt.FlowLayout());init();setVisible(true);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}void init() {boxH =Box.createHorizontalBox();boxVOne=Box.createVerticalBox();boxVTwo=Box.createVerticalBox();boxVOne.add(new JLabel("姓名:"));boxVOne.add(new JLabel("职业:"));boxVTwo.add(new JTextField(10));boxVTwo.add(new JTextField(10));boxH.add(boxVOne);boxH.add(Box.createHorizontalStrut(10));boxH.add(boxVTwo);add(boxH);       }
}

java使用教程——组件及事件处理——常用组件与布局相关推荐

  1. java实用教程——组件及事件处理——设置组件的位置(相对于窗口具体位置和布局)

    1: 相对于窗口的具体位置 关键点: JButton组件添加到JPanel时,如果想自己位置,需要对JPanel进行如下设置,才能自定义按钮位置 需要将组件添加到画板上去,才可以设置组件的相对具体位置 ...

  2. java 多行文本框_Swing常用组件之多行文本区JTextArea

    单行文本的输入存在严重的缺陷,也不适合实际的运用,本节通过一个无功能的记事本来介绍可以进行多行输入的JTextArea: JTextArea():创建一个内容为空的文本区 JTextArea(Docu ...

  3. java返回组件所在窗体_Java基础知识笔记第九章:组件及事件处理

    java Swing 图形用户界面(GUI : Graphics User Interface) 窗口 JFrame常用方法 JFrame()创建一个无标题的窗口. JFrame(String s)创 ...

  4. amqp协议_AMQP协议、模型及RabbitMQ常用组件

    大家好,我是小T 今天咱们来介绍RabbitMQ的消息发送的原理 ^-^ RabbitMQ作为一款消息中间件,它的核心功能主要是消息的收发.消息收发的媒介是通过网络传输来实现的. RabbitMQ最底 ...

  5. K8S架构常用组件核心资源

    架构 k8s的物理架构师master/node模式.集群至少需要一个master结点和多个工作结点,Master节点是集群的控制节点,负责整个集群的管理和控制,主要用于暴露API.调度部署和对节点进行 ...

  6. Java实用教程笔记 组件及事件处理

    组件及事件处理 JFrame()常用方法 其中至少要掌握的 拓展 示例 AWT Swing SWT AWT 抽象窗口工具包 AWT(Abstract Window Toolkit),中文译为抽象窗口工 ...

  7. java实用教程——组件及事件处理——对话框(消息对话框,输入对话框,确认对话框)

    消息对话框:(这个对话框提供一些信息) 无模式:可多线程的执行 有模式:用户必须处理这个一个对话框.必须解决这个问题后才可以继续相处下去 对话框分为无模式和有模式两种.如果一个对话框 是有模式的对话框 ...

  8. java实用教程——组件及事件处理——ActionEvent事件

    事件源: 文本框,按钮,菜单项,密码框,单选按钮 注册监视器: 能够触发ActionEvent事件的组件使用方法 addActionListener(ActionListener listener) ...

  9. java组件代码_[java]常用组件

    代码: zujian.java public class zujian { public static void main(String args[]){ ComponentInWindow win ...

最新文章

  1. IT人士群聚喝酒的讲究(转载)
  2. 为什么csdn搜索自己文章时,加了英文分号的搜索不了?“ ' ”
  3. 微软HTTP API指南
  4. 建设“一流本科专业”?急啥,先看看哈佛数学系从三流到一流的150年
  5. (多重背包+记录路径)Charlie's Change (poj 1787)
  6. cts测试的一些总结
  7. 学会写出"图形界面+数据库"的程序要多长时间?
  8. memtest86内存测试工具介绍
  9. python中斜杠_Python中的正斜杠/与反斜杠\
  10. 微服务项目部署-POS收银系统
  11. 使用EasyPoi导出Word文件,使用@Excel注释导出实体对象图片的解决方案
  12. Python自动化小技巧11——excel文件的文字内容筛选
  13. java 小工 到_测试小工——从0到1搭建最简单的Linux网站
  14. html5实现定位签到,H5+百度地图实现移动端考勤定位打卡
  15. 一种实现个人微信二维码收款接口的方法
  16. hive窗口函数-leg()、lead() 上次下次获取
  17. 优思学院|从二八定律到六西格玛管理
  18. 利用keil完成ARM汇编语言编程入门实践
  19. 高效的苹果清理软件——cleanmymac
  20. java写给自己的一封信,给自己的一封信500字

热门文章

  1. Docker基础入门及示例
  2. android静态方法如何测试,android – 如何使用mock()和spy()测试静态方法
  3. SaS中ne在mysql语句对应_SAS学习经验总结分享:篇四—SQL过程
  4. Android单击、长按获取当前触点坐标下(TextView)文字字符
  5. ArcGIS中国工具(ArcGISCTools)3.2 安装教程(附安装包下载)
  6. C语言试题四十之使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。
  7. 剑指offer之求两个链表的第一个公共节点
  8. 递归和非递归实现规律函数
  9. Struts2的Interceptor和Listener以及Plugin
  10. MATLAB软件禁用利好,Matlab被禁用?一款国产软件站了出来说:我就是中国的Matlab...