CN103092596B - 低级界面开发自动实现界面反转的方法及装置 - Google Patents
低级界面开发自动实现界面反转的方法及装置 Download PDFInfo
- Publication number
- CN103092596B CN103092596B CN201110349726.2A CN201110349726A CN103092596B CN 103092596 B CN103092596 B CN 103092596B CN 201110349726 A CN201110349726 A CN 201110349726A CN 103092596 B CN103092596 B CN 103092596B
- Authority
- CN
- China
- Prior art keywords
- paintbrush
- interface
- page
- graphics
- need
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种低级界面开发自动实现界面反转的方法,其特征在于,包括以下步骤:1)建立绘图工作区域和工作环境;2)判断是否需要对界面的页面进行反转;3)如果需要进行页面反转,则调用第二绘图接口方法,所述第二绘图接口方法是采用替换画笔的绘图接口方法;4)接收输入指令并绘制页面。本发明通过对系统画笔的改造,实现不同阅读习惯功能的开发,提供了灵活快速的开发途径。
Description
技术领域
本发明涉及一种计算机软件开发技术,尤其是一种在低级界面开发中实现界面反转的方法。
背景技术
J2me(Java2MicroEdition)是一种主要针对消费类电子设备的开放平台,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。
在J2me低级界面开发的过程之中,面对软件的国际化,在设计软件的时候不得不考虑不同国家阅读习惯是不同的,虽然大多数国家人们的阅读习惯都是从左到右,但是在阿拉伯世界,他们的习惯都是从右到左。
因此,如何在一套软件之中,实现界面的反转功能,成为在设计软件的时候,所不得不考虑的一种因素。并且,在软件开发的时候,如果能用最少的代码,最高的效率来满足这些需求,对于开发人员是重中之中。
一般来说,在当前J2me低级界面开发的时候,首先创建画布,然后调用系统的画笔在画布上绘制各种图形要素和软件页面。目前,如果需要在一种软件之中同时支持两种阅读习惯,一般多是采用以下的两种方法:
第一,重新开发一套代码去实现界面反转功能,即在该种方法下,在每个页面绘制时,通过控制当前的画笔去实现图片、字符串等的位置计算与绘制,进而实现界面的反转效果。
第二,通过一套代码控制实现这两种阅读风格。在该种方法下,在每个页面绘制时,通过增加阅读风格的判断步骤,由此,来控制当前画笔,实现图片、字符串等位置计算与绘制,从而实现开发一套代码,可以生成两种界面风格的软件。
上述两种方法都存在着各自的缺点,具体来说:
第一,如果开发两套代码,工作量是相当大,而且代码不好维护,很难保证两个版本的统一。
第二,如果开发一套代码共同维护,代码冗余量大,在每一个页面绘制时都要考虑两种情况,开发效率低下,一旦开发人员不统一,很容易出现问题。
针对上述问题,本发明将提出一种实现界面反转的方法,在集成两种阅读习惯的同时,尽量保持原有的开发习惯,不仅能提高开发效率,代码维护也比较方便。
发明内容
本发明的目的是提供一种耗费代码少、容易维护的低级界面开发自动实现界面反转的方法,以解决现有技术中使用的方法开发效率低下的问题。
本发明的主要构思是:通过对系统画笔的改造,实现不同阅读习惯功能的开发,提供灵活快速的开发途径。
本发明的构思主要是基于下列工作原理:
目前,J2me的低级界面屏幕都继承自名为Canvas的屏幕类,而Canvas类提供了一系列键盘低级事件和绘图接口,具体的绘图操作则由一个名为Graphics的图形类来完成。其中,Canvas即画布,可以在其上绘制不同图案;Graphics即画笔。其中,Canvas提供了一个绘图接口方法paint(Graphicsg),凡是继承Canvas的继承类都必须实现paint()方法,因此可以在paint方法中实现屏幕的绘画代码。其中,所述paint(Graphicsg)方法会传入一个Graphics对象作为参数,可以把该对象当作是一个抽象的画笔,调用Graphics的方法,就可以在这个画布上绘图。如图1所示,是J2me低级界面的绘制坐标示意图。
由于现有的技术之中,都是将Graphics的图形类传递到具体页面上进行绘制操作,因此,在遇到同时支持从左到右的界面风格和从右到左的界面风格的时候,需要针对图形的具体坐标位置和绘制方向进行重复的坐标位置计算以及代码写入,这直接带来了很大的代码冗余和难以维护的问题。
因此,发明人提出了一种自动实现界面反转的方法,即事先将该图形类按照一定规则进行变换,并将其存储为用户自定义的TGraphics的图形类。这样的话,在具体进行页面绘制时,只要通过调用TGraphics去绘制页面即可,就可以实现输入相同的坐标关系,其在最终界面显示终端中显示的页面是对称的页面效果了。
根据本发明的一方面,提供了一种J2me低级界面开发实现界面反转的方法,包括下列步骤:
1)建立绘图工作区域和工作环境;
2)判断是否需要对界面的页面进行反转;
3)如果需要进行页面反转,则调用第二绘图接口方法,所述第二绘图接口方法是采用替换画笔的绘图接口方法;
4)接收输入指令并绘制页面;
其中,所述替换画笔是对系统画笔Graphics进行封装改造得到的用户自定义的TGraphics图形类。
其中,所述替换画笔和系统画笔中的参数存在特定的对应关系,具体的可以是绘制坐标和绘制方向存在特定的对应关系。这种对应关系可以是:对于画笔绘制坐标是X轴以屏幕水平垂直中心线做对称,Y轴不变;对于画笔绘制方向是左右方向相反、上下方向不变。
根据本发明的另一发面,还提供了一种用于J2me低级界面开发自动实现界面反转的装置包括:判断模块:用于判断是否需要对界面的页面进行反转;接口调用模块:用于当判断出需要进行页面反转时,调用第二绘图接口方法,所述第二绘图接口方法是采用替换画笔的绘图接口方法;画笔:用于接收输入指令并绘制页面;其中,所述替换画笔是对系统画笔Graphics进行封装改造得到的用户自定义的TGraphics图形类。
本发明弥补了在传统的J2me开发中,调用系统画笔实现从右到左阅读习惯功能的不足。通过对系统画笔的改造,实现不同阅读习惯功能的开发,提供了灵活快速的开发途径。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是J2me低级界面的绘制坐标示意图;
图2是本发明的J2me低级界面开发自动实现反转方法的一个实施例的流程图;
图3是现有的J2me低级界面开发正常绘制页面的方法示意图;
图4是本发明中自动实现界面反转的绘制方法示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
为了方便描述,在本发明中,以J2me低级界面开发为例,系统原有的Graphics图形类被称为系统画笔,直接调用系统画笔的接口方法Graphics.draw(绘图参数)被称为第一绘图接口方法。与此相对应地,采用用户自定义的函数对系统画笔进行封装改造后的图形类被称为替换画笔(TGraphics),调用替换画笔的接口方法TGraphics.draw(绘图参数)则称为第二绘图接口方法。
根据本发明的目的,J2me低级界面开发自动实现界面反转的方法主要包括下列步骤,如图2所示:1.建立用户自定义的TGraphics图形类;2.建立绘图工作区域和工作环境;3.判断是否需要对界面的页面进行反转;4.如果需要进行页面反转,则调用第二绘图接口方法,所述第二绘图接口方法是采用替换画笔的绘图接口方法;5.接收输入指令并绘制页面。其中,步骤1是一个预备步骤,在本发明的部分实施例中,只需要步骤2-5也可实现发明目的,因此图2中并不包括步骤1的内容。以下将以实现界面左右反转为例,对这些步骤展开详细的说明。
1.建立用户自定义的TGraphics图形类。
首先,我们对开发框架进行改造,即建立一个用户自定义的TGraphics图形类,并且,该图形类是对现有的系统Graphics图形类进行的封装改造,画笔绘制坐标以及方向有特定的对应关系。
其中,采用现有的系统Graphics图形类的绘图接口方法,我们将其定义为第一绘图接口方法;采用用户自定义的替换TGraphics图形类的绘图接口方法,我们将其定义为第二绘图接口方法。
其中,所述第一绘图接口方法和第二绘图接口方法中的每一个函数都是按照下列的转换关系形成的:
即在接收到相同的用户输入命令的时候,两者的最终页面效果是这样对应的:第一,坐标X轴以屏幕X轴的垂直中心线找对称点,Y轴不变;第二,绘制方向左右方向相反上下方向不变。
当然,为了实现其他的界面顺序,也可以是其他的对应关系。
在本实施例中,我们还是以左右顺序变右左顺序来进行描述:
举例来说,在采用第二绘图接口方法时,我们输入以下的指令k.drawImage(img,1,1,左上),这个时候,系统将识别上述命令并进行绘图缓存,其最终输入到用户终端的显示效果,相当于在使用第一绘图接口方法时,我们输入以下的指令(设定屏幕宽度为screenWidth):g.drawImage(img,screenWidth-1,1,右上)。
drawImage方法有四个参数:第一个参数表示图片,第二个参数表示起始绘制的x坐标,第三个参数表示起始绘制的y坐标,第四个参数表示绘制的方向。
即,两者坐标X轴以屏幕水平垂直中心线做对称,Y轴不变,并且,绘图的方向是左右方向相反,上下方向不变。其中,g和k分别表示该方法是引用的是第一图形函数库还是第二图形函数库。
在建立了上述的两个Graphics的图形类以后,在进行页面绘制时,我们就可以实现界面的自动反转了。
2.建立绘图工作区域和工作环境。
本步骤属于现有技术中,本发明对该步骤并未做出改进,因此就不再详述。
3.判断是否需要对界面的页面进行反转。
在进行Graphics的图形类和绘图方法调用前,先读取系统配置文件,获取版本信息,判断是否需要对界面进行反转。
如果需要进行页面反转,则进入步骤4。
如果不需要进行页面反转,则按照与现有技术一样的步骤,调用第一绘图接口方法。其中,第一绘图接口方法包括,调用系统Graphics的图形类;将操作者的输入指令直接交给系统图形类的识别标志g去执行。在现有技术中,正常绘制页面的方法如图3所示:框架刷屏即建立绘图工作区域和绘图环境,然后传递系统画笔,调用系统画笔绘制页面,最后展示正常页面。由于这部分内容不属于本发明的范围,因此不再详细描述。
4.如果需要进行页面反转,则调用第二绘图接口方法,所述第二绘图接口方法是采用替换画笔的绘图接口方法。
其中,所述第二绘图接口方法包括,调用替换TGraphics的图形类;将操作者的输入指令交给替换图形类的识别标志k去执行,k将操作指令处理后再将处理后的指令交给系统图形类的g去执行。在本发明中,J2me低级界面开发自动实现反转的过程如图4所示。它和图3所示的现有技术的区别在于,在调用系统画笔之前多了一个传递替换画笔TGraphics的步骤。替换图形类的识别标志k对操作指令的处理就是对系统画笔进行封装,重写原系统画笔的方法,将绘制的起始坐标修改为对称点,绘制方式同时改变,并调用系统画笔去绘制页面。
5.接收输入指令并绘制页面。
本步骤将最终页面输送到页面显示终端之中,现有技术中已经实现。
一般地,我们事前通过显示设备识别步骤,识别出当前的页面显示终端;此时,当图像页面绘制完成后或者完成部分页面部分后,我们再将放置在缓存内的图像输送到页面显示终端之中。
其中,如果调用的是第一绘图接口方法,则最终出现的图像是正常的代码所应该得出的图像;如果调用的是第二绘图接口方法,则最终出现的图像是经过反转以后的页面图像。
至此,我们仅仅通过替换一个图形类文件,便可以使页面开发人员在绘制页面的时候,不需要考虑到界面是否需要反转的问题,只需要按照正常的绘制方法,输入命令和各种数值,就可以和普通的绘图方法一样绘制页面。
而最终页面绘制的效果,则会依托于调用的具体的图形类(g或者k)和绘图接口方法(第一绘图接口方法或第二绘图接口方法),在最终的显示终端中显示出不同的显示风格。
因此,采用该种方法进行界面开发的话,只需要事前针对具体的图形类进行改造,而不需要添加任何代码或者采取冗余的代码进行专门转换,就可以达到在界面开发的时候,界面自动实现反转的技术效果;该方法具有较好的效果。
为了更好地实现本发明,还提供了一种用于J2me低级界面开发自动实现界面反转的,包括:判断模块:用于判断是否需要对界面的页面进行反转;接口调用模块:用于当判断出需要进行页面反转时,调用第二绘图接口方法,所述第二绘图接口方法是采用替换画笔的绘图接口方法;画笔:用于接收输入指令并绘制页面;其中,所述替换画笔是对系统画笔Graphics进行封装改造得到的用户自定义的TGraphics图形类;自定义模块:用于建立用户自定义的TGraphics图形类。其中,所述替换画笔和系统画笔中的参数存在特定的对应关系。在本发明的部分实施例中,所述替换画笔和系统画笔的绘制坐标和绘制方向存在特定的对应关系,即:对于画笔绘制坐标是X轴以屏幕水平垂直中心线做对称,Y轴不变;对于画笔绘制方向是左右方向相反、上下方向不变。
以上以实现界面左右反转为例对本发明的技术内容做出了详细说明。本领域技术人员依照该部分实施例的描述,可以对具体参数的设置做出改变,例如在用户自定义的图形类中将画笔参数的修改定义为Y轴以屏幕垂直中心线找对称、X轴不变,且绘制方向上下相反左右不变,即可实现界面上下反转。本领域技术人员应能理解,根据本发明的详细描述,还可以对本发明进行各种变形以实现其他方式的界面反转,都属于本发明的范围。
Claims (8)
1.一种低级界面开发自动实现界面反转的方法,其特征在于,包括以下步骤:
1)建立绘图工作区域和工作环境;
2)判断是否需要对界面的页面进行反转;
3)如果需要进行页面反转,则调用第二绘图接口方法,所述第二绘图接口方法是采用替换画笔的绘图接口方法;
4)接收输入指令并绘制页面;
其中,所述替换画笔是对系统画笔Graphics进行封装改造得到的用户自定义的TGraphics图形类;
所述替换画笔和系统画笔中的参数存在特定的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述替换画笔和系统画笔的绘制坐标和绘制方向存在特定的对应关系。
3.根据权利要求2所述的方法,其特征在于,所述特定的对应关系是:对于画笔绘制坐标是X轴以屏幕水平垂直中心线做对称,Y轴不变;对于画笔绘制方向是左右方向相反、上下方向不变。
4.根据权利要求1所述的方法,其特征在于,在步骤1)之前还包括建立用户自定义的TGraphics图形类的步骤。
5.一种用于低级界面开发自动实现界面反转的装置,其特征在于,包括:
判断模块:用于判断是否需要对界面的页面进行反转;
接口调用模块:用于当判断出需要进行页面反转时,调用第二绘图接口方法,所述第二绘图接口方法是采用替换画笔的绘图接口方法;
画笔:用于接收输入指令并绘制页面;
其中,所述替换画笔是对系统画笔Graphics进行封装改造得到的用户自定义的TGraphics图形类;
所述替换画笔和系统画笔中的参数存在特定的对应关系。
6.根据权利要求5所述的装置,其特征在于,所述替换画笔和系统画笔的绘制坐标和绘制方向存在特定的对应关系。
7.根据权利要求5所述的装置,其特征在于,所述特定的对应关系是:对于画笔绘制坐标是X轴以屏幕水平垂直中心线做对称,Y轴不变;对于画笔绘制方向是左右方向相反、上下方向不变。
8.根据权利要求5所述的装置,其特征在于,还包括用于建立用户自定义的TGraphics图形类的自定义模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110349726.2A CN103092596B (zh) | 2011-11-08 | 2011-11-08 | 低级界面开发自动实现界面反转的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110349726.2A CN103092596B (zh) | 2011-11-08 | 2011-11-08 | 低级界面开发自动实现界面反转的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103092596A CN103092596A (zh) | 2013-05-08 |
CN103092596B true CN103092596B (zh) | 2016-03-30 |
Family
ID=48205213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110349726.2A Active CN103092596B (zh) | 2011-11-08 | 2011-11-08 | 低级界面开发自动实现界面反转的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092596B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095437B (zh) * | 2016-06-12 | 2019-09-17 | 青岛海信电器股份有限公司 | 用户界面从右到左rtl的布局方式的实现方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7228537B2 (en) * | 2001-09-06 | 2007-06-05 | International Business Machines Corporation | System and method for configuring an application |
CN101051270A (zh) * | 2007-05-11 | 2007-10-10 | 华为技术有限公司 | 界面布局变换方法及界面显示控制器 |
CN101071380A (zh) * | 2007-06-27 | 2007-11-14 | 中兴通讯股份有限公司 | 一种图形用户界面的截取和重现方法 |
CN101114225A (zh) * | 2007-08-28 | 2008-01-30 | 中国科学院软件研究所 | 一种图形用户界面的多语言自适应方法 |
-
2011
- 2011-11-08 CN CN201110349726.2A patent/CN103092596B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7228537B2 (en) * | 2001-09-06 | 2007-06-05 | International Business Machines Corporation | System and method for configuring an application |
CN101051270A (zh) * | 2007-05-11 | 2007-10-10 | 华为技术有限公司 | 界面布局变换方法及界面显示控制器 |
CN101071380A (zh) * | 2007-06-27 | 2007-11-14 | 中兴通讯股份有限公司 | 一种图形用户界面的截取和重现方法 |
CN101114225A (zh) * | 2007-08-28 | 2008-01-30 | 中国科学院软件研究所 | 一种图形用户界面的多语言自适应方法 |
Non-Patent Citations (1)
Title |
---|
在Java开发过程中支持双向字符集语言(BiDi);赵一三;《https://www.ibm.com/developerworks/cn/java/jlobidi/》;20100311;正文第2-3页,图1 * |
Also Published As
Publication number | Publication date |
---|---|
CN103092596A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662616B (zh) | 用于移动终端的屏幕图形自适应方法及系统 | |
CN105279243A (zh) | 一种空间数据转换的方法及系统 | |
US20090167765A1 (en) | System and method of converting edge record based graphics to polygon based graphics | |
CN107943363B (zh) | 背景图像的配置方法及装置、交互智能平板及存储介质 | |
CN105224163B (zh) | 界面显示方法和装置 | |
CN103019738B (zh) | 一种界面可自定义的数控系统及实现方法 | |
CN107450897B (zh) | 图形引擎的跨平台移植方法和装置 | |
CN105511864A (zh) | 一种资源定位方法及装置 | |
EP2328301A1 (en) | Method and apparatus for managing the authority in workflow component based on authority component | |
CN107133038A (zh) | 一种应用程序换肤的方法及其装置 | |
CN104461614A (zh) | 一种主题资源的处理方法及电子设备 | |
CN103543923B (zh) | 控件的点击事件处理方法及系统 | |
CN102375738B (zh) | 一种移动终端数据管理的装置和方法 | |
CN113570733A (zh) | 一种基于WebGL的图形渲染方法、装置及系统 | |
CN110502205A (zh) | 图片显示边缘处理方法、装置、电子设备和可读存储介质 | |
CN103473984B (zh) | 网络环境下基于模板的动态地图获取方法 | |
KR100695080B1 (ko) | 화면 분할 기능을 갖는 이동통신 단말 | |
JP2021006982A (ja) | 文字の色を決定する方法および装置 | |
CN103092596B (zh) | 低级界面开发自动实现界面反转的方法及装置 | |
CN114201627A (zh) | 一种用于电子墨水屏的显示方法、装置、设备及存储介质 | |
CN107729511B (zh) | 一种可定制的地理信息数据矩形分幅方法 | |
CN103915035B (zh) | 一种数据转换方法及数据转换装置 | |
CN106874010A (zh) | 一种Android系统中ListView快速分页加载的方法 | |
CN113934340B (zh) | 一种终端设备和进度条显示方法 | |
CN111930461B (zh) | 基于Android的移动端APP全量页面灰度化方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |