java图形组件大全

TexGen模型导出到ABAQUS的inp文件:如何快速修改纱线材料属性(避坑指南) 本文针对TexGen模型导出到ABAQUS的inp文件后纱线材料属性缺失或错误的问题,提供了高效的解决方案。文章详细解析了inp文件结构,指导用户如何手动定位并修改纱线材料属性,并提供了可批量处理的Python脚本,帮助用户快速、精准地完成材料参数赋值,有效提升复合材料仿真工作效率。 阅读详情
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.table.*;
public class SwingTest extends JFrame
{
    /**
     * 主模块,初始化所有子模块,并设置主框架的相关属性
     */
    public SwingTest()
    {
        // 初始化所有模块
        MenuTest menuTest = new MenuTest();
        LeftPanel leftPanel = new LeftPanel();
        RightPanel rightPanel = new RightPanel();
        BottomPanel bottomPanel = new BottomPanel();
        CenterPanel centerPanel = new CenterPanel();
        
        // 设置主框架的布局
        Container c = this.getContentPane();
        // c.setLayout(new BorderLayout())
        this.setJMenuBar(menuTest);
        
        c.add(leftPanel,BorderLayout.WEST);
        c.add(rightPanel,BorderLayout.EAST);
        c.add(centerPanel,BorderLayout.CENTER);
        c.add(bottomPanel,BorderLayout.SOUTH);
        
        // 利用无名内隐类,增加窗口事件
        this.addWindowListener(new WindowAdapter()
            {
                public void WindowClosing(WindowEvent e)
                {   
                    // 释放资源,退出程序
                    dispose();
                    System.exit(0);
                }
            });
            
        
        
        setSize(700,500);
        setTitle("Swing 组件大全简体版");
        // 隐藏frame的标题栏,此功暂时关闭,以方便使用window事件
        // setUndecorated(true);
        setLocation(200,150);
        show();        
    }

    ////////////////////////////////////////////////////////////////////////////
    /**
     * 菜单栏处理模块
     * JMenuBar --+
     *            --JMenu--+
     *                       --JMenuItem  --ActionListener 
     *              
     */
    class MenuTest extends JMenuBar
    {
        private JDialog aboutDialog;
            
