KR20050057822A - Method for realization gui using xml - Google Patents

Method for realization gui using xml Download PDF

Info

Publication number
KR20050057822A
KR20050057822A KR1020030090019A KR20030090019A KR20050057822A KR 20050057822 A KR20050057822 A KR 20050057822A KR 1020030090019 A KR1020030090019 A KR 1020030090019A KR 20030090019 A KR20030090019 A KR 20030090019A KR 20050057822 A KR20050057822 A KR 20050057822A
Authority
KR
South Korea
Prior art keywords
gui
xml
screen
user
java
Prior art date
Application number
KR1020030090019A
Other languages
Korean (ko)
Inventor
강민아
정현석
전경희
장은주
Original Assignee
에스케이씨앤씨 주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 에스케이씨앤씨 주식회사 filed Critical 에스케이씨앤씨 주식회사
Priority to KR1020030090019A priority Critical patent/KR20050057822A/en
Publication of KR20050057822A publication Critical patent/KR20050057822A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Abstract

XML을 이용하여 그래픽 유저 인터페이스(Graphic User Interface; 이하 GUI라함)를 구현하는 분야에서 공통적으로 적용 가능한 것으로 서버(Server)/클라이언트(Client) 모델(Model) 혹은 클라이언트(Client) 단독 모델을 구현함에 있어서, 최소의 비용으로 최대의 효과를 거두기 위해 XML을 이용한 GUI 구현방법이 제시된다. 본 발명은 GUI의 구현 시에 반복적인 개발 부분을 XML 문서로 독립시키고 GUI 개발에서 요구되는 기능을 일반화 작업을 통해 요소화 하여 제공함으로 GUI의 구현 시에 소용되는 시간과 비용을 절감할 수 있게 한다. Commonly applicable in the field of implementing Graphic User Interface (GUI) using XML. In implementing a server / client model or a client only model. In order to achieve maximum effect with minimum cost, a GUI implementation method using XML is presented. According to the present invention, it is possible to reduce the time and cost used when implementing the GUI by independent of the repetitive development part when implementing the GUI as an XML document and by providing the elements required for the GUI development through generalization. .

Description

XML을 이용한 GUI 구현방법{method for realization GUI using XML}Method for realizing GUI using WLML {method for realization GUI using XML}

본 발명은 XML을 이용한 GUI 구현방법에 관한 것으로, 특히, XML을 이용하여 그래픽 유저 인터페이스(Graphic User Interface; 이하 GUI라함)를 구현하는 분야에서 공통적으로 적용 가능한 것으로 서버(Server)/클라이언트(Client) 모델(Model) 혹은 클라이언트(Client) 단독 모델을 구현함에 있어서, 최소의 비용으로 최대의 효과를 거두기 위해 XML을 이용한 GUI 구현방법에 관한 것이다.The present invention relates to a GUI implementation method using XML. In particular, the present invention is commonly applicable in the field of implementing a graphic user interface (GUI) using XML. The present invention relates to a GUI implementation method using XML in order to achieve the maximum effect at the minimum cost in implementing a model or a client-only model.

일반적으로, GUI를 구현하는 방법은 화면을 설계하고 그 설계에 따른 기능을 구현하는 것이다. 여기서, 화면이라고 함은 사용자가 값을 입력하거나 조회하기 위해 필요한 구성요소들을 갖추고 있는 단위이다. GUI는 이러한 화면들의 집합이라고 볼 수 있다. 그러므로 GUI의 개발자는 각 화면에 대해 구성요소들을 추가하고 배치하는 화면 구성 작업과 화면구성작업을 통하여 배치된 구성요소들을 이용하여 사용자로부터 데이터를 입력받아 혹은 출력하는 부분과 그 데이터를 기반으로 기능 구현 작업들을 각각의 화면에 대해 수행하여야만 한다. 예를 들어, 개발자가 구현하고자 하는 화면의 갯수가 10개라면 그 화면 10개에 대해 각각 화면 구성 작업, 데이터 입출력 작업, 기능 구현 작업을 반복해야 하는 것이다.In general, the way to implement the GUI is to design the screen and implement the functions according to the design. Here, the screen is a unit having components necessary for a user to input or query a value. The GUI is a collection of these screens. Therefore, the developer of the GUI implements functions based on the data input and output from the user and the function based on the screen configuration task that adds and arranges elements for each screen and the components arranged through the screen configuration task. Tasks must be performed for each screen. For example, if the number of screens that the developer wants to implement is 10, the screen composition, data input / output, and function implementation should be repeated for the 10 screens.

그러나, GUI는 공통적으로 화면구성요소, 사용자를 위한 입출력의 처리구성요소, 사용자의 요구사항 처리구성요소등 3가지 구성요소를 가지고 있으므로, 임의의 기능의 구현도 이 3가지 구성요소만을 가지고 필요한 요구사항에 따라 코딩(Coding)을 추가하면 구현이 가능하다. 종래의 GUI,개발에 있어서는 동일한 기능을 수행하나 요구사항 즉, 화면 구성이 다르게 되면, 개발자들은 그 화면에 대해 각각 화면 구성 작업, 데이터 입출력 작업, 기능 구현 작업을 반복해야 하기 때문에 GUI의 개발비용이 과다하게 소요됨은 물론 작업의 효율이 저하되는 즉 이미 작업한 코드(Code)의 재사용이 거의 이루어지지 않음으로 인한 반복적인 개발이 발생하는 문제점이 있다. However, since the GUI has three components in common: a screen component, an input / output processing component for a user, and a user requirement processing component, an implementation of an arbitrary function requires only those three components. If you add coding according to the matter, it can be implemented. When the GUI performs the same function in development, but the requirements, that is, the screen configuration is different, the developer has to repeat the screen configuration work, data input / output work, and the function implementation work for the screen, so the development cost of the GUI is high. Not only is it excessively consumed, but there is a problem that repetitive development occurs due to a decrease in the efficiency of work, that is, the reuse of already-coded code is hardly made.

본 발명은 상기의 문제점을 해소하기 위하여 발명된 것으로, GUI의 개발에 있어서, 위의 3가지 요소들을 일반화하여 구현한 내용을 기반으로 사용자의 요구사항에 따라 반복적인 개발이 될 수 있는 부분을 도출하여 XML 데이터 포맷을 이용하여 독립시킴으로서 GUI의 개발에 있어서 시간과 비용을 절감할 수 있도록 한다. 또한 방대한 양이 될 수도 있는 독립된 XML 문서에 대해서 개발자의 수작업을 통한 작업을 지양하고 사용자의 직관적인 사용을 위해 기존의 GUI 개발 툴(Tool)에서 제공하는 기능과 유사한 형태로 XML 문서를 생성, 수정할 수 있도록 XML 빌더 어플리케이션(Builder Application)을 제공하여 쉽고 편리하며 정확하게 XML문서를 생성하고 수정할 수 있도록 함으로서 GUI 개발의 편의성을 증진시킨 XML을 이용한 GUI 구현방법을 제공하는 데 그 목적이 있다.The present invention has been invented to solve the above problems, in the development of the GUI, based on the implementation of the above three elements generalized to derive a part that can be repeatedly developed according to the requirements of the user Independence using XML data format can save time and cost in GUI development. In addition, it avoids the developer's manual work on the independent XML document, which can be a huge amount, and creates and modifies the XML document in a form similar to that provided by the existing GUI development tool for the user's intuitive use. Its purpose is to provide a GUI implementation method using XML that enhances the convenience of GUI development by providing XML Builder Application so that XML document can be created and modified easily, conveniently and accurately.

이와 같은 목적을 달성하기 위한 본 발명은The present invention for achieving the above object

