java [GUI]

Java-GUI快速入门 目录 1.GUI的介绍 1.1GUI概述 1.2Java提供了三个主要包做GUI开发: 2.Swing组件 2.1顶层容器介绍 2.2中间容器 2.3基本组件 3.API介绍 3.1Jframe组件 3.2Panel组件 3.3功能组件 4.案例代码 4.1UI介绍 4.2代码 5.插件介绍WindowBuilder 5.1搜索WindowBuilder 5.2.... 阅读详情

 

 

GUI -- Graphical User Interface (图形用户界面 )
    用比较直观方便的图形方式显示操作界面
CLI -- Command line User Interface (命令行用户接口)
    Dos命令行操作 , 需要记住操作指令, 操作不直观
java 两大GUI 对象包 java.awt 和 javax.swing  ┃
           ┃           ┗━━在AWT基础上 建立图形界面系统 提供更多组件 具有跨平台性 增强移植性     
           ┗━ABstract Window Toolkit (抽象窗口工具包) 需调用本地方法实现功能 依赖于运行平台 是重量级控件
           

继承体系
Component
   ┣━ Button 按钮
   ┣━ Canvas 画布
   ┣━ Checkbox 复选框
   ┣━ Choice 弹出式选择菜单
   ┣━ Label 单行文本标签
   ┣━ List 可滚动的文本项列表
   ┣━ Scrollbar 滚动条
   ┣━ TextComponent 允许编辑文本的组件的超类
   ┃            ┣━ TextArea 显示文本的多行区域。可以将它设置为允许编辑或只读。
   ┃            ┗━ TextField 允许编辑单行文本的文本组件。
   ┗━ Container 容器 -- 一般的AWT容器对象 , 是一个可通过add方法添加其他 AWT 组件的组件 内部是通过封装集合来实现的
      ┣━ BasicSplitPaneDivider
      ┣━ CellRendererPane
      ┣━ DefaultTreeCellEditor.EditorContainer
      ┣━ JComponent 该类是除顶层容器外所有 Swing 组件的基类。要使用继承自 JComponent 的组件,
      ┃                          必须将该组件置于一个根为顶层 Swing 容器的包含层次结构(containment hierarchy)中。
      ┣━ ScrollPane 单个子组件的自动水平和/或垂直滚动的容器类
      ┣━ Window  窗体  一个没有边界和菜单栏的顶层窗口。窗口的默认布局是 BorderLayout。
      ┃            ┣━ BasicToolBarUI.DragWindow
      ┃            ┣━ JWindow  对象是一个没有边界和菜单栏的顶层窗口。窗口的默认布局是 BorderLayout。
      ┃            ┣━ Frame 框架 -- 是带有标题和边框的顶层窗口。
      ┃            ┃        ┗━ JFrame 在javax.swing 包中 是 Frame 的扩展版本
      ┃            ┗━ Dialog 对话框 --是一个带标题和边界的顶层窗口,边界一般用于从用户处获得某种形式的输入
      ┃                      ┣━ FileDialog 文件对话框 -- 显示一个对话框窗口,用户可以从中选择文件。
      ┃                      ┗━ JDialog 是 Dialog 的扩展类 在 javax.swing 包中
      ┃
      ┗━ Panel 面板 -- 是最简单的容器类。应用程序可以将其他组件放在面板提供的空间内,这些组件包括其他面板。
                ┃     面板的默认布局管理器是 FlowLayout 布局管理器。
                ┗━ Applet 是一种不能单独运行但可嵌入在其他应用程序中的小程序。
                             ┗━ JApplet 是javax.swing包的组件 是 Applet 的扩展版