        /**
         * 菜单初始化操作
         */    
        public MenuTest()
        {
            JMenu fileMenu = new JMenu("文件");
            JMenuItem exitMenuItem = new JMenuItem("退出",KeyEvent.VK_E);
            JMenuItem aboutMenuItem = new JMenuItem("关于...",KeyEvent.VK_A);            
                                                
            fileMenu.add(exitMenuItem);
            fileMenu.add(aboutMenuItem);
            
            this.add(fileMenu);        
            
                    
            aboutDialog = new JDialog();
            initAboutDialog();
                        
            // 菜单事件
            exitMenuItem.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    dispose();
                    System.exit(0);
                }
            });
            
            aboutMenuItem.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    // "关于"对话框的处理
                    aboutDialog.show();
                }
            });            
                        
        }
        
        /**
         * 返回关于对话框
         */
        public JDialog getAboutDialog()
        {
            return aboutDialog;
        }
        
        /**
         * 设置"关于"对话框的外观及响应事件,操作和JFrame一样都是在内容
         * 框架上进行的
         */
        public void initAboutDialog()
        {
            aboutDialog.setTitle("关于");
            
            Container con =aboutDialog.getContentPane();
             
            // Swing 中使用html语句
            Icon icon = new ImageIcon("smile.gif");
            JLabel aboutLabel = new JLabel("<html><b><font size=5>"+
            "<center>Swing 组件大全简体版!"+"<br>天翼.李",icon,JLabel.CENTER);
                        
            //JLabel aboutLabel = new JLabel("Swing 组件大全简体版!",icon,JLabel.CENTER);
            con.add(aboutLabel,BorderLayout.CENTER);
            
            aboutDialog.setSize(450,225);
            aboutDialog.setLocation(300,300);                        
            aboutDialog.addWindowListener(new WindowAdapter()
            {
                public void WindowClosing(WindowEvent e)
                {
                    dispose();
                }                    
            });            
        }
    }
    
    ////////////////////////////////////////////////////////////////////////////
    /**
     * 最左边模块,继承JPanel,初始化内容为JTree
     * JPanel--+
     *         --JTree
     */
    class LeftPanel extends JPanel
    {
        private int i = 0;
        public LeftPanel()
        {
            
            DefaultMutableTreeNode    root = new DefaultMutableTreeNode("Root");
            DefaultMutableTreeNode child = new DefaultMutableTreeNode("Child");
            DefaultMutableTreeNode select = new DefaultMutableTreeNode("select");
            
            DefaultMutableTreeNode child1 = new DefaultMutableTreeNode(""+i);
            
            root.add(child);        
            root.add(select);
            child.add(child1);    
            
            JTree tree = new JTree(root);
            tree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
            
            // 每个节点的行高
            tree.setRowHeight(20);            
            tree.addTreeSelectionListener(new TreeSelectionListener ()
            {
                public void valueChanged(TreeSelectionEvent e)
                {
                    // 内隐类不能直接引用外部类tree,1.外部变量可申明为final 2.新建外部类的对象
                    JTree tree =(JTree)e.getSource();
                    DefaultMutableTreeNode selectNode = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
                    i++;
                    selectNode.add(new DefaultMutableTreeNode(""+i));
                }
            });            
            
            tree.setPreferredSize(new Dimension(100,300));
        //    tree.setEnabled(true);
            JScrollPane scrollPane = new JScrollPane(tree);
            //scrollPane.setSize(100,350);
            this.add(scrollPane);
        }
    }
    
    ////////////////////////////////////////////////////////////////////////////
    /**
     * 最下面层模块,继承JPanel,初始化内容为进度条,并由定时器控制
     * JPanel--+
     *         --JProcessBar  --Timer
     */
    class BottomPanel extends JPanel
    {
        private JProgressBar pb;
        ////////////////////////////////////////
        //public class 
        //////////////////////////////
        public BottomPanel()
        {
            pb = new JProgressBar();
            pb.setPreferredSize(new Dimension(680,20));
            
            // 设置定时器,用来控制进度条的处理
            Timer time = new Timer(1,new ActionListener()
            { 
                int counter = 0;
                public void actionPerformed(ActionEvent e)
                {
                    counter++;
                    pb.setValue(counter);
                    Timer t = (Timer)e.getSource();
                    
                    // 如果进度条达到最大值重新开发计数
                    if (counter == pb.getMaximum())
                    {
                        t.stop();
                        counter =0;
                        t.start();
                    }                    
                }
            });
            time.start();
            
            pb.setStringPainted(true);
            pb.setMinimum(0);
            pb.setMaximum(1000);
            pb.setBackground(Color.white);
            pb.setForeground(Color.red);
                        
            this.add(pb);                
        }
        
        /**
         * 设置进度条的数据模型
         */
        public void setProcessBar(BoundedRangeModel rangeModel)
        {
            pb.setModel(rangeModel);
        }
    }
    
    ////////////////////////////////////////////////////////////////////////////
    /**
     * 最右边模块,继承JPanel,初始化各种按钮
     * JPanel--+
     *         --JButton  --JToggleButton -- JList -- JCombox --JCheckBox ....
     */
    class RightPanel extends JPanel
    {
        public RightPanel()
        {
            this.setLayout(new GridLayout(8,1));        
            
            
            // 初始化各种按钮
            JCheckBox checkBox = new JCheckBox("复选按钮");            
            JButton button = new JButton("打开文件");
            button.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    JFileChooser file = new JFileChooser();
                    int result = file.showOpenDialog(new JPanel());
                    if (result ==file.APPROVE_OPTION) 
                    {
                        String fileName = file.getSelectedFile().getName();                    
                        String dir = file.getCurrentDirectory().toString();
                          JOptionPane.showConfirmDialog(null,dir+"//"+fileName,"选择的文件",JOptionPane.YES_OPTION);
                     }
                }
            });
            ////////////////////////////////////////
            //public
            //////////////////////////////////////////
                    
            JToggleButton toggleButton = new JToggleButton("双态按钮");
            
            ButtonGroup    buttonGroup = new ButtonGroup();
            JRadioButton radioButton1 = new JRadioButton("单选按钮1",false);
            JRadioButton radioButton2 = new JRadioButton("单选按钮2",false);
            
            // 组合框的处理
            JComboBox comboBox = new JComboBox();
            comboBox.setToolTipText("点击下拉列表增加选项");
            comboBox.addActionListener(new ActionListener() 
            {
                public void actionPerformed(ActionEvent e)
                {
                    JComboBox comboBox =(JComboBox)e.getSource();
                    comboBox.addItem("程序员");
                    comboBox.addItem("分析员");
                }
            });
            
            // 列表框的处理
            DefaultListModel litem = new DefaultListModel();
            litem.addElement("香蕉");
            litem.addElement("水果");
            JList list = new JList(litem);
            
            
            list.addListSelectionListener(new ListSelectionListener ()
            {
                public void valueChanged(ListSelectionEvent e)
                {
                    JList l = (JList)e.getSource();
                    Object s= l.getSelectedValue();
                    JOptionPane.showMessageDialog(null,s,"消息框",JOptionPane.YES_OPTION);
                }
            });
            
            // 增加按钮组
            buttonGroup.add(radioButton1);
            buttonGroup.add(radioButton2);
            
            // 增加各种按钮到JPanel中显示
            add(button);
            add(toggleButton);
            add(checkBox);
            add(radioButton1);            
            add(radioButton2);
            add(comboBox);
            
            add(list);
            
            this.setBorder(new EtchedBorder(EtchedBorder.LOWERED,Color.LIGHT_GRAY,Color.blue));
        }        
    }
    
    ////////////////////////////////////////////////////////////////////////////
    /**
     * 中间层模块,继承JPanel,初始化页签,并在页签中设置文本区,表格,
     * 文本区上下用分隔条分隔
     * JPanel--+
     *         -JTabbedPane--+
     *                          --Draw    --JTable  -JTextAreas -JText --JPopupMenu
     */
    class CenterPanel extends JPanel
    {
        public CenterPanel()
        {
            JTabbedPane tab = new JTabbedPane(JTabbedPane.TOP);
            
            JTextField textField = new JTextField("文本域,点击打开<文件按钮>可选择文件");
            textField.setActionCommand("textField");
            
            JTextPane textPane = new JTextPane();
            textPane.setCursor(new Cursor(Cursor.TEXT_CURSOR));
            textPane.setText("编辑器,试着点击文本区,试着拉动分隔条。");
                        
            textPane.addMouseListener(new MouseAdapter () 
            {
                public void mousePressed (MouseEvent e)
                {
                    JTextPane textPane = (JTextPane)e.getSource();
                    textPane.setText("编辑器点击命令成功");
                //    textField.setText(""+textPane.getText());
                }
            });
            
            /*
            UpperCaseDocument doc = new Document(); 
            textField.setDocumentsetDocument(doc);
            doc.addDocumentListener(new DocumentListener()
            {
                public void changedUpdate(DocumentEvent e){}
                public void removeUpdate(DocumentEvent e){}
                public void insertUpdate(DocumentEvent e)
                {
                    Document text = (Document)e.getDocument();
                    text.setText("复制成功");
                }                
            });
            */
            
            JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,textField,textPane);
            
                
            JTable table = new JTable(10,10);
            //table.showHorizontalLines(true);
            //table.showVerticalLines(true);
            //table.gridColor(Color.blue);
            
            JPanel pane  = new JPanel();
            pane.add(table.getTableHeader(),BorderLayout.NORTH);
            pane.add(table);
                        
            tab.addTab("文本演示",splitPane);
            //tab.addTab(table.getTableHeader());
            tab.addTab("表格演示",pane);
            tab.setPreferredSize(new Dimension(500,600));
            this.add(tab);
            this.setEnabled(true);            
        }
    }
    
    
    public static void main(String args[])
    {
        // 设置主框架属性,此处没有使用,可打开看看效果
        //try
        //{
        //    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        //}
        //catch  (Exception e){}
        new SwingTest();                        
    }
} 
 
SAP 替代关系完全替代简介 这里产生了成品物料的计划订单,我们查看计划订单中BOM的变化,如下图可以看到物料的需求仍然落在了优先级为1的这个302300005555这个物料上面,并没有考虑到302300006666的这个库存,和我们理解的MRP的完全替代不一样,按我们的理解需求应该是要落在302300006666这个物料料,但是MRP计算后并没有这样进行分配。最近用户在对长周期物料进行备料的时候又提出替代料的问题,主料库存不足的时候需要考虑替代料的在途库存,经常会忘了SAP标准的替代料逻辑,这次一次性把这个逻辑写清楚。 阅读详情

相关推荐

VIL-SLAM论文翻译:Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping

文章目录写在前面摘要1.引言2.相关工作3.系统概述4.视觉前端5.双目视觉惯性里程计A. IMU预积分因子B. 非结构化视觉因子C. 优化和边缘化6. 激光建图A. LiDAR扫描去畸变B. 帧到地图配准7. LiDAR增强的闭环A. 回环检测B. 回环约束C. 全局位姿图优化D. 重定位8. 实验结果A.平台和软件B.测试和结果C. EuRoCMAV数据集测试9.结论 写在前面 写作参考: robot L 开源代码: 开源代码链接 论文原文: 原文链接 摘要 SLAM是移动和空中机器人的一项基本任务

JaydenQ的博客 2322

Swing测试简单表格(1)

public static void main(String[] args) { JFrame jf=new JFrame(); jf.setSize(400,300); jf.setLocationRelativeTo(null); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setTitle("测试表格"); JPanel panel=...

w7635122886的博客 171

ubuntu18.04 升级Ubuntu 20.04

Ubuntu 18.04升级20.04指南:首先备份重要数据,更新当前系统并检查新版本可用性(sudo do-release-upgrade -c)。确认升级后执行sudo do-release-upgrade,按提示完成操作。升级过程需耐心等待,完成后重启系统。注意:升级前务必备份数据,确保系统为最新版本,以降低风险。升级后即可使用Ubuntu 20.04系统。

https://ophome.blog.youkuaiyun.com,在IT行业有多年的工作经验,尤其是在Python、Linux、负载均衡、Nginx和服务器运维等领域。 1060

java-swing-基本组件

不乱于心,不困于情,不念过去,不惧将来

kuangpeng1956的博客 1万+

手把手教你用STM32实现三相永磁同步电机FOC控制(附代码)

本文详细介绍了基于STM32的三相永磁同步电机(PMSM)FOC控制实现方法,涵盖硬件设计、软件架构、参数调试及完整代码解析。通过磁场定向控制(FOC)算法,实现高效精准的电机控制,适用于工业自动化、电动汽车等领域。文章还提供了硬件选型建议、电流采样方案对比及PID参数整定技巧,助力开发者快速掌握FOC控制技术。

weixin_29168675的博客 96

5G物理层基础知识

1、关于RB和RE (1) RB(Resource Block,资源块)频率上连续12个子载波,时域上一个slot(时隙,14个ofdm符号) (2) RE(Resource Element,资源单元)频率上一个子载波,及时域上一个ofdm符号 注意:协议规定,5G每个时隙(非扩展CP)的符号数为14个(扩展CP情况下每个时隙有12个符号),而LTE(非扩展CP)每个时隙的符号数为7个。 简单说:一个12X14的方格,大的整个叫一个RB,每一个小块叫一个RE。另外,一个RE可存放一个调制符号(mo.

qq_39074243的博客 2万+

【Java实验4】图形用户界面,Swing包中常用的组件

MyFrame继承自JFrame类从而实现构建一个窗口的功能和特性。对于MyFrame 类,其包含的组建分别来自JButton和JTextArea两个类,从而在窗口中构建了一个可编辑的文本框和一个可输出结果的文本框,并完成两个可执行操作的按钮。布局采用 null 布局,所有组建均在构造函数中初始化并添加其位置和事件监听器。通过 clear方法执行清空操作,通过sort方法调用dictionary和getWords两个方法来共同完成对左边文本框中内容的处理。

qq_55930097的博客 912

手把手教你学PCIE(11.3)--pcie的认证和合规性测试

PCIe 设备的认证和合规性测试是确保设备正常工作和达到预期性能的关键步骤。通过使用 PCI-SIG 提供的测试工具和第三方测试工具,可以全面评估 PCIe 设备的物理层、链路层、事务层和互操作性,确保设备符合行业标准和规范。

MHD0815的博客 1360

Java业内主流框架你知道吗?SSH和SSM有什么区别?

大家好,我是威哥,今天我给大家分享Java的三大框架是什么。 在SpringBoot出现之前,我们常说的三大框架是 Spring、SpringMVC、Mybatis(SSM),而在SpringBoot出现之后,SpringBoot慢慢开始占据了主流地位,另外在SSM之前还有一个业内流行的SSH框架。 接下来威哥就给大家具体聊聊这些框架,在这篇文章中,威哥会涉及到如下几个问题: 一、什么是SSH? Struts、Spring和Hibernate ,简称SSH。 在10多年前,SSH绝对是业内最流

威哥爱编程,华为 HDE,鸿蒙极客、优快云博客专家、《鸿蒙 HarmonyOS 5/6 开发之路》系列图书第一作者 6150

STM32入门教程:WiFi通信

第四步:初始化串口 在生成的代码中,您可以找到一个名为 "USARTx_Init" 的函数,其中 "x" 是您选择的串口号。然后,我们使用 "AT+CIPSEND" 命令发送UDP数据,接收到服务器的回复,并在终端上显示收到的数据。在配置向导中,您可以选择启用USART串口功能,并根据您的硬件连接,将串口设置为与WiFi模块连接的串口。在上述代码中,我们使用了 "HAL_UART_Receive" 函数来接收串口数据,并使用 printf 来在终端上显示收到的数据。如果有任何问题,请随时向我提问。

2401_85258012的博客 1075

05 SAP CPI 访问第一个CPI接口

其中的clientid的值可作为Basic验证的用户名,clientsecret的值可作为Basic验证的密码。点击SEND按钮,可看见返回状态为200 OK。在04中,我们得到TOKEN令牌。POSTMAN向下滚动。点击按钮获取token。

SAP CPI 663

Android 图形组件简介

Android 图形组件简介 AOSP->开发->图形 添加链接描述

许浑的博客 2141

YoloV8改进策略:轻量级的CloFormer助力Yolov8在速度和精度上实现双双提升

CloFormer是清华大学在今年发表的轻量级主干网络,引入了AttnConv,一种attention风格的卷积算子。所提出的AttnConv使用共享权重来聚合局部信息,并配置精心设计的上下文感知权重来增强局部特征。AttnConv和普通attention的结合使用池化来减少CloFormer中的FLOPs,使模型能够感知高频和低频信息。这篇文章主要向大家讲解如何将CloFormer加入到YoloV8中。论文链接:https://arxiv.org/abs/2303.17803v5。

m0_47867638的博客 4312

Java图形组件JGraph 5.8 发布

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 388

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java开发简单的基于java Swing图形组件的计算器(四则运算)

练习: 使用 Java 语言完成了一个简单的图形界面计算器(使用Java Swing 图形组件)。此小项目练习能够让大家深入学习如何制作 Swing 图形化界面以及为 UI 组件设置事件响应逻辑。项目难度为一般,属于初级项目,适合具有Java基础和Swing组件编程知识的用户学习练习。 开发环境: window10系统 ideaIU-2018.1.4 JDK1.8...

qq_41813626的博客 4515

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

利用Java Swing图形组件和JDBC实现简易的ATM存取款机系统。

为了使用Java Swing图形组件和JDBC实现简易的ATM存取款机系统,你可以按照以下步骤进行开发。这个项目可以分为几个主要模块:用户界面设计、数据库交互和业务逻辑处理。

2301_78723800的博客 688

怀旧版电脑GBC模拟器

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

Unity组件大全之 UI 组件 |(14)Outline组件

在Unity的UI设计中,Outline组件是一个简单而有效的方式,用于增强UI元素的可视性和可读性。通过为文本、图像等图形组件添加轮廓,你可以使它们在复杂的背景中更加突出。本文将详细介绍Outline组件的使用方法和一些实用的技巧。

Unity打怪升级 2268

HT图形组件设计之道(三)

总结下本篇的两个观点: 1、再好的封装设计也需要使用者掌握基本的架构脉络,就像再好的车你也得学会开学会基本的保养,什么都不学的话,再好的框架也会像好车一样被你开坏 2、不要惧怕MV*的事件和引用关系,理清事件机制和对象引用关系后,你可以精确掌控任何时刻的任何内部细节,这点主要针对设计框架者而言,使用者应该大胆的拥抱MV*的框架,性能和各种潜在的内存问题放心的交给框架去解决

HT for Web 3D 3648

java 图形组件,Java:在动作侦听器中使用图形组件

I've made a JFrame with Diferent JButtons and i'd like to get an image from another class. Any ideas? Or how draw on the same class but on the action performed?Because it doesnt let me to do any drawi...

weixin_35398679的博客 135

Java图形组件 OpenSwing

OpenSwing是一个图形组件。它比Swing更成熟、更丰富,它还包一个框架为在组件与数据模型之间提供一套绑定机制,它适用于包括桌面应用程序和基于HTTP的Java应用程序。使用它让开发胖客户端桌面应用程序变得更快速、简便。 使用的第三方库◆ 自动生成XLS报告工具:HSSF◆ 自动生成PDF和RTF报告工具:iText◆ 服务器端登陆工:具Log4J◆ 日历控制工具:J...

weixin_30666943的博客 225

Java图形组件Swing小结

Java图形组件Swing小结  一、知识点小结         Swing是java中的图形组件,主要用来开发图形界面的。Swing组件有两类,一类是容器类,表示可以装载其他的组件;另一类是元素类表示不可以装载其他的组件。在javax.swing包下的容器组件有JFrame,JPanel和JMenuBar,其中窗体是最大的容器组件,即窗体上可以添加面板,但面板上不能添加窗体;同包下常用的...

lanwei 304

vc++图形编辑器_HT图形组件设计之道(二)

上一篇我们自定义CPU和内存的展示界面效果,这篇我们将继续采用HT完成一个新任务:实现一个能进行展开和合并切换动作的刀闸控件。对于电力SCADA和工业控制等领域的人机交互界面常需要预定义一堆的行业标准控件,以便用户能做可视化编辑器里,通过拖拽方式快速搭建具体电力网络或工控环境的场景,并设置好设备对应后台编号等参数信息,将拓扑图形与图元信息一并保存到后台,实际运行环境中将打开编辑好的网络拓扑图信息,...

weixin_39953740的博客 296

JAVA词汇大全

JAVA词汇大全 A B C D E F H I J L M O P R S T U V W      A   Abstract Window Toolkit(AWT)抽象窗口工具集    一个用本地图形组件实现的图形接口。这些组件提供了大部分的本地组件。这个接口正逐步被Swing组件所替代,参见Swing Set.   Abstract 抽象的   一个Java语言中的关键字,用在类...

幸运女神在微笑! 1388
上一篇: 关于RSS
下一篇: Java内存泄漏问题
baileyfu
博客等级 码龄21年 9粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值