Plugin Gui builder berbasis xml generator untuk membuat user

Download Report

Transcript Plugin Gui builder berbasis xml generator untuk membuat user

PLUGIN GUI BUILDER BERBASIS XML
GENERATOR UNTUK MEMBUAT USER
INTERFACE APLIKASI ANDROID PADA
NETBEANS IDE 6.91
KoTA 105
Irwan Nugraha (08501016)
Rendy Azhary (08501025)
Taufik Rohmat (08501032)
Progress Seminar 3
• Plugin GUI Builder
Analisis Pembuatan GUI Builder
Analisis GUI to XML
Analisis XML to GUI
• Perancangan
Perancangan Package Diagram
Perancangan Daftar Class
Perancangan Class Diagram
Perancangan Sequence Diagram
Perancangan Pembuatan GUI Builder
Perancangan User Interface
• Implementasi
Class
Requirement
Hasil yang telah dicapai
• Class untuk Design Layer, XML Layer, Palette, widget
•
•
•
•
•
dan layout sudah diimplementasikan
Sudah bisa menampilkan Design Layer, XML Layer,
widget dan layout
Design Layer dibuat dengan resolusi 320 x 480 dengan
mode Potrait
Dapat membaca file XML dan menampilkan pada XML
Layer
Dapat membaca file XML dan me- load object nya ke
dalam Design Layer
Fitur Drag and Drop sudah berfungsi.
Plugin GUI Builder
• Analisis Pembuatan GUI Builder
• Analisis GUI to XML
• Analisis GUI to XML
Perancangan
• Perancangan Pembuatan GUI Builder
Create Palette
Create MultiView
Arsitektur Plugin GUI Builder
Package Diagram
Class Diagram (Package Designer)
lass designer
DataEditorSupport.Env
DataEditorSupport
OpenCookie
EditorCookie
EditCookie
SaveAsCapable
«static»
AndroidEditorSupport::AndroidEnv
{leaf}
+
#
#
AndroidEnv(AndroidDataObject)
getFile() : FileObject
takeLock() : FileLock
CloneableEditor
MultiViewElement
Runnable
AndroidSourceEditor
-
callback: MultiViewElementCallback
toolbar: JComponent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
AndroidSourceEditor()
AndroidSourceEditor(AndroidEditorSupport)
canCloseElement() : CloseOperationState
componentActivated() : void
componentClosed() : void
componentDeactivated() : void
componentHidden() : void
componentOpened() : void
componentShowing() : void
getLookup() : Lookup
getToolbarRepresentation() : JComponent
getVisualRepresentation() : JComponent
run() : void
setMultiViewCallback(MultiViewElementCallback) :
void
updateName() : void
+
+
+
+
+
+
+
+
+
AndroidEditorSupport
+
-
+
+
#
+
+
#
+
+
+
+
+
+
+
+
+
+
-editor
+
MultiViewDescription
+
Serializable
#
+
AndroidTextView
+
editor: AndroidSourceEditor
-support +
support: AndroidEditorSupport
+
+
AndroidTextView(AndroidEditorSupport)
+
createElement() : MultiViewElement
+
getDisplayName() : String
+
getEd() : AndroidSourceEditor
+
getHelpCtx() : HelpCtx
+
getIcon() : Image
getPersistenceType() : int
preferredID() : String
changed: boolean
changeListeners: Vector<ChangeListener>
currentLayout: Layout = null
descriptions: MultiViewDescription ([]) {readOnly}
drawableDir: File
saveCookie: SaveCookie = new SaveCookie(...
{readOnly}
selected: AndroidWidget
specialNodeLookup: Lookup = null
specialNodeLookupIC: InstanceContent = null
addChangeListener(ChangeListener) : void
AndroidEditorSupport(AndroidDataObject)
create(AndroidDataObject) : AndroidEditorSupport
createPane() : CloneableEditorSupport.Pane
error(String) : void
findDrawable(String) : BufferedImage
findLayout(Layout, int, int) : Vector<Layout>
findLayouts(int, int) : Vector<Layout>
findWidgets(int, int) : Vector<AndroidWidget>
findWidgets(Layout, int, int) : Vector<AndroidWidget>
getCurrentLayout() : Layout
getDescriptions() : MultiViewDescription[]
getDrawableDirectory() : File
getEnv() : DataEditorSupport.Env
getSelected() : AndroidWidget
getSpecialNodeLookup() : Lookup
isChanged() : boolean
notifyModified() : boolean
notifyUnmodified() : void
reloadDocument() : Task
removeAllWidgets() : void
removeWidget(AndroidWidget) : void
saveAs(FileObject, String) : void
saveDocument() : void
select(AndroidWidget) : void
setChanged(boolean) : void
setCurrentLayout(Layout) : void
setDrawableDirectory(File) : void
setSelected(AndroidWidget) : void
setSpecialNodeLookup(Lookup) : void
MouseListener
MouseMotionListener
KeyListener
ObjectScene
DropTargetListener
ChangeListener
AndroidView erListener
AndroidScene
~
~
#
-
androidViewerListener: AndroidViewerListener
back: Image
backgroundLayer: LayerWidget
dropTarget: DropTarget
editorSupport: AndroidEditorSupport = null
jComponent: JComponent = null
layout: Layout
+
+
+
+
+
+
+
+
+
~
+
+
+
+
+
acceptDropAt(Point) : boolean
AndroidScene(AndroidEditorSupport)
dragEnter(DropTargetDragEvent) : void
dragExit(DropTargetEvent) : void
dragOver(DropTargetDragEvent) : void
drop(DropTargetDropEvent) : void
dropActionChanged(DropTargetDragEvent) : void
getAndroidLayout() : Layout
getJComponent()
-editorSupport : JComponent
getListener() : AndroidViewerListener
initScene() : void
paint(Graphics, Layout) : void
paintWidget() : void
resetScreen(Image) : void
setAndroidLayout(Layout) : void
-viewer
stateChanged(ChangeEvent) : void
-
dragging: boolean
E: int = 1 {readOnly}
editorSupport: AndroidEditorSupport
grid_x: int = 10
grid_y: int = 10
mode: int
NORMAL: int = 0 {readOnly}
off_x: int
off_y: int
S: int = 3 {readOnly}
SE: int = 2 {readOnly}
select: boolean
shift: boolean
sx: int
sy: int
viewer: AndroidScene
widgetType: JComboBox = new
JComboBox(n...
+
+
addWidget(AndroidWidget, int, int) : void
addWidget(AndroidWidget, Layout, int, int) :
void
AndroidViewerListener(AndroidEditorSupport,
AndroidScene)
createWidget() : AndroidWidget
createWidget(String) : AndroidWidget
doSelect(AndroidWidget, int, int, int) : void
getWidgetSelector() : Component
isFrameLayoutForTab(Layout, AndroidWidget) :
boolean
isTabWidgetValid(Layout, AndroidWidget) :
boolean
keyPressed(KeyEvent) : void
keyReleased(KeyEvent) : void
keyTyped(KeyEvent) : void
mouseClicked(MouseEvent) : void
mouseDragged(MouseEvent) : void
mouseEntered(MouseEvent) : void
mouseExited(MouseEvent) : void
mouseMoved(MouseEvent) : void
mousePressed(MouseEvent) : void
mouseReleased(MouseEvent) : void
setNewPosition(int, int) : void
+
+
+
#
+
-
-androidViewerListener
-editorSupport
+
+
+
+
+
+
+
+
+
+
-
Sequence Diagram (Inisiasi Plugin)
d Interaction
kota105::sel f
:Androi dDataObj ect
ic
:InstanceContent
l ookup
:AbstractLookup
Netbeans
Membaca
mani fest.mf
dan l ayer.xml ()
construct()
:i c
construct()
:l ookup
construct(thi s)
:support
add(support)
add(thi s)
add(thi s)
getPri maryFi l e()
add(getPri maryFi l e())
:Androi dEdi torSupport
User Interface Plugin
Hasil yang belum dicapai
• Widget dan Layout yang disediakan masih sedikit
• Belum terdapat panel property
Demo Program
Terima Kasih