布局管理器 -- 管理容器中组件排放


 常见布局管理器
 FlowLayout (流式布局管理器)
      >从左到右顺序排列 默认居中  自左而右 自上而下自动填充
      >Panel 默认的布局管理器
 BorderLayout(边界布局管理器)
      >东西南北中 每个区域最多只能包含一个组件 , 不指定方位时 自动占据整个容器 默认居中
      >Window 窗体的 默认布局管理器
 CardLayout(卡片布局管理器)
      >选项卡  将容器中的每个组件看作一张卡片。一次只能看到一张卡片
 GridLayout(网格布局管理器)
     >规则矩阵 容器被分成大小相等的矩形,一个矩形中放置一个组件
 GridBagLayout(网格包布局管理器)
     >非规则矩阵  它不要求组件的大小相同


一个界面可以一种或多种布局方式
先划分界面为不同面板 -->不同面板可以采取不同布局

图形界面是通过另外的线程来执行的 , 开启窗体就会多一个线程

窗体创建与设置

setBounds(int x ,int y , int b , int h) 可以设置窗体横纵坐标及宽高
事件监听机制
ppt java08GUI -8 图


外部触发动作作用于
  ↓
事件源(组件)产生---->事件对象传递给---->监听器(事件处理方式)注册到---->事件源--->┒
  ┖<----------------------------------------<--------------------- -------------------------------------------<┚
动作(鼠标单击 双击 键盘输入)作用于事件源(按钮 文本框 等awt swing包中图形界面组件)
产生异常状况封装为对象  称为事件对象 不同的动作产生不同的事件对象 将触发事件的动作会被
监听器监听到 监听器根据不同动作用对应的处理方式处理事件
我们能做的就是对产生的事件进行处理


事件 监听 有关的接口和事件
以+Listener 后缀的是监听器接口 EventListener 是所有事件监听器接口的超接口 监听接口方法在三个以上时有对应的适配器
   |--- ActionListener 实现此接口的类创建的对象可使用组件的 addActionListener 方法向该组件注册。
                               在发生操作事件时,调用该对象的 actionPerformed 方法。可以接收来自鼠标或键盘的动作产生的事件
   |--- MouseListener
               |--->mouseClicked(MouseEvent e) 监听鼠标单击(按下并释放)组件时产生事件
               |--->mouseEntered(MouseEvent e)监听鼠标进入组件时产生事件
               |---> mouseExited(MouseEvent e)监听鼠标离开组件产生事件
               |---> mousePressed(MouseEvent e)监听鼠标按在组件上时产生事件
               |---> mouseReleased(MouseEvent e)监听鼠标按在组件上释放时事产生事件
  |--- KeyListener 
              |---> keyPressed(KeyEvent e) 监听按下某个键时产生的事件。
              |---> keyReleased(KeyEvent e) 监听释放某个键时产生的事件。
              |--- > keyTyped(KeyEvent e)  监听键入某个键时产生的事件。

以+Event 后缀的是事件源类
   |--- ActionEvent  鼠标或键盘等动作使组件活动是产生事件
   |--- MouseEvent  鼠标触发的事件
   |--- KeyEvent 键盘触发的事件


以+Adapter 后缀的是用于接收事件对象的适配器 是实现了监听器但方法为空的抽象, 此类存在的目的是方便创建侦听器对象

WindowListener 接口
WindowEvent
WindowAdapter
addWindowListener(new WindowAdapter ()
{

 


});


窗体 addWindowListener(WindowListener w) 接收的是窗体动作事件
按钮 addActionListener(ActionListener a) 接收的是按钮动作事件


鼠标事件 键盘事件

 实例分析

import java.awt.*;
import java.awt.event.*;


public class FrameDemo
{
 //外部建立对象引用
 private Frame f;
 private Button but;
 private Button but1;
  //类实例创建就调用方法创建Frame对象, 初始化,事件加载 
  FrameDemo()
 {
  init();
 }
  public void init()
 {  
   //创建 Frame
   f = new Frame(" my Frame ");
   //Fame基本设置
   f.setBounds(300,200,500,800);
   f.setLayout(new FlowLayout());
   //添加组件
   but = new Button("Button1");
   but1 = new Button("Button2");
   f.add(but);
   f.add(but1);
   //加载窗体上的事件
   myEvent();
   //显示窗体
   f.setVisible(true);
 }

