Java 第十一章 UGI编程(1)

目录

GUI

概念

swing概述

设置窗体的常用方法

方法

实例

常用组件

标签(JLabel)

单行文本(JTextField)

密码框(JPasswordField)

多行文本框(JTextArea)

按钮(JButton)


GUI


概念

  •  GUI(Graphical User Interface)即图形用户界面,是指采用图形方式 显示的用户界面,与早期计算机使用的命令行界面相比,图形界面对于用 户来说在视觉上更易于接受。

swing概述

  •  swing 是一个为Java设计的图形界面工具包javax.swing,该包中包括了图形用 户界面的各种组件支持。
  • 一个 Java 的图形界面,由各种不同类型的“元素”组成,这些“元素”被称为组件(Component)

设置窗体的常用方法

JFrame类用来创建窗体; 我们的类可以直接继承该类,实现窗体制作.

方法

  • void setSize(int width, int height)
  • void setVisible(boolean b)
  • void setTitle(String title void setResizable(boolean resizable)
  • void setLocation(int x,int y)
  • void setLocationRelativeTo(null);
  • void setDefaultCloseOperation(int operation)
  • void dispose()

实例

/*
  自定义一个窗口类,继承JFrame,拥有了窗口的功能
 */

public class DemoFrame extends JFrame {
     public DemoFrame(){
         this.setTitle("原神启动");//设置标题
         this.setSize(500,400);//设置大小
         //this.setLocation(222,333);设置窗口指定坐标位置
         this.setLocationRelativeTo(null);//设置窗口居中
         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定关闭窗口的选项   关闭窗口,退出程序
         this.setResizable(false);//设置窗口大小不能改变
         setVisible(true);//显示窗口,此行放在最后一行设置
     }

    public static void main(String[] args) {
        new DemoFrame();
    }
}

常用组件


标签(JLabel)

标签是容纳文本和图标的控件,通常用来在界面中标识别的控件。

构造函数

  • JLabel(String text)  //创建一个带文本的标签

方法:

  • setFont(new Font(“宋体”,Font.BOLD, 18));  //设置字体
public class Framedemo extends JFrame {
   private JLabel text;
    public Framedemo( ){
        //定义组件变量
         text = new JLabel("文本标签");

        //this
         this.setTitle("标题");//设置标题
         this.setSize(500,400);//设置大小
        // this.setLocation(222,333);设置窗口指定坐标位置
         this.setLocationRelativeTo(null);//设置窗口居中
         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定关闭窗口的选项   关闭窗口,退出程序
         this.setResizable(false);//设置窗口大小不能改变
         //text
        text.setFont(new Font("宋体", Font.BOLD,18));


        setVisible(true);//显示窗口,此行放在最后一行设置

    }

单行文本(JTextField)

JTextField的构造函数

  • JTextField(int columns)

方法:

  • String getText() //获得文本框中的文本
public class Framedemo extends JFrame {
   
   private JTextField oneText;
    public Framedemo( ){
        //定义组件变量
      
         oneText = new JTextField();

        //this
         this.setTitle("标题");//设置标题
         this.setSize(500,400);//设置大小
        // this.setLocation(222,333);设置窗口指定坐标位置
        this.setLocationRelativeTo(null);//设置窗口居中
        Container contentPane = getContentPane();
        contentPane.setLayout(null);


        // oneText---JTextField
        oneText.setText("单行文本");
        String s = oneText.getText();
        System.out.println(s);

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定关闭窗口的选项   关闭窗口,退出程序
        this.setResizable(false);//设置窗口大小不能改变
        setVisible(true);//显示窗口,此行放在最后一行设置

    }

密码框(JPasswordField)

构造函数:

  • JPasswordField(String text)
  • JPasswordField(String text, int columns)

方法:

  • char[] getPassword() 
  private JLabel passageField;     
  public Framedemo( ){
        //定义组件变量
        passageField = new JLabel();

        //this
         this.setTitle("标题");//设置标题
         this.setSize(500,400);//设置大小
        // this.setLocation(222,333);设置窗口指定坐标位置
        this.setLocationRelativeTo(null);//设置窗口居中
        Container contentPane = getContentPane();
        contentPane.setLayout(null);
        //passageField ---JTextField
        passageField.setText("\u5bc6\u7801");
        contentPane.add(passageField);
        passageField.setBounds(35, 145, 45, 30);
        contentPane.add(textField2);
        textField2.setBounds(85, 150, 215, textField2.getPreferredSize().height);

       this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设定关闭窗口的选项   关闭窗口,退出程序
        this.setResizable(false);//设置窗口大小不能改变
        setVisible(true);//显示窗口,此行放在最后一行设置

    }

                                                                                                         


多行文本框(JTextArea)

构造函数:

JTextArea(int rows, int columns)    //创建一个指定行数和列数的空文本域

方法:

  • String getText()  //获得文本域中的文本
  • void setFont(Font font)  //设置文本域中文本的字体
  • void setLineWrap(boolean wrap)  //是否自动换行,默认false

如果需要文本区自动出现滚动条,可将文本区对象放入滚动窗格(JScrollPane)中:

  • JScrollPane scrollPane = new JScrollPane(txtArea);
  • add(scrollPane )
public class Framedemo extends JFrame { 
private JTextArea textArea1;

public Framedemo( ){
 label1 = new JLabel();
//======== scrollPane1 ========
        {
            scrollPane1.setViewportView(textArea1);
        }
        contentPane.add(scrollPane1);
        scrollPane1.setBounds(10, 10, 310, 210);
}
}

按钮(JButton)

构造方法:

JButton(String text)  //创建一个带文本的标签

方法:

void setBackground(Color bg) 设置按钮的背景色

void setEnabled(boolean b) 设置启用(或禁用)按钮,由参数b决定

void setToolTipText(String text) 设置按钮的悬停提示信息

public class Framedemo extends JFrame {
private JButton button1; 
public Framedemo( ){
        //定义组件变量
 //---- button1 ----

 button1 = new JButton();
 button1.setText("\u53d1\u9001");
        contentPane.add(button1);
        button1.setBounds(new Rectangle(new Point(320, 230), button1.getPreferredSize()));
   }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/980856.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

KVM虚拟机磁盘创建探究-1

在使用 virt-install 命令时,像 --disk path/var/lib/libvirt/images/vm1.qcow2,size20 这样的参数配置会自动创建指定路径和大小的磁盘镜像文件,不需要再单独使用 qemu-img 去创建。 详细解释 当你使用 virt-install 并指定 --disk 参数时&#xff0c…

第三十三:6.3. 【mitt】 任意组件通讯

概述:与消息订阅与发布(pubsub)功能类似,可以实现任意组件间通信。 // 引入mitt import mitt from "mitt";// 创建emitter const emitter mitt()/*// 绑定事件emitter.on(abc,(value)>{console.log(abc事件被触发,…

Android Stuido 调整左侧文件导航栏文字大小

Android Studio左侧文件导航栏文字大小默认比较小,这里记录下调整的路径: File-->Settings-->Appearance & Behavior-->Appearance-->勾上“Use custom font:” 就可以调整文字大小了,然后确定就好了。

大模型学习笔记------LLM模型开发流程

大模型学习笔记------LLM模型开发流程 1、总体开发流程2、各部分说明3、总结 LLM(Large Language Model)模型,即大型语言模型是大模型中极其重要的分支。它包含了GPT、BERT、Gemini、Qwen、Llama等,这些大模型衍生了相当多的各种改进版本。这些大模型的开…

剑指 Offer II 040. 矩阵中最大的矩形

comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20040.%20%E7%9F%A9%E9%98%B5%E4%B8%AD%E6%9C%80%E5%A4%A7%E7%9A%84%E7%9F%A9%E5%BD%A2/README.md 剑指 Offer II 040. 矩阵中最大的矩形 题目描述 给定一个由 …

【含文档+PPT+源码】基于SpringBoot+Vue医药知识学习与分享平台的设计与实现

项目介绍 本课程演示的是一款 基于SpringBootVue医药知识学习与分享平台的设计与实现,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运…

基于提示驱动的潜在领域泛化的医学图像分类方法(Python实现代码和数据分析)

摘要 医学图像分析中的深度学习模型易受数据集伪影偏差、相机差异、成像设备差异等导致的分布偏移影响,导致在真实临床环境中诊断不可靠。领域泛化(Domain Generalization, DG)方法旨在通过多领域训练提升模型在未知领域的性能,但…

【监督学习】支持向量机步骤及matlab实现

支持向量机 (四)支持向量机1.算法步骤2. MATLAB 实现参考资料 (四)支持向量机 支持向量机(Support Vector Machine, SVM)是一种用于分类、回归分析以及异常检测的监督学习模型。SVM特别擅长处理高维空间的…

数据集/API 笔记:湿球黑球温度(WBGT)观测数据

data.gov.sg WBGT是一个综合指标,考虑了气温、湿度、风速和太阳辐射,与气温不同。 报告的WBGT是过去15分钟内的平均值,每15分钟更新一次。 API 调用 curl --request GET \--url https://api-open.data.gov.sg/v2/real-time/api/weather …

基于 DataEase 的企业数据分析实践

1. 前言 在上一篇《基于 Selenium 实现的必应企业信息抓取工具》中,成功实现了对企业信息的批量抓取与导出。接下来,将对这些数据进行深入分析,包括地区分布、所属行业、规模大小等维度。其中,最直接的需求是统计每个省份的企业数…

教资信息技术之数据库技术

一、概述 1.1 基本概念 数据:描述事物的符号记录称为数据 数据库:长期存储在计算机内、有组织的、可共享的大量数据的集合。 数据库管理系统:位于用户和操作系统之间的一层数据管理软件 数据库系统:数据库系统是由数据库、数据…

JavaAPI(反射)

反射机制简介 获取一个类的实例对象,一般用new关键字来调用构造器获取实例,但是使用new有优点也有缺点。 优点: 性能高,JVM已经对这种调用进行了优化。不需要额外的权限检查、直接调用构造器获取实例、简单方便 缺点&#xff…

零信任沙箱:为网络安全筑牢“隔离墙”

在数字化浪潮汹涌澎湃的今天,网络安全如同一艘船在波涛汹涌的大海中航行,面临着重重挑战。数据泄露、恶意软件攻击、网络钓鱼等安全威胁层出不穷,让企业和个人用户防不胜防。而零信任沙箱,就像是一座坚固的“隔离墙”,…

开源嵌入式实时操作系统NuttX介绍

一、NuttX RTOS的发展历程:从个人项目到Apache顶级开源项目 NuttX 是一款轻量级、可扩展的实时操作系统(RTOS),其发展历程堪称开源社区的经典案例。 起源与初创(2003-2007) NuttX 由 Gregory Nutt 于2003…

【蓝桥杯单片机】第十二届省赛

一、真题 二、模块构建 1.编写初始化函数(init.c) void Cls_Peripheral(void); 关闭led led对应的锁存器由Y4C控制关闭蜂鸣器和继电器 由Y5C控制 2.编写LED函数(led.c) void Led_Disp(unsigned char ucLed); 将ucLed取反的值赋给P0 开启锁存器…

清华大学AI赋能医药代表销售培训讲师专家培训师唐兴通Deepseek医药数字化营销大健康数字化转型医药新媒体营销

唐兴通 数字商业创新实践专家、数字营销与销售顾问 沃顿商学院特邀演讲嘉宾|美国营销协会艾菲奖评委 核心专长: AI商业化应用、新药上市、数字化转型、医药数字营销创新、医药新销售能力体系打造、 教学经历:从教20年,执教12所…

关于后端使用Boolean或boolean时前端收到的参数的区别

当后端使用的是Boolean时,调用的方法是setIsLoginUser,前端收到的参数的参数名是isLoginUser 而当后端使用的是boolean时,调用的方法是setLoginUser,前端收到的参数的参数名是loginUser 封装类和基本数据类型在使用时需要注意这…

【二.提示词工程与实战应用篇】【3.Prompt调优:让AI更懂你的需求】

最近老张在朋友圈秀出用AI生成的国风水墨画,隔壁王姐用AI写了份惊艳全场的年终总结,就连楼下小卖部老板都在用AI生成营销文案。你看着自己跟AI对话时满屏的"我不太明白您的意思",是不是怀疑自己买了台假电脑?别慌,这可能是你的打开方式不对。今天咱们就聊聊这个…

Docker安装Postgres_16数据库

PostgreSQL简介 PostgreSQL 是一个功能强大、开源的关系型数据库管理系统(RDBMS),以其可靠性、功能丰富性和可扩展性而闻名。它支持复杂的查询、事务完整性、并发控制以及多种数据类型和扩展功能,适用于各种规模的应用程序; 适用传…

Linux系统管理操作

一、关闭防火墙 默认端口号是22,其他端口用不了,这时候就引出关闭防火墙 1.1、systemctl 1.1.1、基本语法 systemctl start | stop | restart | status 服务名 //启动、关闭、重启、查看状态 1.1.2、查看服务的方法 查看/usr/lib/systemd/syst…