java gui 组件_Java GUI 基础组件

本文详细介绍了Java GUI中的基础组件,包括JLabel、JButton、JRadioButton、JCheckBox、ButtonGroup、JTextField、JPasswordField、JTextArea、Choice、JPanel、JScrollBar和JScrollPane。讲解了它们的构造函数、常用方法和应用场景,帮助开发者掌握Java图形用户界面设计。
摘要由CSDN通过智能技术生成

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);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值