importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;publicclasssystemextendsJFrame{ JDesktopPanedeskpane=newJDesktopPane();//在窗体里建立虚拟桌 JPanelp=newJPanel();//创建一个面板并实例化 publicsystem(){//构造函数 setTitle("订单管理系统");//设置窗体标题 Containercon=getContentPane(); con.setLayout(newBorderLayout());//创建一个布局 con.add(deskpane,BorderLayout.CENTER);//实例虚拟桌面的布局 Fontf=newFont("新宋体",Font.PLAIN,12); JMenuBarmb=newJMenuBar();//实例化菜单栏 mb.setOpaque(true); setJMenuBar(mb); mb.setOpaque(true); setJMenuBar(mb); JMenusystemM=newJMenu("系统管理"); systemM.setFont(f); mb.add(systemM); JMenuItemland=newJMenuItem("重新登陆"); land.setFont(f); JMenuItemexit=newJMenuItem("退出系统"); exit.setFont(f); systemM.add(land); systemM.add(exit); JMenuuserM=newJMenu("用户管理"); userM.setFont(f); mb.add(userM); JMenuItempassword=newJMenuItem("密码修改"); password.setFont(f); JMenuItemaddDelete=newJMenuItem("添加/删除用户"); addDelete.setFont(f); userM.add(password); userM.add(addDelete); JMenumesM=newJMenu("信息管理"); mesM.setFont(f); mb.add(mesM); JMenuaddM=newJMenu("添加信息"); addM.setFont(f); JMenuviewM=newJMenu("查看信息"); viewM.setFont(f); JMenumodifM=newJMenu("修改信息"); modifM.setFont(f); JMenudeleteM=newJMenu("删除信息"); deleteM.setFont(f); mesM.add(addM); mesM.add(viewM); mesM.add(modifM); mesM.add(deleteM); JMenuItemaddgoods=newJMenuItem("添加商品信息"); addgoods.setFont(f); addM.add(addgoods); JMenuItemaddclient=newJMenuItem("添加客户信息"); addclient.setFont(f); addM.add(addclient); JMenuItemviewgoods=newJMenuItem("查看商品信息"); viewgoods.setFont(f); viewM.add(viewgoods); JMenuItemviewclient=newJMenuItem("查看客户信息"); viewclient.setFont(f); viewM.add(viewclient); JMenuItemmodifgoods=newJMenuItem("修改商品信息"); modifgoods.setFont(f); modifM.add(modifgoods); JMenuItemmodifclie
2024/9/13 6:09:25 163KB 需求分析 代码 数据源
1
在电子(Electron)+Vue项目中实现打印小票功能,主要涉及到Electron的API使用和Vue组件的配合。
以下是对实现这一功能的详细解释:1.**需求分析**:-公司项目中可能需要通过Electron应用程序调用用户的系统打印机,以便能够无声无息地打印出小票,即所谓的“静默打印”。
2.**技术选型**:-在Electron中,有两种主要的打印方法:-第一种方法是通过`window.webContents`对象,这需要创建一个新的打印窗口,即使可以将其隐藏,但通信和调用过程相对复杂。
-第二种方法是利用`webview`元素进行打印,它可以被隐藏在调用页面中,通信过程更为简单。
本文采用的就是这种方法。
3.**实现步骤**:-**获取打印机列表**:-渲染线程(通常是Vue组件,如`print.vue`)通过`ipcRenderer`发送`getPrinterList`事件到主线程。
-主线程中的`electron.ipcMain`监听这个事件,调用`window.webContents.getPrinters()`获取打印机列表,并将结果通过`webContents.send`回传给渲染线程。
-**构建小票排版**:-重点在于使用``标签,它可以理解为一个内嵌的浏览器,用于显示待打印的内容。
-创建一个`print.html`文件,将小票内容在这个HTML文件中展示出来。
如果内容是通过canvas绘制的,可以将canvas转换为base64编码的图片,然后在``中显示。
-使用`@page`CSS规则设置打印样式,例如设置小票的边距等,确保打印效果符合需求。
4.**实际代码示例**:-在`print.vue`组件中,可以有以下代码片段来处理打印机列表和触发打印:```javascript```-在`print.html`文件中,可能包含如下代码以展示打印内容:```html-_-将base64图片插入此处-_-```5.**调用打印**:-一旦``准备好显示内容,可以通过`webview`对象的`print`方法调用打印。
这通常在Vue组件的方法中触发,比如`printTicket`方法。
-例如:```javascriptfunctionprintTicket(){constwebview=document.querySelector('webview');webview.print({silent:true,printBackground:true,deviceName:this.selectedPrinter});}```以上就是使用Electron+Vue实现打印小票功能的主要步骤和技术细节。
这个过程中,关键在于利用Electron提供的`ipcMain`和`ipcRenderer`进行主线程与渲染线程之间的通信,以及``标签实现内容的显示和打印。
通过这些技术,可以创建一个用户友好的桌面应用,无缝集成打印功能,满足业务需求。
2024/9/5 16:49:39 59KB electron electron vue
1
###安装说明1、导入db文件夹中的数据到Bmob,导入方法是手工建表,然后选择导入cvs,,**注意**:对于Pointer类型的字段要通过手工建立,Bmob目前暂不支持Pointer字段导入,对于其他类型字段在导出时参照下方类型手工更正,否则默认导入类型为String。
关于Bmob的入门使用,请参见:[http://blog.it577.net/archives/32/](http://blog.it577.net/archives/32/)2、修改小程序源码文件/utils/init.js中的BmobAppid信息3、Bmob后台修改小程序Appid与支付信息,具体操作图解,请参见:[http://blog.it577.net/archives/103/](http://blog.it577.net/archives/103/)###设置管理员在Bmob后台,找到_User表,将自己的用户的isAdmin字段设定为true。
###买家下单流程1、店铺首页兼商品列表2、购物车3、收货地址列表与编辑4、订单列表与详情5、支付###前端特技1、购物车动画2、地址选择器,集成腾讯地图sdk
2024/9/2 20:56:04 967KB 外卖小程序 源码 带后台
1
JADX最新版本,支持中文,2019年8月31日编译,JVM内存已经修改为8G,运行请点击bin目录下的jadx-gui.bat。
如需修改内存,请修改-Xmx8g字段。
@remAdddefaultJVMoptionshere.YoucanalsouseJAVA_OPTSandJADX_GUI_OPTStopassJVMoptionstothisscript.setDEFAULT_JVM_OPTS="-Xms128M""-Xmx8g""-Dawt.useSystemAAFontSettings=lcd""-Dswing.aatext=true""-XX:+UseG1GC"
2024/8/30 10:57:15 14.14MB JADX Android JEB
1
REST打字稿服务这是一个用于打字稿的轻量级基于注释的扩展。
它可以用于使用装饰器定义API。
目录安装该库仅适用于打字稿。
确保已安装:npminstalltypescript-g要安装typescript-rest:npminstalltypescript-rest--save组态Typescript-rest需要在tsconfig.json文件中使用以下TypeScript编译选项:{"compilerOptions":{"experimentalDecorators":true,"emitDecoratorMetadata":true,"target":"es6"//oranythingnewerlikeesnext}}基本用法import*asexpressfrom"express";import{Server,Path,GET,PathParam}from"typescript-rest";@Path("/h
2024/8/30 8:23:25 143KB api typescript rest microservice
1
井字游戏中的位置目标定义一个方法来更新作为参数传递给它的数组。
定义一种以if/else语句形式使用控制流来操纵数组的方法。
概述我们已经有显示游戏板的方法(映射到数组的索引),以及要求用户输入并相应地填写游戏板上位置的方法。
但是,在我们的程序可以填写董事会职位之前,我们需要确认该职位尚未填写“X”或“O”在本实验中,我们将添加#position_taken?井字游戏的方法。
该方法将负责根据井字棋盘评估用户的输入,并检查该位置是否被占用。
例如,如果用户输入他们想要填写位置"2",我们将采用字符串"2"并将其转换为板索引1。
然后将索引传递给我们的#position_taken?并检查该职位是否空缺,或者是否包含“X”或“O”。
如果职位空缺,则该方法应返回false(即“未采取”);
否则,该方法应返回false。
否则将返回true。
基本上,我们有
2024/8/28 12:20:54 6KB Ruby
1
/***初始化SDK*/privatestaticvoidinitSDK(Stringappid,Stringappkey){ProxySelectordefaultProxySelector=ProxySelector.getDefault();Proxyproxy=null;ListproxyList=null;try{proxyList=defaultProxySelector.select(newURI("http://www.google.it"));}catch(URISyntaxExceptione){e.printStackTrace();}if(proxyList!=null&&proxyList.size()>0){proxy=proxyList.get(0);Log.d(TAG,"CurrentProxyConfiguration:"+proxy.toString());}AppInfoappInfo=newAppInfo();appInfo.setAppId(appid);//应用IDappInfo.setAppKey(appkey);//应用KeyappInfo.setCtx(ctx);/**VersionCheckLevelNormal版本检查失败可以继续进行游戏VersionCheckLevelStrict*版本检查失败则不能进入游戏默认取值为VersionCheckLevelStrict*/appInfo.setVersionCheckStatus(AppInfo.VERSION_CHECK_LEVEL_STRICT);//初始化SDKCommplatform.getInstance().Init(0,appInfo,newCallbackListener(){@Overridepublicvoidcallback(finalintparamInt,IntegerparamT){ctx.runOnUiThread(newRunnable(){@Overridepublicvoidrun(){Log.i(TAG,"InitparamInt="+paramInt);//ok.setEnabled(true);LogUtil.send("初始化:"+paramInt);}});}});}/***用户登录**/publicstaticvoidloginEx(Contextcontext){Bundlebundle=newBundle();bundle.putString("nounce",UUID.randomUUID().toString().replace("-",""));Commplatform.getInstance().LoginEx(context,bundle,newCallbackListener(){@Overridepublicvoidcallback(intresultCode,Bundlebundle){if(resultCode==ErrorCode.COM_PLATFORM_SUCCESS){//完成参数验签//处理登录成功逻辑//HomeActivity.show(ctx);//Stringuin=bundle.getString("uin");LogUtil.send("登录成功:");//Stringuin=bundle.get("nounce").toString();Stringuin=Commplatform.getInstance().getLoginUin();LogUtil.send("登录成功uin:"+uin);UnityPlayer
2024/8/25 11:15:30 920KB eclipse unity
1
该控件继承QWidget,实现了左右上下四种形式的坐标轴控件。
可以设置固定间隔或自动选择间隔可以设置最小间隔开放一个槽来动态调整坐标轴的范围处理了边缘刻度的显示/*************************************************************************版权所有(C)2012-2015,liang1057@yahoo.com.cn类声明:坐标轴控件************************************************************************//**@brief坐标轴控件**@details坐标轴控件只有刻度和数字,数字可以隐藏(用来显示其他需要显示的刻度值)*/classuiAxis:publicQWidget{Q_OBJECTpublic:/**@brief坐标轴类型**@details坐标轴类型*/enumAXISTYPE{LEFT_AXIS=0,TOP_AXIS,RIGHT_AXIS,BOTTOM_AXIS};/**@brief构造函数*/uiAxis(AXISTYPEtype=BOTTOM_AXIS,QWidget*parent=0);/**@brief析构函数*/~uiAxis(void);/**@brief设置坐标轴的范围*/voidsetScop(doubleminValue,doublemaxValue);/**@brief获取坐标轴的范围*/voidgetScop(double&minValue,double&maxValue);/**@brief获取坐标轴的范围*/doublegetMinValue();doublegetMaxValue();/**@brief设置坐标轴的类型*/voidsetAxisType(AXISTYPEtype);/**@brief坐标轴的类型*/AXISTYPEgetAxisType();/**@brief设置最小刻度(小刻度的最小间隔)*/voidsetMinInterval(doublevalue);/**@brief设置自动间隔*/voidsetAutoScale(boolval=true);/**@brief设置固定间隔*/voidsetSettedScale(boolval=true);/**@brief设置坐标轴的绘制范围,像素值*/voidsetBoundary(intleft,intright,inttop,intbottom);voidgetBoundary(int&left,int&right,int&top,int&bottom);
2024/8/15 19:23:02 4KB Qt 坐标轴
1
在Kafka中,Producer默认不是幂等性的,但我们可以创建幂等性Producer。
它其实是0.11.0.0版本引入的新功能。
在此之前,Kafka向分区发送数据时,可能会出现同一条消息被发送了多次,导致消息重复的情况。
在0.11之后,指定Producer幂等性的方法很简单,仅需要设置一个参数即可,即props.put(“enable.idempotence”,ture),或props.put(ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG,true)。
2024/8/13 8:53:32 106KB kafka
1
lombok(1.16.18版本)最新包,1、下载Lombok.jar2、双击运行Lombok.jar数秒后将弹出一框,以确认eclipse的安装路径3、确认完eclipse的安装路径后,点击install/update按钮,即可安装完成4、安装完成之后,请确认eclipse安装路径下是否多了一个lombok.jar包,并且其配置文件eclipse.ini中是否添加了如下内容:-javaagent:lombok.jar-Xbootclasspath/a:lombok.jar如果上面的答案均为true,那么恭喜你已经安装成功,否则将缺少的部分添加到相应的位置即可5、重启eclipse或myeclipse
2024/8/13 6:53:18 1.24MB lombok
1
共 129 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