XML 빌더(Builder)어플리케이션을 이용해서 자바 스윙(Java Swing)에서 제공하는 모든 종류의 요소(Component)들에 대한 특성(Property)정보를 XML 데이터 포맷으로 작성한 콘트롤 문서를 작성하는 단계;Creating a control document in which property information of all kinds of components provided by Java Swing is provided in an XML data format using an XML builder application;

XML 빌더(Builder)어플리케이션을 이용해서 특정 화면 배치를 위한 자바 스윙(Java Swing)요소와 사용자의 입, 출력요구에 따른 구체적인 동작(Action)처리에 대한 요소를 XML 데이터 포맷으로 작성하여 특정 화면을 구성하기 위한 GUI 스타트업(Startup)문서를 작성하는 단계; By using XML Builder application, Java Swing element for specific screen layout and specific action processing according to user's input / output request are written in XML data format to compose a specific screen. Creating a GUI startup document for performing the above;

상기 GUI 스타트업 문서를 생성하고 나서, 작성된 XML 문서의 내용을 파싱(Parsing)하여 미리 정의된 로딩 클래스(Loading Class)로 변환시켜 자바 어플리케이션(Java Application)에서 사용할 수 있는 형태로 만드는 XML 파싱(Parsing)을 수행하는 단계; After generating the GUI startup document, parsing the contents of the created XML document and converting the converted XML document into a predefined loading class to make it usable in a Java application. Performing);

상기 단계에서 XML 파싱(Parsing)을 통하여 로딩(Loading)된 정보를 자바 어플리케이션(Java Application)에서 사용하여 상기 XML 문서의 내용대로 GUI화면을 구성하는 화면 구성단계를 포함한다. And a screen configuration step of constructing a GUI screen according to the content of the XML document by using the information loaded through XML parsing in a Java application.

또한, 본 발명에 따른 XML을 이용한 GUI 구현방법에서의 사용자를 위한 입,출력의 처리 단계는 사용자가 특정 기능을 실행하기 위하여 화면을 통하여 특정값을 입력시켰을 때 화면으로부터의 입력값을 처리하여 사용자의 요구사항 처리 구성 요소로 전달하고 또한 처리가 완료되면 결과값을 화면에 출력하도록 하는 기능을 수행한다. In addition, in the GUI implementation method using the XML according to the present invention, the input and output processing step for the user to process the input value from the screen when the user inputs a specific value through the screen to execute a specific function It delivers to the requirement processing component of and also outputs the result value to the screen when processing is completed.

사용자를 위한 입,출력 처리 단계는 사용자가 이해할 수 있는 자바 스윙(Java Swing)화면의 체계에서 자바 어플리케이션이 이해할 수 있는 자바(Java) 변수 체계로 사용자의 입력값을 변환해 주는 기능과 반대로 자바 어플리케이션이 이해할 수 있는 자바(Java) 변수 체계에서 사용자가 이해할 수 있는 자바 스윙(Java Swing)으로 출력값을 변환해 주는 기능을 수행하는 것이다. 이 단계는 미리 정의된 인터페이스 클래스(Interface Class)로의 변환을 의미하여 XML을 파싱(Parsing)할 때 사용되는 로딩 클래스(Loading Class)의 개념과 같다.The input / output processing stage for the user is a Java application as opposed to a function that converts the user's input value from the Java Swing screen system that the user can understand to the Java variable system that the Java application can understand. This function converts the output value from the understandable Java variable system to the Java Swing that the user can understand. This step is equivalent to the concept of a loading class used when parsing XML, which means conversion to a predefined interface class.

본 발명의 바람직한 실시예에 따른 XML을 이용한 GUI 구현방법에서는 사용자를 위한 입출력 처리요소를 통하여 입력된 입력값, 즉 인터페이스 클래스(Interface Class)에 담겨 있는 값에 따라 사용자가 원하는 기능을 실제로 수행하여 그 결과를 다시 인터페이스 클래스(Interface Class)에 저장하여, 사용자를 위한 입출력 처리 요소를 통하여 입력된 사용자의 요구사항을 처리하는 기능구현 요소(Component)를 포함한다.In the GUI implementation method using XML according to the preferred embodiment of the present invention, the user actually performs a desired function according to an input value input through an input / output processing element for a user, that is, a value contained in an interface class. It stores the result back to the interface class, and includes a component that implements the user's requirements entered through the input and output processing elements for the user.

결론적으로 본 발명에 따른 XML을 이용한 GUI 구현방법에서는 GUI의 구현에 있어서, 먼저 콘트롤 문서를 작성하는 단계, GUI 스타트업(Startup)문서를 작성하는 단계, XML 파싱(Parsing)을 수행하는 단계를 수행하여 GUI의 구현에 필요한 XML 데이터의 작성과 작성된 XML 데이터를 파싱(Parsing)하여 기본적인 데이터를 저장한 다음, 저장된 데이터를 기반으로 하여 GUI 화면을 구성하는 화면 구성단계, 사용자를 위한 입출력의 처리 단계, 사용자의 요구사항 처리단계를 반복적으로 수행하는 것이다.In conclusion, in the GUI implementation method using XML according to the present invention, in the implementation of the GUI, the steps of first writing a control document, creating a GUI startup document, and performing XML parsing are performed. Create the XML data required for the implementation of the GUI and parse the created XML data to store basic data, and then configure the GUI screen based on the stored data, process the input / output for the user, It is to repeat the user's requirement processing step.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하면 다음과 같다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

첨부된 도면중 도 1은 본 발명에 따른 XML을 이용한 GUI 구현방법에서 GUI 스타트업(Startup) 문서의 작성 예를 설명하기 위한 도면이고, 도 2는 본 발명에 따른 XML을 이용한 GUI 구현방법의 동작을 설명하기 위한 개념도이다.1 is a view for explaining an example of creating a GUI startup document in the GUI implementation method using XML according to the present invention, Figure 2 is an operation of the GUI implementation method using XML according to the present invention This is a conceptual diagram for explaining.

본 발명에 따른 XML을 이용한 GUI 구현방법에서는 XML을 처리하는 요소(Component)가 생성한 XML이 존재한다고 가정했을 때 다음과 같은 요소를 사용하여 구현된다. GUI 화면을 그리는 모듈(Module) 즉, 화면 구성 요소(Component), 화면 구성 요소들로부터 값들을 입력을 받거나 화면으로 값들을 출력하는 모듈(Module), 즉 사용자입출력 처리 요소(Component), 사용자로부터 받은 데이터를 처리해주는 모듈(Module) 즉, 기능수행요소로 모듈을 구분하고, 구분된 모듈을 자바(Java) 요소(Component)로 구현한다.In the GUI implementation method using XML according to the present invention, assuming that there is XML generated by a component that processes XML, the following elements are implemented. Module that draws GUI screen, that is, screen component, module that receives values from screen components or outputs values to screen, i.e. user I / O processing component, received from user A module that processes data, that is, a module is classified into a function performing element, and the divided module is implemented as a Java component.

또한, 이 중에서 화면 구성 요소와 사용자 입,출력 처리 요소의 실행 주체가 되는 내용들은 XML 데이터 포맷을 이용하여 구현하며, XML 데이터를 자동으로 생성 할 수 있도록 XML 빌더(Builder) 어플리케이션을 제공한다. XML 빌더(Builder)어플리케이션은 복잡한 XML 문서 생성과 변경 그리고 문법 문제들을 해결하는 수단으로 사용된다. In addition, the contents that are the subjects of execution of screen components and user input / output processing elements are implemented using the XML data format, and an XML builder application is provided to automatically generate XML data. The XML Builder application is used to solve complex XML document creation, modification, and grammar problems.

본 발명은 화면 구성 요소(Component), 사용자 입,출력 처리 요소 및 기능수행요소로의 3가지 요소(Component)와 XML 빌더(Builder)를 이용하여 GUI를 개발하도록 함으로서 개발 시간과 비용을 절약하는 방법을 제공한다. The present invention saves development time and costs by developing a GUI using three components and an XML builder, which are screen components, user input and output processing elements, and function performing elements. To provide.

<XML 데이터 포맷 - 콘트롤(Control) 문서><XML Data Format-Control Document>

본 발명에는 XML 데이터 포맷으로 작성된 모든 자바 스윙(Java Swing)요소 에 대한 구성 문서인 콘트롤 문서와 GUI 화면 구현, 사용자입,출력처리 및 기능 구현 구성에 대한 문서인 GUI 스타트업(Startup)문서등 2가지 종류의 문서를 갖는다. 이중 콘트롤(Control)문서는 자바 스윙(Java Swing)에서 제공하는 모든 종류의 요소(Component)들에 대한 특성(Property)정보를 XML 데이터 포맷으로 작성한 문서를 말한다. In the present invention, a control document which is a configuration document for all Java Swing elements written in XML data format, and a GUI startup document which is a document about a GUI screen implementation, a user input, output processing, and a function implementation configuration, etc. Have different kinds of documents The dual control document is a document in which property information of all kinds of components provided by Java Swing is written in XML data format.

콘트롤 문서에 작성된 내용은 화면구성, 사용자입출력처리, 기능구현 구성문서인 GUI 스타트업 문서에서 화면의 기능을 구현할 때 화면 구성 부분에서 명시되는 각각의 자바 스윙 요소(Swing Component)들에 대한 기본값이라고 말할 수 있다.The content written in the control document is the default value for each Java Swing Component specified in the screen composition part when implementing the screen function in the GUI startup document which is the screen composition, user I / O processing, and function implementation configuration document. Can be.

통상적으로 본 발명에 따른 GUI 구현 방법에서는 XML데이터 포맷으로 작성된 GUI 스타트업(Startup)문서에서 GUI의 화면구성을 위해 필요한 자바스윙(Java Swing )요소(Component)들의 특성(Property)들을 정의할 때 각 요소(Component)가 제공하여야 하는 모든 특성들을 일일이 명시하는 것은 비효율적이므로, GUI 화면 구성을 위해 꼭 필요한 항목들만 정의하게 된다. 이때 XML 데이터 포맷으로 작성된 GUI 스타트업(Startup) 문서에 정의되지 않은 값들은 자바 스윙(Java Swing)에서 제공하는 모든 종류의 요소(Component)들에 대한 특성(Property)정보를 XML 데이터 포맷으로 이미 작성해 놓은 콘트롤 문서에서 참조한다. 즉, 콘트롤 문서는 자바 스윙(Java Swing)에서 필요한 다양한 요소(Component) 즉, Button, Table, Label, Tree, Radio Button, Check Box등의 요소에서 제공하는 GUI 화면 구성을 위한 선택 가능한 모든 옵션의 특성(Property)들의 값들을 각 요소별로 정의해서 명시된 문서이므로 GUI 스타트업 문서에서 제공되어 있지 않은 특성(Property)들에 대한 값들은 콘트롤 문서에서 참조하는 것이다. In general, in the GUI implementation method according to the present invention, when defining the properties of Java Swing components required for the screen configuration of the GUI in a GUI startup document written in XML data format, Since it is inefficient to specify all the properties that the Component must provide, only the items necessary for the composition of the GUI screen are defined. In this case, values not defined in GUI startup document written in XML data format have already written property information of all kinds of components provided by Java Swing in XML data format. Reference it in the control document you placed. In other words, the control document is a property of all selectable options for GUI screen composition provided by various components required in Java Swing, such as Button, Table, Label, Tree, Radio Button, and Check Box. Since the values of properties are defined by each element, the values of properties that are not provided in the GUI startup document are referred to in the control document.

자바 스윙(Java Swing) 요소(Component)에는 JButton, JCheckBox, JComboBox, JComponent, JDialog, JFrame, JLabel, JList, JMenu, JPanel, JPopupMenu, JProgressBar, JRadioButton, JScrollBar, JSlider, JSpinner, JSplitPane, JTable, JTextArea, JTextField, JTextPane, JToolBar, JTree등의 항목이 있는 데, 아래는 콘트롤 문서에 자바 스윙 요소 중 JButton 항목에 대해 정의되어 있는 특성(Property)들의 리스트(List)와 값에 대한 일 예이다.Java Swing components include JButton, JCheckBox, JComboBox, JComponent, JDialog, JFrame, JLabel, JList, JMenu, JPanel, JPopupMenu, JProgressBar, JRadioButton, JScrollBar, JSlider, JSpinner, JSplitPane, JTable, JTextArea, JTextField There are items such as, JTextPane, JToolBar, and JTree. The following is an example of the list and value of properties defined for JButton item among Java Swing elements in control document.

<JButton><JButton>

<name> JButton1 </name><name> JButton1 </ name>

<action> </action><action> </ action>

<actionCommand> </actionCommand><actionCommand> </ actionCommand>

<actionMap> </actionMap><actionMap> </ actionMap>

<alignmentX> </alignmentX><alignmentX> </ alignmentX>

<alignmentY> </alignmentY><alignmentY> </ alignmentY>

<background> </background><background> </ background>

<border><border>

<type> </type> <!-- Empty, Line, Etched, Bevel, Matte(Color), Matte(Icon) --><type> </ type> <!-Empty, Line, Etched, Bevel, Matte (Color), Matte (Icon)->

<color> </color> <!-- RGB Style --><color> </ color> <!-RGB Style->

<width></width><width> </ width>

<highlight></highlight><highlight> </ highlight>

<shadow></shadow><shadow> </ shadow>

<highlightOuter> </highlightOuter> <!-- RGB --><highlightOuter> </ highlightOuter> <!-RGB->

<highlightInner> </highlightInner> <!-- RGB --><highlightInner> </ highlightInner> <!-RGB->

<shadowOuter> </shadowOuter> <!-- RGB --><shadowOuter> </ shadowOuter> <!-RGB->

<shadowInner> </shadowInner> <!-- RGB --><shadowInner> </ shadowInner> <!-RGB->

<icon> </icon><icon> </ icon>

<title> </title><title> </ title>

<innerBorder> </innerBorder><innerBorder> </ innerBorder>

<insets><insets>

<top> </top><top> </ top>

<bottom> </bottom><bottom> </ bottom>

<right> </right><right> </ right>

<left> </left><left> </ left>

</insets></ insets>

</border></ border>

<borderPainted> </borderPainted> <!-- true, false --><borderPainted> </ borderPainted> <!-true, false->

<contentAreaFilled> </contentAreaFilled> <!-- true, false --><contentAreaFilled> </ contentAreaFilled> <!-true, false->

<!-- LOG_OPTION, FLASH_OPTION, BUFFERED_OPTION, NONE_OPTION --><!-LOG_OPTION, FLASH_OPTION, BUFFERED_OPTION, NONE_OPTION->

<debugGraphicsOptions> </debugGraphicsOptions><debugGraphicsOptions> </ debugGraphicsOptions>

<disabledIcon> </disabledIcon><disabledIcon> </ disabledIcon>

<disabledSelectedIcon> </disabledSelectedIcon><disabledSelectedIcon> </ disabledSelectedIcon>

<doubleBuffered> </doubleBuffered> <!-- true, false --><doubleBuffered> </ doubleBuffered> <!-true, false->

<enabled> </enabled> <!-- true, false --><enabled> </ enabled> <!-true, false->

<focusPainted> </focusPainted> <!-- true, false --><focusPainted> </ focusPainted> <!-true, false->

<font><font>

<type> </type> <!-- MS Sans Serif --><type> </ type> <!-MS Sans Serif->

<size> </size><size> </ size>

<italic> </italic> <!-- true, false --><italic> </ italic> <!-true, false->

<bold> </bold> <!-- true, false --><bold> </ bold> <!-true, false->

</font></ font>

<foreground> </foreground><foreground> </ foreground>

<!-- LEFT, CENTER, RIGHT, LEADING, TRAILING --><!-LEFT, CENTER, RIGHT, LEADING, TRAILING->

<horizontalAlignment> </horizontalAlignment><horizontalAlignment> </ horizontalAlignment>

<!-- LEFT, CENTER, RIGHT, LEADING, TRAILING --><!-LEFT, CENTER, RIGHT, LEADING, TRAILING->

<horizontalTextPosition> </horizontalTextPosition><horizontalTextPosition> </ horizontalTextPosition>

<icon> </icon><icon> </ icon>

<inputVerifier> </inputVerifier><inputVerifier> </ inputVerifier>

<margin> </margin><margin> </ margin>

<maximumSize> </maximumSize><maximumSize> </ maximumSize>

<minimumSize> </minimumSize><minimumSize> </ minimumSize>

<mnenomic> </mnenomic><mnenomic> </ mnenomic>

<model> </model><model> </ model>

<nextFocuableComponent> </nextFocuableComponent><nextFocuableComponent> </ nextFocuableComponent>

<opaque> </opaque> <!-- true, false --><opaque> </ opaque> <!-true, false->

<preferredSize> </preferredSize><preferredSize> </ preferredSize>

<pressedIcon> </pressedIcon><pressedIcon> </ pressedIcon>

<requestFocusEnabled> </requestFocusEnabled> <!-- true, false --><requestFocusEnabled> </ requestFocusEnabled> <!-true, false->

<rolloverEnabled> </rolloverEnabled> <!-- true, false --><rolloverEnabled> </ rolloverEnabled> <!-true, false->

<rolloverSelectedIcon> </rolloverSelectedIcon><rolloverSelectedIcon> </ rolloverSelectedIcon>

<selected> </selected> <!-- true, false --><selected> </ selected> <!-true, false->

<text> </text><text> </ text>

<toolTipText> </toolTipText><toolTipText> </ toolTipText>

<verifyInputWhenFocusTarget> </verifyInputWhenFocusTarget> <!-- true, false --><verifyInputWhenFocusTarget> </ verifyInputWhenFocusTarget> <!-true, false->

<verticalAlignment> </verticalAlignment> <!-- TOP, CENTER, BOTTOM --><verticalAlignment> </ verticalAlignment> <!-TOP, CENTER, BOTTOM->

<verticalTextPosition> </verticalTextPosition> <!-- TOP, CENTER, BOTTOM --><verticalTextPosition> </ verticalTextPosition> <!-TOP, CENTER, BOTTOM->

</JButton></ JButton>

상기와 같은 방식으로 콘트롤 문서에서는 모든 자바 스윙(Java Swing) 요소 (Component)에 대한 항목이 각 요소별로 XML 데이터 포맷을 이용하여 정의되어 있는 것이다. 이 콘트롤 문서는 GUI 스타트업(Startup) 문서에서 특히 화면 설계와 직접적인 관계가 있으며 화면 설계에서 사용되는 자바 스윙(Java Swing) 요소(Component)에 대한 보조 데이터의 역할을 하게 된다.As described above, in the control document, items for all Java Swing components are defined for each element using the XML data format. This control document is directly related to screen design, especially in GUI startup documents, and serves as ancillary data for the Java Swing components used in screen design.

<XML 데이터 포맷 - GUI 스타트업(Startup) 문서><XML Data Format-GUI Startup Document>

역시 XML데이터 포맷으로 정의되어 있는 GUI 스타트업(Startup)문서는 GUI로 구현하고자 하는 기능들을 위해 화면설계와 사용자입출력처리, 기능설계의 내용이 구체화된다. 즉, 일반적인 GUI의 구현에 있어서는 화면설계와 사용자입출력처리, 기능설계를 모두 자바 코딩(Java Coding)으로 구현하여야 하는 데, 본 발명에서는 GUI 스타트업(Startup)문서에 사용자의 요구에 따라 달라질 수 있는 사항들 중 화면 설계, 사용자입출력처리, 기능처리부분이 XML 데이터 포맷을 이용하여 작성되고, 그 기능이 일반화되어 요소(Component)로 개발되어 있는 화면설계 요소(Component), 사용자입출력 처리 요소(Component), 기능처리 요소(Component)들이 자바 어플리케이션(Java Application)에서 호출되어 XML 데이터 포맷에 명시되어 있는데로 실행됨으로 GUI 어플리케이션(Application)이 완성되는 것이다. GUI Startup document, also defined in XML data format, embodies the contents of screen design, user I / O processing, and functional design for the functions to be implemented as GUI. That is, in the implementation of a general GUI, the screen design, the user I / O processing, and the functional design should all be implemented by Java Coding. In the present invention, the GUI startup document may be changed according to a user's request. Among them, screen design, user I / O processing, and function processing parts are created using XML data format, and the functions are generalized and developed as components, screen design elements and user I / O processing components. In other words, the function processing components are called from the Java application and executed as specified in the XML data format, thereby completing the GUI application.

즉, GUI 스타트업(Startup)문서에 XML 데이터 포맷을 이용하여 화면의 구성 방법, 자바 스윙(Java Swing)요소의 배치방법, GUI 화면에서의 사용자입,출력처리 방법, GUI화면에서의 기능구현방법 (Database에 저장할 것인지 혹은 Database의 내용을 출력할 것 인지등의 구체적인 기능)에 대한 내용을 구분하여 명시한다. 이와 같이 작성된 XML 문서는 일반화되어 구현되어 있는 화면구성 요소(Component), 사용자 입출력 처리 요소 (Component), 기능구현 요소(Component)의 입력값이 되어 사용자가 원하는 화면이 그려지고 원하는 기능을 수행할 수 있게 된다. In other words, how to organize the screen using XML data format in GUI startup document, how to arrange Java Swing elements, user input and output processing on GUI screen, and how to implement functions on GUI screen. Specify the contents of (specific functions such as whether to save in the database or print out the contents of the database). The XML document created as described above becomes input values of the generalized and implemented screen component, user input / output processing component, and component implementation component, so that the user can draw the desired screen and perform the desired function. Will be.

본 발명에 따른 XML을 이용한 GUI 구현방법에서는 GUI의 구현시에 XML 데이터 포맷으로 작성된 콘트롤 문서와 GUI 스타트업(Startup)문서를 로딩(Loading)시켜 XML에서 지시한대로 화면을 구성하고 기능을 수행하면 되므로 기능을 추가될 때마다 새로운 코딩(Coding)을 추가할 필요가 없게 된다. 즉, 기능이 추가되거나 변경되는 부분에 대해서는 XML 문서 작업만 수행하면 되는 것이다.In the GUI implementation method using XML according to the present invention, when the GUI is implemented, the control document and the GUI startup document, which are written in XML data format, are loaded to configure a screen and perform a function as instructed by XML. Each time a feature is added, there is no need to add new coding. In other words, you only need to work with XML documents for functions added or changed.

GUI 스타트업(Startup)문서는 사용자의 요구에 따른 화면 구성을 위해 자바 스윙(Java Swing) 요소(Component)와, 사용자로부터의 요구에 따른 구체적인 기능구현을 위해 자바 스윙(Java Swing) 요소(Component)로부터, 즉 화면으로부터 사용자가 입력한 값들의 사용자 입출력 처리에 대해 자바어플리케이션 (Application)이 취할 방법에 대해 XML 데이터 포맷으로 작성한 것이다. The GUI Startup document contains Java Swing components for screen composition according to the user's request, and Java Swing components for implementing specific functions according to the user's request. It is written in XML data format about how Java application will take for user input / output processing of user input values from screen.

