• Java GUI 基础组件


    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<AbstractButton> 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中没有对应的

                    

    1    Choice choice=new Choice();
    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);
  • 相关阅读:
    python
    car-travel project
    数据库
    kafka笔记
    cloudera笔记
    上课笔记
    structured streaming
    SparkSQL
    流数据
    spark厦门大学
  • 原文地址:https://www.cnblogs.com/chy18883701161/p/11067523.html
Copyright © 2020-2023  润新知