SlideShare a Scribd company logo
Extracting ui Design - part V
MainMenuForm
© Codename One 2017 all rights reserved
@Override
protected List<String> createCategoryList() {
List<String> l = new List<String>("Breakfast",
"Lunch", "Specials", "Drinks", "Deserts") {
@Override
protected boolean shouldRenderSelection() {
return true;
}
};
((DefaultListCellRenderer<String>)l.getRenderer()).
setAlwaysRenderSelection(true);
l.setIgnoreFocusComponentWhenUnfocused(false);
l.setOrientation(List.HORIZONTAL);
l.setFixedSelection(List.FIXED_CENTER);
return l;
}
MainMenuForm
private Container createDishContainer(String title, String body, float price, Image dish) {
TextArea ta = new TextArea(body, 3, 80);
ta.setEditable(false);
ta.setFocusable(false);
ta.setGrowByContent(false);
ta.setUIID("DishListBody");
Button order = new Button("Order " + L10NManager.getInstance().
formatCurrency(price), "AddToOrderButton");
Button moreInfo = new Button("More Info", "MoreInfoButton");
Image dishMasked = MaskManager.maskWithRoundRect(dish);
Container dishContainer = BorderLayout.center(
BoxLayout.encloseY(
new Label(title, "DishListTitle"),
ta
));
dishContainer.add(BorderLayout.EAST, new Label(dishMasked));
dishContainer.add(BorderLayout.SOUTH, GridLayout.encloseIn(2, order, moreInfo));
dishContainer.setUIID("DishListEntry");
return dishContainer;
}
MainMenuForm
private Container createDishContainer(String title, String body, float price, Image dish) {
TextArea ta = new TextArea(body, 3, 80);
ta.setEditable(false);
ta.setFocusable(false);
ta.setGrowByContent(false);
ta.setUIID("DishListBody");
Button order = new Button("Order " + L10NManager.getInstance().
formatCurrency(price), "AddToOrderButton");
Button moreInfo = new Button("More Info", "MoreInfoButton");
Image dishMasked = MaskManager.maskWithRoundRect(dish);
Container dishContainer = BorderLayout.center(
BoxLayout.encloseY(
new Label(title, "DishListTitle"),
ta
));
dishContainer.add(BorderLayout.EAST, new Label(dishMasked));
dishContainer.add(BorderLayout.SOUTH, GridLayout.encloseIn(2, order, moreInfo));
dishContainer.setUIID("DishListEntry");
return dishContainer;
}
MainMenuForm
private Container createDishContainer(String title, String body, float price, Image dish) {
TextArea ta = new TextArea(body, 3, 80);
ta.setEditable(false);
ta.setFocusable(false);
ta.setGrowByContent(false);
ta.setUIID("DishListBody");
Button order = new Button("Order " + L10NManager.getInstance().
formatCurrency(price), "AddToOrderButton");
Button moreInfo = new Button("More Info", "MoreInfoButton");
Image dishMasked = MaskManager.maskWithRoundRect(dish);
Container dishContainer = BorderLayout.center(
BoxLayout.encloseY(
new Label(title, "DishListTitle"),
ta
));
dishContainer.add(BorderLayout.EAST, new Label(dishMasked));
dishContainer.add(BorderLayout.SOUTH, GridLayout.encloseIn(2, order, moreInfo));
dishContainer.setUIID("DishListEntry");
return dishContainer;
}
MainMenuForm
private static Object mask;
private static Image maskImage;
public static Image maskWithRoundRect(Image img) {
if(maskImage == null) {
maskImage = Resources.getGlobalResources().
getImage("round-rect-mask.png");
mask = maskImage.createMask();
}
Image imgMasked = img.fill(maskImage.getWidth(),
maskImage.getHeight());
imgMasked = imgMasked.applyMask(mask);
return imgMasked;
}
Masking

More Related Content