GUI 스타트업(Startup)문서는 특정 화면의 구성을 위하여 꼭 필요한 항목만을 XML 데이터 포맷을 이용하여 자바 스윙( Java Swing)요소를 정의한다. 첨부된 도 1은 시스템 정보를 조회하고 그 내용을 저장, 인쇄하는 특정 화면을 나타낸다. 도 1 에 도시된 화면은 시스템정보라는 글씨를 출력하기 위해 JLabel 요소(Component)를, 조회, 저장, 인쇄라는 기능을 사용자가 선택할 수 있도록 JButton을 3개, 그리고 내용을 출력 하기 위한 JTable의 요소(Component)가 사용됨을 알 수 있다. 이러한 특정화면을 구성하기 위하여 GUI 스타트 업(Startup)문서는 XML 데이터 포맷으로 <System정보>라는 기능이라는 독립된 항목을 설정하고 다음과 같이 기술하게 된다.The GUI startup document defines Java Swing elements using XML data format only those items necessary for the composition of a specific screen. 1 shows a specific screen for inquiring system information and storing and printing the information. The screen shown in FIG. 1 includes a JLabel element (Component) for outputting system information, three JButtons for the user to select a function of inquiry, storage, and printing, and an element of JTable for outputting contents ( Component) is used. In order to compose such a specific screen, the GUI startup document sets an independent item called <System Information> in XML data format and describes it as follows.

먼저, 화면설계 부분을 위해서 어떤 자바 스윙(Java Swing) 요소(Component)를 사용할 것인지, 선택된 자바 스윙(Java Swing) 요소(Component)의 특성값은 무엇인지, 그 자바 스윙(Java Swing) 요소(Component)를 어디에 배치할 것인지의 위치 정보등을 기술한다. 다음으로, 사용자 입출력 처리 부분을 위해서 각각의 자바 스윙(Java Swing) 요소(Component)중에서 사용자로부터 입력을 받을 자바 스윙(Java Swing) 요소(Component)와 반대로 기능을 수행하고 난 후 결과를 사용자가 볼 수 있도록 출력해야 하는 자바 스윙(Java Swing) 요소(Component)에 대해 그 값을 자바 어플리케이션(Java Application)에서 처리 할 수 있는 형태로 변환을 하게 되는데 이를 인터페이스 클래스(Interface Class)라고 정의한다. 이 인터페이스 클래스(Interface Class)에 데이터를 담아 사용자 입출력 부분과 기능처리 부분이 서로 데이터를 주고 받게 된다.First, what kind of Java Swing Component to use for the screen design part, what is the characteristic value of the selected Java Swing Component, and the Java Swing Component ), Where the location information of where to place it is described. Next, for the user I / O processing part, perform the function opposite to the Java Swing component that receives input from the user among the Java Swing components, and then view the result. For Java Swing component that should be outputted so that the value can be converted into a form that can be processed in Java Application, it is defined as Interface Class. Data is stored in this interface class, and the user input / output part and the function processing part exchange data with each other.

마지막으로 기능처리 부분을 위해서 사용자가 자신의 요구 사항을 컴퓨터(Computer)에게 전달할 수 있는 자바 스윙(Java Swing) 요소(Component)에 -여기서는 버튼(JButton)- 기능의 처리절차를 기술한다.Finally, for the function processing part, we describe the processing procedure of the button (here, JButton) in the Java Swing Component that allows the user to pass his or her requirements to the Computer.

아래의 예는 이를 설명하기 위한 XML예제이다.The following example is an XML example to illustrate this.

<ITEM ID = "시스템정보"><ITEM ID = "System Info">

<Control><Control>

<Type="JLabel" Depth="1" Identity="1" Name"System정보" Value="label1" Position="3,3,29,9" /><Type = "JLabel" Depth = "1" Identity = "1" Name "System Information" Value = "label1" Position = "3,3,29,9" />

<Type="JButton" Depth="1" Identity=7" Name="저장" Value="button1" Position="76,13,85,18"><Type = "JButton" Depth = "1" Identity = 7 "Name =" Save "Value =" button1 "Position =" 76,13,85,18 ">

<Command><Command>

<Identification>GetSystemInfo</Identification><Identification> GetSystemInfo </ Identification>

<Component>SystemInfoTable</Component><Component> SystemInfoTable </ Component>

</Command></ Command>

</Type></ Type>

<Type="JTable" Depth="1" Identity="9" Name"" Value="table1" Position="3,27,49,57" Col="Proc,User,Pid,Memory,CPU" /><Type = "JTable" Depth = "1" Identity = "9" Name "" Value = "table1" Position = "3,27,49,57" Col = "Proc, User, Pid, Memory, CPU" />

</Control></ Control>

</ITEM></ ITEM>

시스템 정보라는 글씨를 화면에 보이게 하기 위한 JLabel 요소는 JLabel이 위치해야 될 화면상의 X,Y 좌표정보, 자바 스윙(Java Swing) 요소(Component) 특성(Property)에서 "System 정보"라고 값을 정해야 하는 부분, 실제 자바 코드(Java Code)내에서 사용될 변수명등이 명시된다.The JLabel element to display the system information text on the screen should be defined as "System information" in the X, Y coordinate information on the screen where the JLabel is to be located, and in the Java Swing Component Property. Part, variable name to be used in actual Java Code.

그리고, 자바 스윙(Java Swing) 요소(Component)중 사용자로부터의 입출력 처리부분이 있는 항목에 대해서 구체적인 처리에 대한 자바 스윙 요소들 역시 XML데이터 포맷으로 작성한다. 도1을 참조하면, 사용자의 입,출력이 발생하게 되는 자바 스윙(Java Swing) 요소는 조회, 저장, 인쇄라는 JButton이다. 즉, 사용자가 입력 버튼을 동작시켰을 경우 자바 어플리케이션(Java Application)에서는 그에 따른 동작을 수행하도록 하는 방법을 작성하는 것이다. 위의 예에서는 <Command> 라는 태크(Tag)내에 그 동작에 대해 기술되어 있는데 GetSystemInfo 라는 기능이고 SystemInfoTable이라는 자바 스윙 (Java Swing) 요소(Component)에 값을 출력하라는 의미이다. 이 정보대로 받은 데이터를 기능구현 요소(Component)에 전달하면 XML에 기술되어 있는데로 기능구현 요소(Component)가 정의된 기능대로 수행한다.In addition, Java swing elements for specific processing are also written in XML data format for the items that have input / output processing from the user among Java Swing components. Referring to FIG. 1, a Java Swing element in which an input and output of a user occurs is a JButton called inquiry, storage, and printing. In other words, when the user operates the input button, a Java application is to write a method to perform the corresponding operation. In the example above, the operation is described in a tag called <Command>, which is a function called GetSystemInfo and means to output a value to a Java Swing component called SystemInfoTable. If the data received according to this information is passed to the component, it is described in XML and the component is executed according to the defined function.

이와 같이 GUI 스타트업(Startup)문서는 특정 화면 설계를 위한 자바 스윙(Java Swing)요소(Component)를 표시하는 화면구성 요소(Component)와, 화면으로부터 사용자의 데이터를 받고 다시 화면에 데이터를 출력해 주는 사용자 입출력 요소(Component), 사용자로부터의 요구에 따른 구체적인 기능구현을 위한 기능구현 요소(Component), 이 3가지 요소가 자바 코드(Java Code)가 아닌 XML 데이터 포맷으로 구현되는 것이다. In this way, the GUI startup document is a screen component that displays a Java Swing component for a specific screen design, and receives the user's data from the screen and outputs the data to the screen again. The main component is a user input / output component, a component for implementing a specific function according to a request from a user, and the three elements are implemented in an XML data format instead of Java code.