 private void myEvent()
 {
  //向窗体添加窗体事件监听器  并复写监听器方法(事件产生的动作)
  f.addWindowListener(new WindowAdapter()
  {//用匿名内部类来定义事件源
    public void windowClosing(WindowEvent e)
   { System.out.println("窗体关闭");
     System.exit(0);
   }
  });
 
  //向添加按钮组件活动事件监听器 并复写监听器方法(事件产生的动作)
  but.addActionListener(new ActionListener()
  {
   //按钮活动时发生事件
   public void actionPerformed(ActionEvent e)
   {
    System.out.println("按钮活动事件");
   }
  });
  //向按钮添加鼠标事件监听器  并复写监听器方法(事件产生的动作)
  but.addMouseListener(new MouseAdapter()
  { 
   private int count = 1;
   private int clickCount = 1;
   //鼠标进入组件时产生事件
   public void mouseEntered(MouseEvent e)
   {
    System.out.println("鼠标进入了该组件"+count++);
   }
   //鼠标单击是产生事件
   /*public void mouseClicked(MouseEvent e)
   {
    System.out.printl("鼠标单击动作"+clickCount++);
   }*/
   //鼠标双击时产生事件
   public void mouseClicked(MouseEvent e)
   {
    if(e.getClickCount()==2)
    System.out.println("鼠标双击动作"+clickCount++);
   }
  });

  //向But1组件添加键盘监听器 并复写监听器方法(事件产生的动作)
  but1.addKeyListener(new KeyAdapter()
  {
   public void keyPressed(KeyEvent e)
   {
             System.out.println(e.getKeyChar()+"------"+KeyEvent.getKeyText(e.getKeyCode()));

    if()
   }

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


}


继承关系
MenuComponent 接口
          ┣ MenuBar 菜单栏 可以添加 Menu 菜单
          ┗ MenuItem 菜单项
                    ┣ Menu 菜单 可以添加 Menu 或者 MenuItem 或者 CheckboxMenuItem
                    ┗ CheckboxMenuItem 菜单复选框
          
                                                         Menu
                                                            ↓↑
添加关系 Frame <--- MenuBar <---  Menu ← MenuItem
                                                             ↑
                                              CheckboxMenuItem


 

 

STM32驱动MG996R舵机的PWM控制与闭环原理 舵机是一种典型的模拟闭环伺服系统,其核心是通过电位器反馈实现角度位置的自动校正。工作原理基于负反馈控制:目标PWM脉宽决定期望角度,电位器输出实时反馈实际角度,控制电路计算偏差并驱动电机消除误差。该机制赋予舵机强带载能力与抗干扰性,是机器人、云台、智能执行器等场景的关键执行单元。在嵌入式开发中,STM32通过定时器生成标准20ms周期、0.5–2.5ms脉宽的PWM信号,需严格遵循电气规范,并解决PA15引脚SWJ复用冲突、定时器重映射及CCR精度计算等关键问题。本文深入解析MG996R舵机控制全流程,涵盖 阅读详情

相关推荐

DIKW模型实战:用Obsidian打造个人知识库的5个关键步骤

本文详细介绍了如何利用DIKW模型在Obsidian中构建高效个人知识库的5个关键步骤,从数据收集到智慧应用的全流程实践。通过标记系统、信息加工引擎和知识结晶方法,帮助知识工作者实现从原始数据到决策智慧的认知跃迁,提升个人知识管理效率。

gamma的博客 577

窗体的几种默认布局

窗体的默认布局为 BorderLayout。 Panel 是最简单的容器类。应用程序可以将其他组件放在面板提供的空间内,这些组件包括其他面板。 面板的默认布局管理器是 FlowLayout 布局管理器。 Panel和Applet的默认布局管理器是FlowLayou

guanghuilove的专栏 3622

sap 新增科目表_SAP系统中四大科目表的总结

操作科目表定义-OB13 2国家科目表定义-OB13 3集团科目表定义-OB13 4合并科目表(ECCS)定义-CX10 4分配操作科目表到公司代码-OB62 5分配国家科目表到公司代码-OB62 6分配集团科目表到操作科目表-OB13 6分配集团科目表到合并科目表-CXNF 7Operation 8定义集团科目表的科目-FSP0 8定义国家科目表的科目-FSP0 8定义操作科目表的科目-FSP0...

weixin_39585463的博客 1721

JAVA GUI (总结)

JAVA GUI 1.编写一个Java程序,该程序运行的运行结果如下所示。 代码: import java.awt.*; import java.awt.event.*; public class TestFlowLayout { public static void main(String args[]) { Frame f = new Frame("Flow Layout"); ...

A_dmin的博客 2万+

ST-Link使用教程

关于使用ST-Link烧录.hex文件教程。以及报错解决!适合刷ARM,使用STM32的教程!

qq_42977675的博客 1万+

EDA环境下的LSF进阶调优:如何为Cadence/VCS等工具正确配置cgroups与daemon starter

本文深入探讨了在EDA环境中如何为Cadence/VCS等工具正确配置LSF的cgroups与daemon starter,解决资源分配与特殊应用兼容性问题。通过详细解析cgroups技术、daemon starter配置及混合资源管理策略,帮助提升LSF集群的效率和稳定性,特别适用于高性能计算和芯片设计场景。

weixin_33724046的博客 461

JAVA与GUI

—— 有些东西永远比其他东西重要,自己去区分;有些概念永远值得花时间反复理解,自己去体会。   最近在维护公司的老项目,居然还在用Java Swing做客户端工具,如下图:   从第二张图片的版本号可以看出来,这个老家伙是2014年的产物,而且很可能之后一直没有更新过。但是没办法,老项目需要人维护,只有硬着头皮去学Java Swing。   因为Swing本来就是个早已经

Jeff 的专栏 4571

C语言试题四之计算并输出3到n之间所有素数的平方根之和

1、题目 请编写函数function,它的功能是:计算并输出3到n之间所有素数的平方根之和 例子:若我们main函数从键盘给n输入5之后,我们需要输出结果为3.968119 输入值n的要求:正整数n, 要求小于100。 2、部分函数说明 C 库函数 double sqrt(double x) 返回 x 的平方根 3、源代码实现 #include <stdio.h> #...

码莎拉蒂 7232

Java GUI编程

本文详细介绍了Java GUI编程的基础知识,包括Swing和AWT框架、事件处理以及高级GUI组件的使用。通过示例代码和表格总结,帮助读者更好地理解和应用Java中的GUI编程,提高应用程序的用户交互体验。

weidl001的博客 1684

Android Framework WMS面试题及参考答案

什么是 WindowManagerService(WMS)?它的作用是什么? WindowManagerService(WMS)是 Android 系统中非常重要的一个系统服务。它运行在系统进程(system_server 进程)中。 从本质上来说,WMS 是 Android 窗口管理系统的核心。它负责管理系统中的所有窗口,包括应用程序窗口、系统窗口(如状态栏、导航栏)等。 它的主要作用有很多。首先是窗口的创建和销毁。当一个应用请求创建一个窗口时,WMS 会协调各个模块完成窗口的创建工

大模型大数据攻城狮的专栏 2163

基于Simulink的自适应反步法(Adaptive Backstepping)控制​

本文针对非线性系统控制中未知参数和强非线性耦合的挑战,提出基于Simulink的自适应反步法解决方案。通过融合参数在线估计与反步递归设计,该方法显著提升了永磁同步电机(PMSM)速度控制的鲁棒性,使跟踪误差从20%降至3%,参数估计收敛时间小于0.5秒。文章详细阐述了从算法推导到Simulink实现的完整流程,包括系统架构设计、核心算法推导(以PMSM为例)、模块化建模方法、参数优化策略以及工程部署建议。提供的自适应控制器MATLAB代码和关键参数表可直接应用于实际工程,为电机驱动、机械臂等非线性系统控制提

xiaoheshang_123的博客 101

gui java_Java进阶08 GUI

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!GUI(Graphical User Interface)提供了图形化的界面,允许用户以图形的方式与系统进行互动。在GUI推广之前,用户通常要以文本命令的方式来控制计算机。GUI直观的将计算机的功能呈现给用户,降低了用户使用计算机的门槛。苹果和微软是GUI方面的先驱(虽然他们都一定程...

weixin_34421376的博客 230

MATLAB - Gazebo 联合仿真 —— 使用 UR10 机械臂检测和采摘水果

本示例演示如何在 Gazebo 物理模拟器中设置 Universal Robotics UR10 机械臂和仿真环境。您需要配置一个机器人从树上摘苹果的仿真环境。本示例演示如何利用这些工具箱,使用 Universal Robotics UR10 机械手模拟机器人检测并从树上摘取苹果。Robotics System Toolbox™ - 在 Simulink® 和 Gazebo 中对机械手进行建模、规划和模拟。Navigation Toolbox™ - 生成三维环境的占用图。

机器人控制与仿真应用 4182

java gui是什么_Java GUI编程(一)

********************第16章 GUI编程 **************************一.什么是GUIGUI= Graphical User Interface 图形用户接口 图形用户界面GUI是用java来编写带界面的应用程序两套技术1. AWT(Abstract Window Toolkit)抽象窗口工具集图形界面不是java本身实现的,其实是依赖于操作系统的底层函...

weixin_42407617的博客 6506

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Java中的GUI概述

其实,事实上,Java中的GUI并不算是学习的重点,任何培训机构都不会花时间去讲GUI的东西。因为一般来说进公司之后,很少回去做一些 B/S 架构的东西,都是与 JavaWeb 有关的 C/S 架构的工程。但是,既然学习了Java,还是要懂得这方面的知识,至少技多不压身。所以,今天就来谈谈这两天学到的东西。 GUI 概述:     GUI     Graphical User I

大新哥Michael的专栏 1332

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【Java GUI 编程】初始 GUI 编程

文章目录初始 GUI1、GUI 简介2、AWT 初始 GUI 1、这是什么? 2、它该怎么玩? 3、该如何运用? 需要掌握以下组件 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标 键盘 外挂 破解 … 1、GUI 简介 GUI(图像用户界面编程), 核心技术:Swing ,AWT 但是快被淘汰了,因为界面不美观,且需要 jre环境 但是我们为什么要学习? 可以写出自己心中的小工具 工作时候,也可能需要维护到 swing 界面 了

身在边城 心在编程 522

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java gui 开发工具_用什么工具进行java GUI的开发?

这个就非常多啦,有现成的插件,也有IDE环境,下面我简单介绍一下:WindowBuilder这是一个非常不错的Java GUI开发插件,支持Swing, AWT,SWT等众多组件,安装完成后,可以直接拖拽组件设计GUI界面,下面我简单介绍一下这个插件的安装和使用,以Eclipse为例:1.首先,复制WindowBuilder仓库源地址,这个直接到官网上复制就行,如下,选择适合自己Eclipse版本...

weixin_42112658的博客 4045

Java GUI 框架如何选择?

AWT是 Java 最早的 GUI 框架,它直接调用本地操作系统的 GUI 功能。虽然 AWT 功能比较基础,但它仍然是所有 Java GUI 框架的基础。} });} }} });} }} });} }} });} }});适用场景:AWT 适合一些简单的、轻量级的应用场景,但它的组件比较原始,外观和功能有限。

四楼没电梯的专栏 2390

Java——GUI

Java GUI 编程是开发桌面应用程序的重要工具,AWT、Swing 和 JavaFX 分别适用于不同的场景。尽管现代开发更倾向于 Web 和移动应用,但 Java GUI 编程仍然是学习事件驱动编程和界面设计的重要基础。等工具包实现的,用于创建桌面应用程序的图形界面。Java 中的 GUI(图形用户界面)编程是通过。

2301_80215285的博客 1141

Java语言的GUI历史

 第1章  Java语言的GUI历史对于图形化操作系统来说,GUI(Graphical User Interface,图形用户接口)是最重要的组成部分。GUI是一组计算机接口,在传统的操作系统 MS-DOS 文字模式下,屏幕上显示的是单调的文字接口,使用者必须通过键盘输入指令才能操作计算机。GUI 的操作环境以图形、图标及窗口方式显示,用户可以通过一个焦点选择工具,如用鼠标来进行操作。GU

Serendipper2008的专栏 1579

java开发gui_开发Java GUI

java开发客户端gui GUI stands for Graphical User Interface, a term used not only in Java but in all programming languages that support the development of GUIs. A program's graphical user interface presents ...

cumao2792的博客 742

java的gui是什么_Java GUI简介

Java有2个GUI库:AWT、Swing。AWT是SUN最早提供的GUI库,依赖本地平台,界面不好看,功能有限。之后推出了Swing,Swing并没有完全替代AWT,而是建立在AWT基础上的。Swing库完全采用Java编写。现在AWT组件很少使用了,一般都是用Swing的组件来编写用户界面,我们主要讲Swing的组件。Swing组件一般是在对应的AWT组件之前加一个J。Component,组件...

