热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javagui组件_JavaGUI基础组件

1、JLabel标签构造函数:JLabel()JLabel(Stringtext)JLabel(Stringtext,intalign)第二个参数设置文本的对齐方式&

1、JLabel  标签

构造函数:

JLabel()

JLabel(String text)

JLabel(String text,int align)     //第二个参数设置文本的对齐方式,常量,比如SwingConstants.LEFT/RIGHT。

JLabel(Icon image)  //显示图片

JLabel(Icon image,int align)

JLabel(String text,Icon image,int align)    //同时显示文字、图片

常用方法:

set/getText()

set/getIcon()

2、JButton  按钮

构造函数:

JButton()

JButton(String text)

JButton(Icon image)

JButton(String text,Icon image)

3、JRadioButton  单选按钮

构造函数:

JRadioButton()

JRadioButton(String text)   //文本

JRadioButton(String text,boolean selected)   //第二个参数指定是否默认选中

JRadioButton(Icon image)  //图片

JRadioButton(Icon image,boolean selected)

JRadioButton(String text,Icon image)   //文本+图片

JRadioButton(String text,Icon image,boolean selected)

常用方法:

getText()

isSelected()

setSelected(boolean selected)    //设置是否选中

setSelectedIcon(Icon image)   //设置选中时的图标

4、JCheckBox   复选框

JCheckBox的构造函数、常用方法和JRadioButton的完全一样,只是把JRadioButton换为JCheckBox。

5、ButtonGroup   按钮组

ButtonGroup group=new ButtonGroup();   //ButtonGroup是Swing的一个类,不带前缀J,并不是组件,不能被添加到某个容器中

group.add(btn1);    //ButtonGroup只是逻辑上的一个容器,表示一组按钮,并非实际的UI容器,所以还是要在实际的UI容器中添加按钮

group.add(btn2);

.....

container.add(btn1);

container.add(btn2);

.....

ButtonGroup可以添加普通按钮/单选按钮/复选框,将一组单选按钮放在ButtonGroup中,则这组单选按钮最多只能有一个被选中。

ButtonGroup的常用方法:

clearSelection()    //清除选中状态

判断选中项:

1 Enumeration btns=group.getElements(); //获取这组所有的按钮

2 while(btns.hasMoreElements()) {3 AbstractButton btn =btns.nextElement();4 if(btn.isSelected()){5 //.......

6 }7 }

普通按钮、单选按钮、复选框都是AbstractButton的实现类。

CheckboxGroup和GroupButton的使用方式相似,CheckboxGroup只能组合一组复选框,放入CheckboxGroup后这组复选框只能选择一个。

6、JTextField  单行文本框

构造函数:

TextField()

TextField(String text)   //默认文本

TextField(int columns)   //指定列数(文本框的宽度),注意setSize()对TextField无效

TextField(String text,int columns)

常用方法:

set/getText()

set/getColumns()

7、JPassword

8、JTextArea  多行文本域

构造函数:

TextArea()

TextArea(String text)   //默认文本

TextArea(int rows,int columns)   //行数、列数,TextArea的尺寸由行数、列数决定,setSize()对TextArea无效

TextArea(String text,int rows,int columns)

TextArea(String text,int rows,int columns,int scrollbar)   //最后一个参数指定滚动条,TextArea类的常量,

可用的值:

TextArea.SCROLLBARS_HORIZONTAL_ONLY      //只使用水平滚动条

TextArea.SCROLLBARS_VERTICAL_ONLY   //只使用竖直滚动条

TextArea.SCROLLBARS_BOTH   //同时使用水平、竖直滚动条

TextArea.SCROLLBARS_NONE   //不使用滚动条

前3个,需要的时候才出现滚动条。

使用水平滚动条:第一行达到边界时,会出现水平滚动条,继续往右,不会自动换行,只能手动换行。

不使用水平滚动条:达到边界时,会自动换行,转到下一行开头。

9、Choice  下拉列表   这个是AWT的组件,Swing中没有对应的

3e68cce55d94bccfa83811d5ef155d33.png    

3f6f3e831dea16af4377a341d83231a7.png            

cba10d95e27d64059cf517f91f9ec076.png

1 Choice choice=newChoice();2 choice.add("第一项"); //添加一项

3 choice.addItem("第二项"); //这2种方式的效果相同

Choice可添加某些特殊的事件监听,比如 ItemListener。

10、JPanel   中间容器

构造函数:

JPanel()

JPanel(LayoutManager layout)   //布局管理器

JPanel(boolean isDoubleBuffered)    //是否使用双缓冲

JPanel(LayoutManager layout,boolean isDoubleBuffered)

双缓冲:重绘界面/图像时,界面/图像会闪烁,使用双缓冲可解决闪烁问题。

Swing的组件默认使用双缓冲,AWT的组件只能自己写代码实现双缓冲。

11、JScrollBar   滑动条    可作为滚动条、滑块,比如调节音量、进度

构造函数:

JScrollBar()

JScrollBar(int orientation)   //滑动条的方向,常量,可能的值:Adjustable.HORIZONTAL  水平滑动条,Adjustable.VERTICAL   垂直滑动条

JScrollBar(int orientation,int value,int extent,int min,int max)    //滑动条方向,默认值,滑块大小,滑动条的最小值,滑动条的最大值

常用方法:

getValue()    //获取当前值

setValue(int value)    //设置当前值

使用示例:

1 JScrollBar scrollbar=new JScrollBar(Adjustable.HORIZONTAL,50,100,0,500);2 scrollbar.setPreferredSize(new Dimension(500,10)); //必须设置JScrollBar的大小,不然效果不对

3 panel.add(scrollbar); //添加到容器中

12、JScrollPane   自带滚动条的容器

构造函数:

JScrollPane()

JScrollPane(Component view)    //将一个组件放置到JScrollPane中,一般是将内容放到一个Container中,再将这个Container作为view放到JScrollPane中

JScrollPane(int vsbPolicy,int hsbPolicy)   //设置垂直、水平滚动条,可选的值均为常量。vsb即Vertical ScrollBar,hsb即Horizontal ScrollBar。

JScrollPane(Component view,int vsbPolicy,int hsbPolicy)

vsbPolicy可选的值:

ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS //显示垂直滚动条

ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER //不显示

ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED //需要时才显示

hsbPolicy可选的值:

ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS

ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER

ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED

使用示例:

1 JTextArea area=new JTextArea(5,50);2 JScrollPane pane=new JScrollPane(area,ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);



推荐阅读
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
author-avatar
化工12卓越团支部CUP
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有