즉, 종래의 GUI의 구성에 있어서, 새로운 요구사항이 생겨서 특정한 화면을 구현해야 할 때는 새로운 화면에 대해 화면 설계를 하고 기능 구현에 대한 자바 코드(Java Coding)을 추가 개발하여 컴파일(Compile)과 디버깅(Debugging) 작업을 수행하고 난 후 실행 파일을 생성하게 된다. That is, in the configuration of the conventional GUI, when a new requirement arises and a specific screen needs to be implemented, the screen is designed for a new screen and additionally developed Java Coding for function implementation, and then compiled and debugged. After executing (Debugging), an executable file is created.

그러나 본 발명에 따른 GUI 구현 방법에서는 화면 설계에 대한 부분은 XML 데이터 포맷으로 작성된 GUI 스타트 업(Startup)문서에서 ① 화면 구성에 대한 Java Swing Component 정의 기술 부분으로 대체가 되고 ② 기능구현을 위해 사용자와의 입출력을 담당하는 부분이 기술되고, 사용자로부터 받은 데이터를 바탕으로 XML에 기술되어 있는 기능구현의 Action 처리 정의 기술 부분으로 대체되는 것이다. However, in the GUI implementation method according to the present invention, the part about screen design is replaced by the Java Swing Component definition technology part of the screen configuration in the GUI startup document written in XML data format. The part responsible for I / O of the system is described, and it is replaced by the action processing definition description part of the function implementation described in XML based on the data received from the user.

<GUI 구현 실시예><GUI Implementation Example>

이하에서는 본 발명에 따른 GUI 구현 방법의 구체적인 실시예를 도 2를 참조하여 적시함으로서 자세하게 설명하기로 한다.Hereinafter, a specific embodiment of the GUI implementation method according to the present invention will be described in detail by timely referring to FIG.

먼저 본 발명에 따른 GUI 구현 방법에서는 자바 스윙(Java Swing)에서 제공하는 모든 종류의 요소(Component)들에 대한 특성(Property)정보를 XML 데이터 포맷으로 작성하는 콘트롤 문서 및 특정 화면 구성에 위한 자바 스윙(Java Swing)요소(화면구성)와 사용자로부터의 요구에 따른 구체적인 액션(Action)처리와 그를 위한 자바 스윙(Java Swing) 요소(User In/Out 구성)을 XML 데이터 포맷으로 작성하는 GUI 스타트업 문서를 작성하게 된다. First, in the GUI implementation method according to the present invention, Java Swing for a control document and a specific screen configuration for writing property information of all kinds of components provided in Java Swing in XML data format. GUI startup document for creating (Java Swing) element (screen configuration) and specific action processing according to user's request and Java Swing element (User In / Out configuration) for it in XML data format You will write

이때, 콘트롤 문서 및 GUI 스타트업 문서의 생성 작업을 수작업으로 하게 되면 그 방대한 양으로 인해 오랜 시간이 소요되게 되고 또한 수작업으로 인한 정합성 확인 과정을 거쳐야 한다. 또한 수정 작업이 필요하거나 추가 작업이 필요할 때도 수작업으로 진행한다는 것은 쉬운 일은 아니다. 그러므로 콘트롤 문서 및 GUI 스타트업 문서의 작성시에는 XML 빌더(Builder)어플리케이션을 이용하여 XML 문서 생성의 자동화를 구현한다. In this case, when the control document and the GUI startup document are generated manually, a large amount of time is required, and a consistency check process is required. It's also not easy to do it manually when you need to make corrections or when something needs to be done. Therefore, when creating the control document and the GUI startup document, the XML builder application is used to implement the automation of the XML document generation.

또한, XML 빌더(Builder) 어플리 케이션은 GUI 화면 구성을 위한 기능을 추가하는데, 예를 들어 자바 스윙(Java Swing)요소의 위치 지정, 위치가 지정된 자바 스윙 요소의 특성(Property)값의 지정등에 대한 기능을 구현한다. XML 빌더(Builder) 어플리케이션의 궁극적인 목적은 쉽고 빠르게 XML데이터 포맷으로 콘트롤 문서 및 GUI 스타트업 문서를 생성하기 위한 것이다.In addition, the XML Builder application adds functionality for constructing GUI screens, for example, the positioning of Java Swing elements, the property values of positioned Java Swing elements, etc. Implement the function. The ultimate goal of the XML Builder application is to quickly and easily generate control documents and GUI startup documents in XML data format.

XML 문서를 효과적으로 생성, 관리하기 위한 별도의 도구인 XML 빌더(Builder)어플리케이션은 JBuilder와 비슷한 구성으로 개발자가 드래그 앤드 드롭(Drag & Drop)식으로 자바 스윙(Java Swing)요소를 선택하여 화면에 배치하고 특성(Property)들의 값을 지정할 수 있다. 또한 사용자의 입, 출력요구에 대한 필요 동작(Action)도 화면을 통하여 제공된다. 그러므로, GUI의 개발자는 콘트롤 문서 및 GUI 스타트업 문서의 생성시에 자바 어플리케이션(Java Application)에서 필요로 하는 모든 화면과 기능에 대한 정의를 XML 빌더(Builder)어플리케이션을 통하여 수행하고 난 다음 XML 문서 생성 기능을 선택하면 XML 문서가 생성된다. 또한, XML 빌더(Builder)어플리케이션은 이미 생성된 XML 문서를 수정할 수 있다.The XML Builder application, a separate tool for effectively creating and managing XML documents, is similar to JBuilder. The developer selects Java Swing elements on the screen by dragging and dropping. And specify the values of the properties. In addition, necessary actions for user input and output requests are provided through the screen. Therefore, the GUI developer should define all the screens and functions required by the Java application when generating the control document and the GUI startup document through the XML Builder application and then generate the XML document. Selecting a feature generates an XML document. In addition, XML Builder applications can modify XML documents that have already been created.

도 2를 참조하면, GUI의 개발자는 GUI 화면 설계를 위해서는 자바 스윙(Java Swing)의 어떤 요소(Component)를 화면 위치 어느 곳에 배치할 것 인지와 어떤 특성(Property)들로 정할 것인지를 XML 빌더(Builder)어플리케이션을 이용하여 XML 데이터 포맷의 콘트롤 문서, 스타트 업문서를 생성 혹은 수정하게 된다.Referring to FIG. 2, the developer of the GUI may determine which components of Java Swing are to be positioned where and where the properties of the Java Swing are to be designed for the GUI screen design. Builder application is used to create or modify control documents and startup documents in XML data format.

XML 파싱(Parsing) 요소(Component)를 호출하여 생성된 두가지의 XML 데이터 포맷문서를 자바 어플리 케이션(Java Application)에서 사용할 수 있는 형태로 만드는 XML 파싱(Parsing) 작업을 수행한다. XML 파싱(Parsing)은 XML 문서 내용을 미리 정의된 로딩 클래스(Loading Class)로 변환하여 자바 어플리케이션(Java Application)내에서 각 요소(Component)들이 통일된 방법으로 사용되도록 하는 기능이다. XML Parsing Performs XML Parsing to make two XML data format documents created by calling Component to be usable in Java Application. XML parsing is a function that converts XML document contents into a predefined loading class so that each component can be used in a unified way in a Java application.

로딩 클래스(Loading Class)를 화면구성 요소(Component)에게 전달하여 즉, 화면구성 요소는 로딩 클래스(Loading Class)를 입력값으로 받아 이때 로딩 클래스(Loading Class)는 클래스(Class)배열이 되는데 그 배열의 순서에 따라 GUI 화면을 구성하는 단계가 수행된다. 즉, 사용자가 원하는 형태로 구현되어 있는 화면이 그려지게 되는 것이다. 사용자로부터 입력을 받을 준비가 되어 있는 화면이다.Passing the loading class to the screen component, that is, the screen component receives the loading class as input, and the loading class is an array of classes. Steps to configure the GUI screen are performed in the order of. In other words, the screen implemented in the form desired by the user is drawn. This screen is ready to receive input from the user.

