首页 > 其他分享 >图形用户界面-GUI的基本概念和组件之一

图形用户界面-GUI的基本概念和组件之一

时间:2024-10-15 21:17:30浏览次数:9  
标签:panelObj 窗口 GUI newWin JPanel Swing 组件 图形用户界面

前言

        GUI(Graphical User Interface,图形用户界面,简称图形界面)编程实际是引用java.awt或javax.swing类包中的窗口类、控制组件类、布局类、事件类等,通过将控制组件类,如菜单、按钮、文本框等,直接或间接添加到窗口中,通过鼠标即可进行操作的图形化界面设计方法。
java.awt类包是抽象窗口工具包(即AWT),通过调用本地系统实现显示窗口的功能。javax.swing类包是在AWT基础上建立的一套图形界面系统,习惯上称其为Swing包。Swing包是JFC(Java Foundation Classes)的一部分,提供了从按钮到表格的所有可视化组件。Swing对AWT中组件作了重新定义,为区别于原AWT组件,所有在Swing中声明的组件的名称前面都加一个字母J。

Swing组件层次结构图               

Swing组件层次结构示意图        

一、容器类组件 

  • JFrame类(顶层容器)的常用方法及常量

Dimension类的常用方法及常量

  • JPanel类(中间容器)的常用方法

二、普通可视化组件

 1、标签组件JLabel

标签对象以显示文字信息为主,文字格式、字体等通过Font类的对象设置。

2、 文本框组件JTextField

        文本框组件是用于输入单行文本内容的组件,又被称为单行文本组件。它是TextComponent(文本组件)的子类。TextComponent类提供了多种方法,包括文本选择、设置、编辑、插入位置、注册和删除文本监听器等功能。

3、 按钮组件JButton

按钮使最常用的组件之一,常用于提交等操作

4、复选框组件JCheckBox

复选框组件提供一种简单的“开/关”输入设备,单击就选中,再单击一次取消选择,每个复选框旁边有一个文本标签,标识这个复选框的功能。

 举几个代码例子

import javax.swing.*;
import java.awt.*;

public class Main {
    public static void main(String[] args) {

        //1、创建顶级容器对象
        JFrame newWin = new JFrame("汽车租赁系统");
        newWin.setSize(400,500);//设置窗口大小
        newWin.setLocation(500,300);//设置窗口显示左上角的位置
        newWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗口关闭操作
        newWin.setVisible(true);//使窗口显示
        //或者newWin.show();也可以使窗口显示

        //2、创建JPanel中间容器
        JPanel panelObj = new JPanel();
        panelObj.setBackground(Color.orange);//设置窗口背景颜色为橙色

        //3、创建标签对象
        JLabel labelObj = new JLabel("用户账号:");
        labelObj.setFont(new Font("楷书",Font.BOLD,20));//设置字体
        labelObj.setForeground(Color.black);//设置字体颜色

        //4、创建JTextField对象
        JTextField textField = new JTextField(20);
        textField.setHorizontalAlignment(JTextField.RIGHT);//设置字体的文本格式

        //5.创建JButton对象
        //JButton button = new JButton("登录");
        //6、根据包含与被包含的顺序,将基本组件对象添加到中间容器中,再将中间容器添加到顶层容器中
        panelObj.add(labelObj);
        panelObj.add(textField);
        //panelObj.add(button);
        newWin.add(panelObj);
    }
}

运行结果:

 


从前面几个例子来看,可视化组件的加载顺序是:先加载普通可视化组件,如JLabel、JTextField、JButton,实例化后添加到JPanel对象中,再将JPanel对象再添加到JFrame对象中。

标签:panelObj,窗口,GUI,newWin,JPanel,Swing,组件,图形用户界面
From: https://blog.csdn.net/GZH_mxjx/article/details/142962641

相关文章

  • OpenCV高级图形用户界面(11)检查是否有键盘事件发生而不阻塞当前线程函数pollKey()的
    操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述轮询已按下的键。函数pollKey无等待地轮询键盘事件。它返回已按下的键的代码或如果没有键自上次调用以来被按下则返回-1。若要等待按键被按下,请使用waitKey。注意waitKey......
  • OpenCV高级图形用户界面(8)在指定的窗口中显示一幅图像函数imshow()的使用
    操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述在指定的窗口中显示一幅图像。函数imshow在指定的窗口中显示一幅图像。如果窗口是以cv::WINDOW_AUTOSIZE标志创建的,图像将以原始大小显示,不过仍然受限于屏幕分辨率。否则,图像......
  • OpenCV高级图形用户界面(9)更改指定窗口的位置函数moveWindow()的使用
    操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述将窗口移动到指定的位置。cv::moveWindow()函数用于更改指定窗口的位置。你可以使用这个函数来移动窗口到屏幕上的任何位置。函数原型voidcv::moveWindow ( constString......
  • 【VUE】Vue中动态组件
    component动态组件(DynamicComponents)可以通过is属性切换不同的组件,从而实现动态渲染的效果。常用于实现Tab切换效果、配合使用keep-alive来缓存组件。动态组件的作用Vue中的动态组件可以帮助我们轻松地实现以下几个功能:实现按需加载:当页面中存在多个组件时,我们可......
  • 若依前端菜单管理中路由地址、组件路径、权限字符的使用
    过段时间就忘了,赶紧动笔记下来——鲁迅创建菜单时,页面上需要填写几个关键信息,以下为个人理解欢迎指正路由地址菜单类型是目录和菜单时都需要,目录类型时填写views下目录名称,菜单类型时填写vue文件所在(子)目录名,下面分开举例。先看一个效果图企业管理是目录类型,企业信息和......
  • Vue组件及组件化:深入解析与组件生命周期
    Vue组件及组件化:深入解析与组件生命周期Vue.js作为一款渐进式JavaScript框架,凭借其易用性、灵活性和高性能,在前端开发领域占据了一席之地。其中,组件化开发是Vue.js的核心特性之一,它极大地提高了代码的可复用性、可维护性和可测试性。本文将深入解析Vue组件及组件化的概念,并......
  • Spring Cloud Alibaba 体系-组件-Sentinel
    Sentinel是阿里巴巴开源的一款面向分布式服务架构的流量控制组件,主要用于处理微服务中的限流、熔断和降级,帮助提高系统的稳定性和可靠性。它在微服务架构中,尤其是与SpringCloud、Dubbo等框架结合时,起到了至关重要的保护作用。1.限流、熔断、降级的概念限流(RateLimitin......
  • React组件通信
    React组件通信一、父传子方式1:​通过在子组件标签上设置属性值传递,子组件函数通过props参数接收如://定义子组件functionSon(props){//通过标签属性传递,属性以及对应的值都会通过props参数接收return<div>父组件传递的属性值:name={props.name}</div>......
  • adminPage-vue3依赖 v1.2.0新增组件 DetailsModule说明文档
    adminPage-vue3依赖v1.2.0新增组件DetailsModule说明文档引入思路介绍DetailsModuleAPI汇总属性插槽自定义对象config(array<object\>/object类型)config.list(array<object\>类型)使用基础使用范例config-titleconfig-moduleKeyconfig-listconfig-list-slotNamec......
  • vue之间的传值问题---7ref实现组件之间传值
    1.父组件向子组件传值:父组件可以通过ref属性获取子组件的实例,进而访问子组件的方法和数据。父组件<template><div><child-componentref="child"></child-component><button@click="sendToChild">SendtoChild</button></div><......