PDF
Extracting ui Design - part 5 - transcript.pdf
PDF
Miscellaneous Features - Part 3 - Transcript.pdf
PDF
Architecture - Part 2 - Transcript.pdf
PDF
Miscellaneous Features - Part 1.pdf
PDF
Miscellaneous Features - Part 1 - Transcript.pdf
PDF
UI Design From Scratch - Part 5 - transcript.pdf
PDF
Initial UI Mockup - Part 3.pdf
PDF
Initial UI Mockup - Part 3 - Transcript.pdf
Extracting ui Design - part 5 - transcript.pdf
Miscellaneous Features - Part 3 - Transcript.pdf
Architecture - Part 2 - Transcript.pdf
Miscellaneous Features - Part 1.pdf
Miscellaneous Features - Part 1 - Transcript.pdf
UI Design From Scratch - Part 5 - transcript.pdf
Initial UI Mockup - Part 3.pdf
Initial UI Mockup - Part 3 - Transcript.pdf

Similar to Extracting ui Design - part 5.pdf (13)

PDF
UI Design From Scratch - Part 5.pdf
PDF
Architecture - Part 2.pdf
PDF
Miscellaneous Features - Part 3.pdf
PDF
Adapting to Tablets and Desktops - Part 3 - Transcript.pdf
PDF
Architecture - Part 1 - Transcript.pdf
PPTX
Java me lab2-slides (gui programming)
PDF
Adapting to Tablets and Desktops - Part 3.pdf
PDF
Extracting ui Design - part 4 - transcript.pdf
PDF
Extracting ui Design - part 4.pdf
PDF
Architecture - Part 1.pdf
PDF
Extracting ui Design - part 6 - transcript.pdf
PDF
Miscellaneous Features - Part 2 - Transcript.pdf
PDF
Extracting ui Design - part 3 - transcript.pdf
UI Design From Scratch - Part 5.pdf
Architecture - Part 2.pdf
Miscellaneous Features - Part 3.pdf
Adapting to Tablets and Desktops - Part 3 - Transcript.pdf
Architecture - Part 1 - Transcript.pdf
Java me lab2-slides (gui programming)
Adapting to Tablets and Desktops - Part 3.pdf
Extracting ui Design - part 4 - transcript.pdf
Extracting ui Design - part 4.pdf
Architecture - Part 1.pdf
Extracting ui Design - part 6 - transcript.pdf
Miscellaneous Features - Part 2 - Transcript.pdf
Extracting ui Design - part 3 - transcript.pdf
Ad

More from ShaiAlmog1 (20)

PDF
The Duck Teaches Learn to debug from the masters. Local to production- kill ...
PDF
create-netflix-clone-06-client-ui.pdf
PDF
create-netflix-clone-01-introduction_transcript.pdf
PDF
create-netflix-clone-02-server_transcript.pdf
PDF
create-netflix-clone-04-server-continued_transcript.pdf
PDF
create-netflix-clone-01-introduction.pdf
PDF
create-netflix-clone-06-client-ui_transcript.pdf
PDF
create-netflix-clone-03-server.pdf
PDF
create-netflix-clone-04-server-continued.pdf
PDF
create-netflix-clone-05-client-model_transcript.pdf
PDF
create-netflix-clone-03-server_transcript.pdf
PDF
create-netflix-clone-02-server.pdf
PDF
create-netflix-clone-05-client-model.pdf
PDF
Creating a Whatsapp Clone - Part II.pdf
PDF
Creating a Whatsapp Clone - Part IX - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part II - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part V - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part IV - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part IV.pdf
PDF
Creating a Whatsapp Clone - Part I - Transcript.pdf
The Duck Teaches Learn to debug from the masters. Local to production- kill ...
create-netflix-clone-06-client-ui.pdf
create-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-02-server_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-01-introduction.pdf
create-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-03-server.pdf
create-netflix-clone-04-server-continued.pdf
create-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-03-server_transcript.pdf
create-netflix-clone-02-server.pdf
create-netflix-clone-05-client-model.pdf
Creating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdf
Ad

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
KodekX | Application Modernization Development
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPT
Teaching material agriculture food technology
Electronic commerce courselecture one. Pdf
Unlocking AI with Model Context Protocol (MCP)
Understanding_Digital_Forensics_Presentation.pptx
Chapter 3 Spatial Domain Image Processing.pdf
KodekX | Application Modernization Development
Spectral efficient network and resource selection model in 5G networks
Programs and apps: productivity, graphics, security and other tools
MYSQL Presentation for SQL database connectivity
20250228 LYD VKU AI Blended-Learning.pptx
Approach and Philosophy of On baking technology
Encapsulation_ Review paper, used for researhc scholars
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Mobile App Security Testing_ A Comprehensive Guide.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
cuic standard and advanced reporting.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Teaching material agriculture food technology

Extracting ui Design - part 5.pdf

  • 2. MainMenuForm © Codename One 2017 all rights reserved
  • 3. @Override protected List<String> createCategoryList() { List<String> l = new List<String>("Breakfast", "Lunch", "Specials", "Drinks", "Deserts") { @Override protected boolean shouldRenderSelection() { return true; } }; ((DefaultListCellRenderer<String>)l.getRenderer()). setAlwaysRenderSelection(true); l.setIgnoreFocusComponentWhenUnfocused(false); l.setOrientation(List.HORIZONTAL); l.setFixedSelection(List.FIXED_CENTER); return l; } MainMenuForm
  • 4. private Container createDishContainer(String title, String body, float price, Image dish) { TextArea ta = new TextArea(body, 3, 80); ta.setEditable(false); ta.setFocusable(false); ta.setGrowByContent(false); ta.setUIID("DishListBody"); Button order = new Button("Order " + L10NManager.getInstance(). formatCurrency(price), "AddToOrderButton"); Button moreInfo = new Button("More Info", "MoreInfoButton"); Image dishMasked = MaskManager.maskWithRoundRect(dish); Container dishContainer = BorderLayout.center( BoxLayout.encloseY( new Label(title, "DishListTitle"), ta )); dishContainer.add(BorderLayout.EAST, new Label(dishMasked)); dishContainer.add(BorderLayout.SOUTH, GridLayout.encloseIn(2, order, moreInfo)); dishContainer.setUIID("DishListEntry"); return dishContainer; } MainMenuForm
  • 5. private Container createDishContainer(String title, String body, float price, Image dish) { TextArea ta = new TextArea(body, 3, 80); ta.setEditable(false); ta.setFocusable(false); ta.setGrowByContent(false); ta.setUIID("DishListBody"); Button order = new Button("Order " + L10NManager.getInstance(). formatCurrency(price), "AddToOrderButton"); Button moreInfo = new Button("More Info", "MoreInfoButton"); Image dishMasked = MaskManager.maskWithRoundRect(dish); Container dishContainer = BorderLayout.center( BoxLayout.encloseY( new Label(title, "DishListTitle"), ta )); dishContainer.add(BorderLayout.EAST, new Label(dishMasked)); dishContainer.add(BorderLayout.SOUTH, GridLayout.encloseIn(2, order, moreInfo)); dishContainer.setUIID("DishListEntry"); return dishContainer; } MainMenuForm
  • 6. private Container createDishContainer(String title, String body, float price, Image dish) { TextArea ta = new TextArea(body, 3, 80); ta.setEditable(false); ta.setFocusable(false); ta.setGrowByContent(false); ta.setUIID("DishListBody"); Button order = new Button("Order " + L10NManager.getInstance(). formatCurrency(price), "AddToOrderButton"); Button moreInfo = new Button("More Info", "MoreInfoButton"); Image dishMasked = MaskManager.maskWithRoundRect(dish); Container dishContainer = BorderLayout.center( BoxLayout.encloseY( new Label(title, "DishListTitle"), ta )); dishContainer.add(BorderLayout.EAST, new Label(dishMasked)); dishContainer.add(BorderLayout.SOUTH, GridLayout.encloseIn(2, order, moreInfo)); dishContainer.setUIID("DishListEntry"); return dishContainer; } MainMenuForm
  • 7. private static Object mask; private static Image maskImage; public static Image maskWithRoundRect(Image img) { if(maskImage == null) { maskImage = Resources.getGlobalResources(). getImage("round-rect-mask.png"); mask = maskImage.createMask(); } Image imgMasked = img.fill(maskImage.getWidth(), maskImage.getHeight()); imgMasked = imgMasked.applyMask(mask); return imgMasked; } Masking