이와 같이 GUI가 화면이 구현되면, 사용자가 원하는 기능을 선택하였을 때 사용자 입출력 처리 요소(Component)가 호출되어 XML 파싱(Parsing)기능을 이용하여 정의된 로딩 클래스(Loading Class)에 기입된 내용대로 화면에서 값을 읽어들여 자바 어플리케이션(Java Application)에서 사용되는 형태로 변환하게 된다. When the GUI is implemented as described above, when the user selects a desired function, the user input / output processing component is called and the screen is written as written in the loading class defined using the XML parsing function. It reads the value from and converts it to the type used in Java Application.

이는 사용자가 이해할 수 있는 체계에서 자바 어플리케이션(Java Application)이 이해할 수 있는 체계로의 변환을 의미하며 이는 로딩 클래스(Loading Class)와 마찬가지로 미리 정의된 인터페이스 클래스(Interface Class)로 변환되는 것이다.This means a transformation from a system that can be understood by a user to a system that can be understood by a Java application, which, like a loading class, is converted into a predefined interface class.

사용자 입출력 처리 요소(Component)는 화면의 입력을 인터페이스 클래스(Interface Class)로 변환하고 인터페이스 클래스(Interface Class)를 이용하여 기능구현 요소(Component)를 호출한다.The user input / output processing component converts the input of the screen into an interface class and calls a component implementing component using the interface class.

기능구현 요소는 인터페이스 클래스(Interface Class)에 담긴 사용자가 원하는 기능을 이해하고 사용자가 입력한 값을 이용하여 정의된 기능을 수행하게 된다. 이때 수행되는 기능은 GUI가 수행되는 컴퓨터 자체에서 실행 가능한 것일 수도 있고 서버(Server)로 메시지(Message)를 전송하여 결과를 받아야 하는 경우일 수도 있다. 이렇게 수행된 기능의 결과를 다시 인터페이스 클래스(Interface Class)에 담아 사용자 입출력 처리 요소(Component)를 호출하게 된다. The function implementation element understands the user's desired function in the Interface Class and performs the defined function using the value entered by the user. In this case, the function performed may be executable on the computer where the GUI is executed, or may be a case where a result must be received by transmitting a message to a server. The result of the function performed is put in the interface class to call the user I / O processing component.

사용자 입출력 처리 요소(Component)는 인터페이스 클래스(Interface Class)에 담긴 내용을 다시 사용자가 확인 할 수 있도록 GUI 화면에 출력하게 된다.The user I / O processing component will output the contents of the interface class to the GUI screen so that the user can check it again.

이렇게 하여 GUI 프로그램(Program)의 기능을 수행하게 되는 것이고 화면생성 요소(Component), 사용자 입출력 처리 요소(Component), 기능 구현 요소(Component)들이 개별적으로 존재하는 XML의 내용을 기반으로 하여 독립적으로 호출되어 반복 호출됨으로 하나의 GUI 기능을 수행하게 되는 것이다. In this way, it executes the functions of the GUI program, and the screen generation component, user input / output processing component, and function implementation component are called independently based on the content of XML. It is called repeatedly to perform a GUI function.

만일, 새로운 기능의 GUI를 구현하기를 원한다면 XML 빌더(Builder) 어플리케이션(Application)을 이용하여 구현되기를 원하는 내용대로 XML 스타트 업(Startup) 문서를 다시 생성하여 XML 파싱(Parsing) 요소(Component), 화면생성 요소(Component), 사용자 입출력 처리 요소(Component), 기능 구현 요소(Component)를 호출하는 코드(Code) 만을 재생성하면 된다. 이때 콘트롤 XML 문서는 자바 스윙(Java Swing)에 대한 일반적인 내용이므로 계속해서 재사용할 수 있다. 또한 XML 스타트업(Startup) 문서만 변경하고 각각의 자바(Java) 요소(Component)들의 코드도 계속 재사용이 된다.If you want to implement a new function GUI, regenerate the XML Startup document as you want it to be implemented using the XML Builder application, and then parse the XML Parsing Component, screen. You only need to regenerate the code that calls the generation component, the user input / output processing component, and the function implementation component. At this point, the control XML document is generic to Java Swing and can be reused over and over again. It also changes only the XML Startup documents and reuses the code for each Java component.

상술한 바와 같이, 본 발명에 따른 XML GUI 구현방법에서는 GUI의 구현시에 반복적인 개발 부분을 XML 문서로 독립시키고 GUI 개발에서 요구되는 기능을 일반화 작업을 통해 요소화 하여 제공함으로 GUI의 구현시에 시간과 비용을 절감할 수 있게 하는 코드의 재사용을 가능하게 한다. 또한 독립된 XML 문서 부분도 XML 빌더 아플리케이션(Builder Application)을 통하여 쉽게 생성하고 수정할 수 있기 때문에 이 방법을 통한 개발의 용이함을 향상시키는 효과가 있다.As described above, in the GUI implementation method of the present invention, when the GUI is implemented, the repetitive development part is separated into an XML document and the functions required for the GUI development are provided by generalizing the elements. It enables code reuse that saves time and money. In addition, an independent XML document part can be easily created and modified through an XML builder application, thus improving the ease of development through this method.

이상에서 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하였으나, 본 발명은 이에 한정되는 것이 아니며 본 발명의 기술적 사상의 범위내에서 당업자에 의해 그 개량이나 변형이 가능하다.Although the preferred embodiments of the present invention have been described in detail with reference to the accompanying drawings, the present invention is not limited thereto and may be improved or modified by those skilled in the art within the scope of the technical idea of the present invention.

도 1은 본 발명에 따른 XML을 이용한 GUI 구현방법에서 GUI 스타트업 문서의 작성예를 설명하기 위한 도면이다. 1 is a view for explaining an example of the creation of a GUI startup document in the GUI implementation method using XML according to the present invention.

도 2는 본 발명에 따른 XML을 이용한 GUI 구현방법의 동작을 설명하기 위한 개념도이다. 2 is a conceptual diagram illustrating the operation of a GUI implementation method using XML according to the present invention.

Claims (4)