weixin_39665507的博客 1117

Java GUI学习

Java GUI学习 时间:2020年7月20日 第一阶段 任务一 jdk和IDE的安装 任务实施 一、下载jdk 官网下载jdk11.0.7 二、下载IDE 因为要进行Java GUI学习,所以使用Apache NetBeans IDE 11.3来进行开发 三、安装并配置jdk 1.安装jdk,一直下一步就行。 2.在系统变量中新建一个变量,名字Java_Home,值是jdk的安装路径 3.检验是否配置成功,打开cmd命令,输入java、javac、java -version。 ...

qq_43593520的博客 615

java gui 结构_java GUI编程

一.词汇理解二.图三.部分组件JTextField 单行文本框JTextArea 多行文本域JLabel 标签JComboBox 下拉列表JCheckBox 复选JRadioButton 单选JButton 按钮四.java.Awt包1.Awt包是java内置的包,其中包括以下内容:①便于用户输入的一组丰富的界面组件;②将组件放置在适当位置的几种布局管理器;③事件处理模型;④图形和图像工具等等。要...

weixin_35600779的博客 421

java gui 结构_Java GUIの必备知识3:GUI组件在哪?

本期专栏我们将用到Java源码。重申一遍!如果没有源码,请参见cv4463921。好,我们打开文件夹,应该是这样的:Java源码目录结构(我把它拷贝到了Desktop/src)GUI……GUI……没有!再仔细想想:GUI,就是布置一个窗口,里面有许多东西……那这样说,java.desktop包最像!进入java.desktop包:java.desktop目录结构首先我们来看java标准库部分(ja...

weixin_34014076的博客 274

[Java基础]GUI编程

每个区域只能添加一个组件,未添加组件的区域保持空白。布局管理器(Layout Manager)它们可以决定组件在容器中的布局方式,避免了手动设置每个组件的位置和大小,从而简化了GUI设计过程。AWT(Abstract Window Toolkit ): 提供了一组原生的GUI组件,依赖于操作系统的本地窗口系统。FlowLayout 是最简单的布局管理器,它按水平方向从左到右排列组件,当一行排满时,自动换到下一行。Swing: 基于AWT,提供了更丰富的GUI组件,轻量级组件,不依赖于本地窗口系统。

. 1243
上一篇: java [基础常识]
下一篇: java [数组]-[数组工具类]
之武
博客等级 码龄14年 14粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值