GUI 구현시에 화면 설계를 위한 모든 종류의 자바 스윙(Java Swing)요소(Component)들에 대한 특성(Property)정보를 XML 데이터 포맷으로 정리한 콘트롤 문서를 작성하는 단계;Creating a control document in which property information of all kinds of Java Swing components for screen design is arranged in an XML data format when a GUI is implemented; 상기 콘트롤 문서를 참조하여 특정 화면 설계를 위한 자바 스윙(Java Swing)요소(Component)를 표시하는 화면구성 요소(Component)를 작성하며, 상기 설계된 화면에서의 사용자의 입력을 인터페이스 클래스(Interface Class)에 저장시키고, 상기 인터페이스 클래스(Interface Class)에 저장된 출력값(상기 입력값에 대한 처리결과)을 화면에 출력시키기 위한 사용자 입출력 요소(Component)를 작성하고, 상기 사용자 입출력 처리 요소(Component)를 통한 사용자의 요구에 따른 구체적인 기능구현을 위한 기능구현 요소(Component)를 XML 데이터 포맷으로 작성하여 특정 화면을 구성하기 위한 GUI 스타트 업(Startup)문서를 작성하는 단계; Referring to the control document, a screen component for displaying a Java Swing component for a specific screen design is created, and a user's input on the designed screen is transferred to an interface class. A user input / output component for storing the output value (processing result of the input value) stored in the interface class on the screen, and a user input / output component Creating a GUI startup document for composing a specific screen by creating a function implementation component in an XML data format for implementing a specific function according to a request; 상기 GUI 스타트업 문서를 생성하고 나서, 작성된 XML 문서의 내용을 파싱(Parsing)하여 미리 정의된 로딩 클래스(Loading Class)로 변환시켜 자바 어플리 케이션(Java Application)에서 사용할 수 있는 형태로 만드는 XML 파싱(Parsing)을 수행하는 단계; 그리고, After generating the GUI startup document, parsing the contents of the created XML document and converting the content into a predefined loading class to make it usable in a Java application. Performing parsing; And, 상기 단계에서 XML 파싱(Parsing)을 통하여 로딩(Loading)된 정보를 자바 어플리케이션(Java Application)에서 사용하여 상기 XML 문서의 내용대로 GUI화면을 구성하는 화면 구성단계를 포함하는 XML을 이용한 GUI 구현방법.And constructing a GUI screen according to the content of the XML document by using the information loaded through XML parsing in a Java application. 제 1 항에 있어서, XML 데이터 포맷으로 작성된 상기 GUI 스타트 업(Startup)문서는 드래그 앤드 드롭(Drag & Drop)식으로 자바 스윙(Java Swing)요소를 선택하여 화면에 배치하고 특성(Property)들의 값을 지정하는 기능을 수행하는 XML 빌더(Builder)어플리케이션을 이용해서 작성됨을 특징으로 하는 XML을 이용한 GUI 구현방법.According to claim 1, The GUI startup document written in XML data format (Drag & Drop) Drag and drop (Java Swing) element selected on the screen and placed on the screen (Property) GUI implementation method using XML, characterized in that it is written using an XML Builder application that performs the function of specifying the. 제 1 항에 있어서, 상기 기능구현 요소(Component)는 상기 사용자를 위한 입출력 처리요소를 통하여 입력되어 상기 인터페이스 클래스(Interface Class)에 저장된 입력값에 따른 특정기능을 수행하고, 수행된 결과를 상기 인터페이스 클래스(Interface Class)에 저장시킴으로서 사용자의 요구사항을 처리하는 기능을 수행하는 것을 특징으로 하는 XML을 이용한 GUI 구현방법. The method of claim 1, wherein the function implementation component is input through an input / output processing element for the user to perform a specific function according to an input value stored in the interface class, and the result is performed on the interface. GUI implementation method using XML, characterized in that to perform the function of handling the user's requirements by storing in the Interface (Interface Class). 제 1 항에 있어서, 상기 기능구현 요소 및 사용자 입,출력 처리 요소는 사용자를 위한 자바 스윙(Java Swing)화면에서 입력값을 입력하면 자바 어플리케이션을 수행할 수 있는 자바(Java) 변수 체계로 사용자의 입력값을 변환해 주는 기능 및 상기 자바 어플리케이션이 수행되는 자바(Java) 변수 체계에서 사용자를 위한 자바 스윙(Java Swing)화면으로 출력값을 변환해 주는 기능을 수행하는 것을 특징으로 하는 XML을 이용한 GUI 구현방법. According to claim 1, The function implementation element and the user input, output processing element is a Java (Java) variable system that can execute a Java application when the input value in the Java Swing (Java Swing) screen for the user of the user GUI implementation using XML, which converts an input value and converts an output value from a Java variable system in which the Java application is executed to a Java Swing screen for a user Way.
KR1020030090019A 2003-12-11 2003-12-11 Method for realization gui using xml KR20050057822A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030090019A KR20050057822A (en) 2003-12-11 2003-12-11 Method for realization gui using xml

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030090019A KR20050057822A (en) 2003-12-11 2003-12-11 Method for realization gui using xml

Publications (1)

Publication Number Publication Date
KR20050057822A true KR20050057822A (en) 2005-06-16

Family

ID=37251535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030090019A KR20050057822A (en) 2003-12-11 2003-12-11 Method for realization gui using xml

Country Status (1)

Country Link
KR (1) KR20050057822A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007108934A1 (en) * 2006-03-16 2007-09-27 Microsoft Corporation Adaptive power management
KR100795765B1 (en) * 2004-02-27 2008-01-21 리서치 인 모션 리미티드 System and method for building wireless applications with intelligent mapping between user interface and data components
KR101048464B1 (en) * 2009-10-20 2011-07-11 한국전력공사 Home energy management device and method for providing a single point of connection between the power devices on the home network and the service portal server of the energy service provider
KR20110090651A (en) * 2010-02-04 2011-08-10 삼성전자주식회사 Method and apparatus for generating application user adapted in portable terminal
CN108182067A (en) * 2017-12-28 2018-06-19 广州芯德通信科技股份有限公司 SWING optimizes and the program of beautification
US10516573B2 (en) 2016-02-29 2019-12-24 Kmw U.S.A., Inc. Automatic configuration tool for configuring and installing distributed antenna system and installation guide using the same

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100795765B1 (en) * 2004-02-27 2008-01-21 리서치 인 모션 리미티드 System and method for building wireless applications with intelligent mapping between user interface and data components
WO2007108934A1 (en) * 2006-03-16 2007-09-27 Microsoft Corporation Adaptive power management
US7484110B2 (en) 2006-03-16 2009-01-27 Microsoft Corporation Adaptive power management
KR101048464B1 (en) * 2009-10-20 2011-07-11 한국전력공사 Home energy management device and method for providing a single point of connection between the power devices on the home network and the service portal server of the energy service provider
KR20110090651A (en) * 2010-02-04 2011-08-10 삼성전자주식회사 Method and apparatus for generating application user adapted in portable terminal
US9875109B2 (en) 2010-02-04 2018-01-23 Samsung Electronics Co., Ltd Method and apparatus for generating user adaptive application in mobile terminal
US10516573B2 (en) 2016-02-29 2019-12-24 Kmw U.S.A., Inc. Automatic configuration tool for configuring and installing distributed antenna system and installation guide using the same
CN108182067A (en) * 2017-12-28 2018-06-19 广州芯德通信科技股份有限公司 SWING optimizes and the program of beautification

Similar Documents

Publication Publication Date Title
US8170901B2 (en) Extensible framework for designing workflows
US6804686B1 (en) System and methodology for providing fixed UML layout for an object oriented class browser
CA2451164C (en) Customizable components
US8407610B2 (en) Executable and declarative specification for graphical user interfaces
EP1643435B1 (en) An extensible framework for designing workflows
US5487141A (en) Development system with methods for visual inheritance and improved object reusability
JP2012084165A (en) Program for causing computer to generate user interface
CN105094832A (en) WYSIWYG method and system for dynamically generating user interface
US20050289450A1 (en) User interface virtualization
US11349902B2 (en) System and method to standardize and improve implementation efficiency of user interface content
US7149680B2 (en) System and method for providing language-specific extensions to the compare facility in an edit system
Gregory Using Visual C++ 6
US7409642B2 (en) Method and system for applying user interface elements to data
CN109344165A (en) A kind of querying method and storage equipment
KR20050057822A (en) Method for realization gui using xml
WO2006046667A1 (en) Document processing device and document processing method
WO2006051721A1 (en) Document processing device, and document processing method
KR20170024998A (en) System for authoring and executing rule-based business application
CN115857934A (en) Method for generating form page according to configuration variable file
CN114879957A (en) Method for editing Eclipse interface and calling tool by using extensible markup language
JPH064280A (en) Graphical user interface having function of user control for object with wysiwyg type editor
WO2006051719A1 (en) Data processing device and data processing method
JPH0683594A (en) Graphical user interface, wherein withy-wig type edditer and compiler are integrated
Prompila et al. Generation of Images of WND Equivalent from HTML Prototypes
Gamma et al. ET++ 2.2—Introduction and Installation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application