SlideShare a Scribd company logo
1 of 32
Download to read offline
Creating a Facebook Clone - Part IV
© Codename One 2017 all rights reserved
© Codename One 2017 all rights reserved
© Codename One 2017 all rights reserved
© Codename One 2017 all rights reserved
public class LoginForm extends Form {
private Label logo =
new Label("uf308", "IconFont");
private TextField user = new TextField("", "Email or Phone", 30,
TextField.EMAILADDR);
private TextField password = new TextField("", "Password", 30,
TextField.PASSWORD);
private Button login = new Button("Log In");
private Button signUp = new Button("Sign Up for Facebook");
private Button needHelp = new Button("Need Help?");
public LoginForm() {
super(new BorderLayout());
getToolbar().setUIID("Container");
logo.setName("Logo");
Container logoContainer = BorderLayout.centerAbsolute(logo);
logoContainer.setUIID("LoginTitle");
add(NORTH, logoContainer);
if(!isTablet()) {
BorderLayout bl = ((BorderLayout)getLayout());
LoginForm
public class LoginForm extends Form {
private Label logo =
new Label("uf308", "IconFont");
private TextField user = new TextField("", "Email or Phone", 30,
TextField.EMAILADDR);
private TextField password = new TextField("", "Password", 30,
TextField.PASSWORD);
private Button login = new Button("Log In");
private Button signUp = new Button("Sign Up for Facebook");
private Button needHelp = new Button("Need Help?");
public LoginForm() {
super(new BorderLayout());
getToolbar().setUIID("Container");
logo.setName("Logo");
Container logoContainer = BorderLayout.centerAbsolute(logo);
logoContainer.setUIID("LoginTitle");
add(NORTH, logoContainer);
if(!isTablet()) {
BorderLayout bl = ((BorderLayout)getLayout());
LoginForm
public class LoginForm extends Form {
private Label logo =
new Label("uf308", "IconFont");
private TextField user = new TextField("", "Email or Phone", 30,
TextField.EMAILADDR);
private TextField password = new TextField("", "Password", 30,
TextField.PASSWORD);
private Button login = new Button("Log In");
private Button signUp = new Button("Sign Up for Facebook");
private Button needHelp = new Button("Need Help?");
public LoginForm() {
super(new BorderLayout());
getToolbar().setUIID("Container");
logo.setName("Logo");
Container logoContainer = BorderLayout.centerAbsolute(logo);
logoContainer.setUIID("LoginTitle");
add(NORTH, logoContainer);
if(!isTablet()) {
BorderLayout bl = ((BorderLayout)getLayout());
LoginForm
public class LoginForm extends Form {
private Label logo =
new Label("uf308", "IconFont");
private TextField user = new TextField("", "Email or Phone", 30,
TextField.EMAILADDR);
private TextField password = new TextField("", "Password", 30,
TextField.PASSWORD);
private Button login = new Button("Log In");
private Button signUp = new Button("Sign Up for Facebook");
private Button needHelp = new Button("Need Help?");
public LoginForm() {
super(new BorderLayout());
getToolbar().setUIID("Container");
logo.setName("Logo");
Container logoContainer = BorderLayout.centerAbsolute(logo);
logoContainer.setUIID("LoginTitle");
add(NORTH, logoContainer);
if(!isTablet()) {
BorderLayout bl = ((BorderLayout)getLayout());
LoginForm
public class LoginForm extends Form {
private Label logo =
new Label("uf308", "IconFont");
private TextField user = new TextField("", "Email or Phone", 30,
TextField.EMAILADDR);
private TextField password = new TextField("", "Password", 30,
TextField.PASSWORD);
private Button login = new Button("Log In");
private Button signUp = new Button("Sign Up for Facebook");
private Button needHelp = new Button("Need Help?");
public LoginForm() {
super(new BorderLayout());
getToolbar().setUIID("Container");
logo.setName("Logo");
Container logoContainer = BorderLayout.centerAbsolute(logo);
logoContainer.setUIID("LoginTitle");
add(NORTH, logoContainer);
if(!isTablet()) {
BorderLayout bl = ((BorderLayout)getLayout());
LoginForm
public class LoginForm extends Form {
private Label logo =
new Label("uf308", "IconFont");
private TextField user = new TextField("", "Email or Phone", 30,
TextField.EMAILADDR);
private TextField password = new TextField("", "Password", 30,
TextField.PASSWORD);
private Button login = new Button("Log In");
private Button signUp = new Button("Sign Up for Facebook");
private Button needHelp = new Button("Need Help?");
public LoginForm() {
super(new BorderLayout());
getToolbar().setUIID("Container");
logo.setName("Logo");
Container logoContainer = BorderLayout.centerAbsolute(logo);
logoContainer.setUIID("LoginTitle");
add(NORTH, logoContainer);
if(!isTablet()) {
BorderLayout bl = ((BorderLayout)getLayout());
LoginForm
super(new BorderLayout());
getToolbar().setUIID("Container");
logo.setName("Logo");
Container logoContainer = BorderLayout.centerAbsolute(logo);
logoContainer.setUIID("LoginTitle");
add(NORTH, logoContainer);
if(!isTablet()) {
BorderLayout bl = ((BorderLayout)getLayout());
bl.defineLandscapeSwap(NORTH, EAST);
}
if(getUIManager().
isThemeConstant("ComponentGroupBool", false)) {
Container content = BorderLayout.centerAbsolute(
BoxLayout.encloseY(
ComponentGroup.enclose(user, password),
login));
content.setUIID("PaddedContainer");
add(CENTER, content);
login.setUIID("BlueButtonOnBlueBackground");
setUIID("SplashForm");
signUp.setUIID("WhiteLinkButton");
needHelp.setUIID("WhiteLinkButton");
content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp));
} else {
LoginForm
super(new BorderLayout());
getToolbar().setUIID("Container");
logo.setName("Logo");
Container logoContainer = BorderLayout.centerAbsolute(logo);
logoContainer.setUIID("LoginTitle");
add(NORTH, logoContainer);
if(!isTablet()) {
BorderLayout bl = ((BorderLayout)getLayout());
bl.defineLandscapeSwap(NORTH, EAST);
}
if(getUIManager().
isThemeConstant("ComponentGroupBool", false)) {
Container content = BorderLayout.centerAbsolute(
BoxLayout.encloseY(
ComponentGroup.enclose(user, password),
login));
content.setUIID("PaddedContainer");
add(CENTER, content);
login.setUIID("BlueButtonOnBlueBackground");
setUIID("SplashForm");
signUp.setUIID("WhiteLinkButton");
needHelp.setUIID("WhiteLinkButton");
content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp));
} else {
LoginForm
super(new BorderLayout());
getToolbar().setUIID("Container");
logo.setName("Logo");
Container logoContainer = BorderLayout.centerAbsolute(logo);
logoContainer.setUIID("LoginTitle");
add(NORTH, logoContainer);
if(!isTablet()) {
BorderLayout bl = ((BorderLayout)getLayout());
bl.defineLandscapeSwap(NORTH, EAST);
}
if(getUIManager().
isThemeConstant("ComponentGroupBool", false)) {
Container content = BorderLayout.centerAbsolute(
BoxLayout.encloseY(
ComponentGroup.enclose(user, password),
login));
content.setUIID("PaddedContainer");
add(CENTER, content);
login.setUIID("BlueButtonOnBlueBackground");
setUIID("SplashForm");
signUp.setUIID("WhiteLinkButton");
needHelp.setUIID("WhiteLinkButton");
content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp));
} else {
LoginForm
super(new BorderLayout());
getToolbar().setUIID("Container");
logo.setName("Logo");
Container logoContainer = BorderLayout.centerAbsolute(logo);
logoContainer.setUIID("LoginTitle");
add(NORTH, logoContainer);
if(!isTablet()) {
BorderLayout bl = ((BorderLayout)getLayout());
bl.defineLandscapeSwap(NORTH, EAST);
}
if(getUIManager().
isThemeConstant("ComponentGroupBool", false)) {
Container content = BorderLayout.centerAbsolute(
BoxLayout.encloseY(
ComponentGroup.enclose(user, password),
login));
content.setUIID("PaddedContainer");
add(CENTER, content);
login.setUIID("BlueButtonOnBlueBackground");
setUIID("SplashForm");
signUp.setUIID("WhiteLinkButton");
needHelp.setUIID("WhiteLinkButton");
content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp));
} else {
LoginForm
super(new BorderLayout());
getToolbar().setUIID("Container");
logo.setName("Logo");
Container logoContainer = BorderLayout.centerAbsolute(logo);
logoContainer.setUIID("LoginTitle");
add(NORTH, logoContainer);
if(!isTablet()) {
BorderLayout bl = ((BorderLayout)getLayout());
bl.defineLandscapeSwap(NORTH, EAST);
}
if(getUIManager().
isThemeConstant("ComponentGroupBool", false)) {
Container content = BorderLayout.centerAbsolute(
BoxLayout.encloseY(
ComponentGroup.enclose(user, password),
login));
content.setUIID("PaddedContainer");
add(CENTER, content);
login.setUIID("BlueButtonOnBlueBackground");
setUIID("SplashForm");
signUp.setUIID("WhiteLinkButton");
needHelp.setUIID("WhiteLinkButton");
content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp));
} else {
LoginForm
super(new BorderLayout());
getToolbar().setUIID("Container");
logo.setName("Logo");
Container logoContainer = BorderLayout.centerAbsolute(logo);
logoContainer.setUIID("LoginTitle");
add(NORTH, logoContainer);
if(!isTablet()) {
BorderLayout bl = ((BorderLayout)getLayout());
bl.defineLandscapeSwap(NORTH, EAST);
}
if(getUIManager().
isThemeConstant("ComponentGroupBool", false)) {
Container content = BorderLayout.centerAbsolute(
BoxLayout.encloseY(
ComponentGroup.enclose(user, password),
login));
content.setUIID("PaddedContainer");
add(CENTER, content);
login.setUIID("BlueButtonOnBlueBackground");
setUIID("SplashForm");
signUp.setUIID("WhiteLinkButton");
needHelp.setUIID("WhiteLinkButton");
content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp));
} else {
LoginForm
content.setUIID("PaddedContainer");
add(CENTER, content);
login.setUIID("BlueButtonOnBlueBackground");
setUIID("SplashForm");
signUp.setUIID("WhiteLinkButton");
needHelp.setUIID("WhiteLinkButton");
content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp));
} else {
login.setUIID("BlueButton");
Button forgotPassword = new Button("Forgot Password", "BlueText");
signUp.setUIID("GreenButton");
signUp.setText("Create new Facebook Account");
Container cnt = BoxLayout.encloseY(
user, password, login, forgotPassword, signUp);
cnt.setUIID("PaddedContainer");
cnt.setScrollableY(true);
add(CENTER, cnt);
}
}
protected boolean shouldPaintStatusBar() {
return false;
}
}
LoginForm
content.setUIID("PaddedContainer");
add(CENTER, content);
login.setUIID("BlueButtonOnBlueBackground");
setUIID("SplashForm");
signUp.setUIID("WhiteLinkButton");
needHelp.setUIID("WhiteLinkButton");
content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp));
} else {
login.setUIID("BlueButton");
Button forgotPassword = new Button("Forgot Password", "BlueText");
signUp.setUIID("GreenButton");
signUp.setText("Create new Facebook Account");
Container cnt = BoxLayout.encloseY(
user, password, login, forgotPassword, signUp);
cnt.setUIID("PaddedContainer");
cnt.setScrollableY(true);
add(CENTER, cnt);
}
}
protected boolean shouldPaintStatusBar() {
return false;
}
}
LoginForm
Why we Need the Content Container
© Codename One 2017 all rights reserved
#Constants {
includeNativeBool: true;
scrollVisibleBool: false;
labelGap: 2;
capsButtonUiids:"BlueText,GreenButton,BlueButton";
}
theme.css
© Codename One 2017 all rights reserved
LoginTitle {
background-image: url(images/login-banner.jpg);
cn1-source-dpi: 0;
cn1-background-type: cn1-image-scaled-fill;
margin: 0px;
padding: 8mm;
}
PaddedContainer {
padding: 3mm;
margin: 0mm;
background: transparent;
}
BaseButton {
text-align: center;
font-family: "native:MainRegular";
font-size: 2.6mm;
padding: 1.4mm;
margin: 2mm;
color: white;
}
BlueButtonOnBlueBackground {
theme.css
LoginTitle {
background-image: url(images/login-banner.jpg);
cn1-source-dpi: 0;
cn1-background-type: cn1-image-scaled-fill;
margin: 0px;
padding: 8mm;
}
PaddedContainer {
padding: 3mm;
margin: 0mm;
background: transparent;
}
BaseButton {
text-align: center;
font-family: "native:MainRegular";
font-size: 2.6mm;
padding: 1.4mm;
margin: 2mm;
color: white;
}
BlueButtonOnBlueBackground {
theme.css
LoginTitle {
background-image: url(images/login-banner.jpg);
cn1-source-dpi: 0;
cn1-background-type: cn1-image-scaled-fill;
margin: 0px;
padding: 8mm;
}
PaddedContainer {
padding: 3mm;
margin: 0mm;
background: transparent;
}
BaseButton {
text-align: center;
font-family: "native:MainRegular";
font-size: 2.6mm;
padding: 1.4mm;
margin: 2mm;
color: white;
}
BlueButtonOnBlueBackground {
theme.css
LoginTitle {
background-image: url(images/login-banner.jpg);
cn1-source-dpi: 0;
cn1-background-type: cn1-image-scaled-fill;
margin: 0px;
padding: 8mm;
}
PaddedContainer {
padding: 3mm;
margin: 0mm;
background: transparent;
}
BaseButton {
text-align: center;
font-family: "native:MainRegular";
font-size: 2.6mm;
padding: 1.4mm;
margin: 2mm;
color: white;
}
BlueButtonOnBlueBackground {
theme.css
LoginTitle {
background-image: url(images/login-banner.jpg);
cn1-source-dpi: 0;
cn1-background-type: cn1-image-scaled-fill;
margin: 0px;
padding: 8mm;
}
PaddedContainer {
padding: 3mm;
margin: 0mm;
background: transparent;
}
BaseButton {
text-align: center;
font-family: "native:MainRegular";
font-size: 2.6mm;
padding: 1.4mm;
margin: 2mm;
color: white;
}
BlueButtonOnBlueBackground {
theme.css
LoginTitle {
background-image: url(images/login-banner.jpg);
cn1-source-dpi: 0;
cn1-background-type: cn1-image-scaled-fill;
margin: 0px;
padding: 8mm;
}
PaddedContainer {
padding: 3mm;
margin: 0mm;
background: transparent;
}
BaseButton {
text-align: center;
font-family: "native:MainRegular";
font-size: 2.6mm;
padding: 1.4mm;
margin: 2mm;
color: white;
}
BlueButtonOnBlueBackground {
theme.css
padding: 1.4mm;
margin: 2mm;
color: white;
}
BlueButtonOnBlueBackground {
border-radius: 1mm;
background: #587EBE;
cn1-derive: BaseButton;
}
BlueButton {
background: #587EBE;
font-family: "native:MainBold";
cn1-derive: BaseButton;
}
BlueText {
cn1-derive: BaseButton;
font-family: "native:MainBold";
color: #385898;
background: transparent;
}
GreenButton {
cn1-derive: BaseButton;
font-family: "native:MainBold";
background: #00A400;
theme.css
}
GreenButton {
cn1-derive: BaseButton;
font-family: "native:MainBold";
background: #00A400;
}
WhiteLinkButton {
cn1-derive: BaseButton;
font-family: "native:MainLight";
margin: 0px;
}
TextHint {
font-family: "native:MainLight";
font-size: 2.6mm;
padding: 2mm;
}
TextField {
margin: 2mm;
}
GroupElementFirst {
padding: 3mm;
}
GroupElementLast {
padding: 3mm;
theme.css
GreenButton {
cn1-derive: BaseButton;
font-family: "native:MainBold";
background: #00A400;
}
WhiteLinkButton {
cn1-derive: BaseButton;
font-family: "native:MainLight";
margin: 0px;
}
TextHint {
font-family: "native:MainLight";
font-size: 2.6mm;
padding: 2mm;
}
TextField {
margin: 2mm;
}
GroupElementFirst {
padding: 3mm;
}
GroupElementLast {
padding: 3mm;
}
theme.css
public static void showLoginForm() {
new LoginForm().show();
}
UIController

More Related Content

Similar to Creating a Facebook Clone - Part IV.pdf

Creating a Facebook Clone - Part VII.pdf
Creating a Facebook Clone - Part VII.pdfCreating a Facebook Clone - Part VII.pdf
Creating a Facebook Clone - Part VII.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XLI.pdf
Creating a Facebook Clone - Part XLI.pdfCreating a Facebook Clone - Part XLI.pdf
Creating a Facebook Clone - Part XLI.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XV - Transcript.pdf
Creating a Facebook Clone - Part XV - Transcript.pdfCreating a Facebook Clone - Part XV - Transcript.pdf
Creating a Facebook Clone - Part XV - Transcript.pdfShaiAlmog1
 
Creating an Uber Clone - Part V.pdf
Creating an Uber Clone - Part V.pdfCreating an Uber Clone - Part V.pdf
Creating an Uber Clone - Part V.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XXXV - Transcript.pdf
Creating a Facebook Clone - Part XXXV - Transcript.pdfCreating a Facebook Clone - Part XXXV - Transcript.pdf
Creating a Facebook Clone - Part XXXV - Transcript.pdfShaiAlmog1
 
Creating an Uber Clone - Part V - Transcript.pdf
Creating an Uber Clone - Part V - Transcript.pdfCreating an Uber Clone - Part V - Transcript.pdf
Creating an Uber Clone - Part V - Transcript.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XXXV.pdf
Creating a Facebook Clone - Part XXXV.pdfCreating a Facebook Clone - Part XXXV.pdf
Creating a Facebook Clone - Part XXXV.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XXVIII - Transcript.pdf
Creating a Facebook Clone - Part XXVIII - Transcript.pdfCreating a Facebook Clone - Part XXVIII - Transcript.pdf
Creating a Facebook Clone - Part XXVIII - Transcript.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XLII.pdf
Creating a Facebook Clone - Part XLII.pdfCreating a Facebook Clone - Part XLII.pdf
Creating a Facebook Clone - Part XLII.pdfShaiAlmog1
 
Creating a Facebook Clone - Part VIII.pdf
Creating a Facebook Clone - Part VIII.pdfCreating a Facebook Clone - Part VIII.pdf
Creating a Facebook Clone - Part VIII.pdfShaiAlmog1
 
UI Framework Development using GWT and HTML Canvas - By Iarosla Kobyliukh
UI Framework Development using GWT and HTML Canvas - By Iarosla KobyliukhUI Framework Development using GWT and HTML Canvas - By Iarosla Kobyliukh
UI Framework Development using GWT and HTML Canvas - By Iarosla KobyliukhGWTcon
 
Creating a Facebook Clone - Part VIII - Transcript.pdf
Creating a Facebook Clone - Part VIII - Transcript.pdfCreating a Facebook Clone - Part VIII - Transcript.pdf
Creating a Facebook Clone - Part VIII - Transcript.pdfShaiAlmog1
 
Initial UI Mockup - Part 2.pdf
Initial UI Mockup - Part 2.pdfInitial UI Mockup - Part 2.pdf
Initial UI Mockup - Part 2.pdfShaiAlmog1
 
Initial UI Mockup - Part 2 - Transcript.pdf
Initial UI Mockup - Part 2 - Transcript.pdfInitial UI Mockup - Part 2 - Transcript.pdf
Initial UI Mockup - Part 2 - Transcript.pdfShaiAlmog1
 
Why am I getting an out of memory error and no window of my .pdf
Why am I getting an out of memory error and no window of my .pdfWhy am I getting an out of memory error and no window of my .pdf
Why am I getting an out of memory error and no window of my .pdfaakarcreations1
 
Creating a Facebook Clone - Part XXX.pdf
Creating a Facebook Clone - Part XXX.pdfCreating a Facebook Clone - Part XXX.pdf
Creating a Facebook Clone - Part XXX.pdfShaiAlmog1
 
Object Oriented Programming Session 4 part 2 Slides .pptx
Object Oriented Programming Session 4 part 2 Slides .pptxObject Oriented Programming Session 4 part 2 Slides .pptx
Object Oriented Programming Session 4 part 2 Slides .pptxr209777z
 
Adapting to Tablets and Desktops - Part 1.pdf
Adapting to Tablets and Desktops - Part 1.pdfAdapting to Tablets and Desktops - Part 1.pdf
Adapting to Tablets and Desktops - Part 1.pdfShaiAlmog1
 
Creating an Uber - Part VI.pdf
Creating an Uber - Part VI.pdfCreating an Uber - Part VI.pdf
Creating an Uber - Part VI.pdfShaiAlmog1
 
Creating an Uber Clone - Part XXXX - Transcript.pdf
Creating an Uber Clone - Part XXXX - Transcript.pdfCreating an Uber Clone - Part XXXX - Transcript.pdf
Creating an Uber Clone - Part XXXX - Transcript.pdfShaiAlmog1
 

Similar to Creating a Facebook Clone - Part IV.pdf (20)

Creating a Facebook Clone - Part VII.pdf
Creating a Facebook Clone - Part VII.pdfCreating a Facebook Clone - Part VII.pdf
Creating a Facebook Clone - Part VII.pdf
 
Creating a Facebook Clone - Part XLI.pdf
Creating a Facebook Clone - Part XLI.pdfCreating a Facebook Clone - Part XLI.pdf
Creating a Facebook Clone - Part XLI.pdf
 
Creating a Facebook Clone - Part XV - Transcript.pdf
Creating a Facebook Clone - Part XV - Transcript.pdfCreating a Facebook Clone - Part XV - Transcript.pdf
Creating a Facebook Clone - Part XV - Transcript.pdf
 
Creating an Uber Clone - Part V.pdf
Creating an Uber Clone - Part V.pdfCreating an Uber Clone - Part V.pdf
Creating an Uber Clone - Part V.pdf
 
Creating a Facebook Clone - Part XXXV - Transcript.pdf
Creating a Facebook Clone - Part XXXV - Transcript.pdfCreating a Facebook Clone - Part XXXV - Transcript.pdf
Creating a Facebook Clone - Part XXXV - Transcript.pdf
 
Creating an Uber Clone - Part V - Transcript.pdf
Creating an Uber Clone - Part V - Transcript.pdfCreating an Uber Clone - Part V - Transcript.pdf
Creating an Uber Clone - Part V - Transcript.pdf
 
Creating a Facebook Clone - Part XXXV.pdf
Creating a Facebook Clone - Part XXXV.pdfCreating a Facebook Clone - Part XXXV.pdf
Creating a Facebook Clone - Part XXXV.pdf
 
Creating a Facebook Clone - Part XXVIII - Transcript.pdf
Creating a Facebook Clone - Part XXVIII - Transcript.pdfCreating a Facebook Clone - Part XXVIII - Transcript.pdf
Creating a Facebook Clone - Part XXVIII - Transcript.pdf
 
Creating a Facebook Clone - Part XLII.pdf
Creating a Facebook Clone - Part XLII.pdfCreating a Facebook Clone - Part XLII.pdf
Creating a Facebook Clone - Part XLII.pdf
 
Creating a Facebook Clone - Part VIII.pdf
Creating a Facebook Clone - Part VIII.pdfCreating a Facebook Clone - Part VIII.pdf
Creating a Facebook Clone - Part VIII.pdf
 
UI Framework Development using GWT and HTML Canvas - By Iarosla Kobyliukh
UI Framework Development using GWT and HTML Canvas - By Iarosla KobyliukhUI Framework Development using GWT and HTML Canvas - By Iarosla Kobyliukh
UI Framework Development using GWT and HTML Canvas - By Iarosla Kobyliukh
 
Creating a Facebook Clone - Part VIII - Transcript.pdf
Creating a Facebook Clone - Part VIII - Transcript.pdfCreating a Facebook Clone - Part VIII - Transcript.pdf
Creating a Facebook Clone - Part VIII - Transcript.pdf
 
Initial UI Mockup - Part 2.pdf
Initial UI Mockup - Part 2.pdfInitial UI Mockup - Part 2.pdf
Initial UI Mockup - Part 2.pdf
 
Initial UI Mockup - Part 2 - Transcript.pdf
Initial UI Mockup - Part 2 - Transcript.pdfInitial UI Mockup - Part 2 - Transcript.pdf
Initial UI Mockup - Part 2 - Transcript.pdf
 
Why am I getting an out of memory error and no window of my .pdf
Why am I getting an out of memory error and no window of my .pdfWhy am I getting an out of memory error and no window of my .pdf
Why am I getting an out of memory error and no window of my .pdf
 
Creating a Facebook Clone - Part XXX.pdf
Creating a Facebook Clone - Part XXX.pdfCreating a Facebook Clone - Part XXX.pdf
Creating a Facebook Clone - Part XXX.pdf
 
Object Oriented Programming Session 4 part 2 Slides .pptx
Object Oriented Programming Session 4 part 2 Slides .pptxObject Oriented Programming Session 4 part 2 Slides .pptx
Object Oriented Programming Session 4 part 2 Slides .pptx
 
Adapting to Tablets and Desktops - Part 1.pdf
Adapting to Tablets and Desktops - Part 1.pdfAdapting to Tablets and Desktops - Part 1.pdf
Adapting to Tablets and Desktops - Part 1.pdf
 
Creating an Uber - Part VI.pdf
Creating an Uber - Part VI.pdfCreating an Uber - Part VI.pdf
Creating an Uber - Part VI.pdf
 
Creating an Uber Clone - Part XXXX - Transcript.pdf
Creating an Uber Clone - Part XXXX - Transcript.pdfCreating an Uber Clone - Part XXXX - Transcript.pdf
Creating an Uber Clone - Part XXXX - Transcript.pdf
 

More from ShaiAlmog1

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

More from ShaiAlmog1 (20)

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

Recently uploaded

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Recently uploaded (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Creating a Facebook Clone - Part IV.pdf

  • 1. Creating a Facebook Clone - Part IV
  • 2. © Codename One 2017 all rights reserved
  • 3. © Codename One 2017 all rights reserved
  • 4. © Codename One 2017 all rights reserved
  • 5. © Codename One 2017 all rights reserved
  • 6. public class LoginForm extends Form { private Label logo = new Label("uf308", "IconFont"); private TextField user = new TextField("", "Email or Phone", 30, TextField.EMAILADDR); private TextField password = new TextField("", "Password", 30, TextField.PASSWORD); private Button login = new Button("Log In"); private Button signUp = new Button("Sign Up for Facebook"); private Button needHelp = new Button("Need Help?"); public LoginForm() { super(new BorderLayout()); getToolbar().setUIID("Container"); logo.setName("Logo"); Container logoContainer = BorderLayout.centerAbsolute(logo); logoContainer.setUIID("LoginTitle"); add(NORTH, logoContainer); if(!isTablet()) { BorderLayout bl = ((BorderLayout)getLayout()); LoginForm
  • 7. public class LoginForm extends Form { private Label logo = new Label("uf308", "IconFont"); private TextField user = new TextField("", "Email or Phone", 30, TextField.EMAILADDR); private TextField password = new TextField("", "Password", 30, TextField.PASSWORD); private Button login = new Button("Log In"); private Button signUp = new Button("Sign Up for Facebook"); private Button needHelp = new Button("Need Help?"); public LoginForm() { super(new BorderLayout()); getToolbar().setUIID("Container"); logo.setName("Logo"); Container logoContainer = BorderLayout.centerAbsolute(logo); logoContainer.setUIID("LoginTitle"); add(NORTH, logoContainer); if(!isTablet()) { BorderLayout bl = ((BorderLayout)getLayout()); LoginForm
  • 8. public class LoginForm extends Form { private Label logo = new Label("uf308", "IconFont"); private TextField user = new TextField("", "Email or Phone", 30, TextField.EMAILADDR); private TextField password = new TextField("", "Password", 30, TextField.PASSWORD); private Button login = new Button("Log In"); private Button signUp = new Button("Sign Up for Facebook"); private Button needHelp = new Button("Need Help?"); public LoginForm() { super(new BorderLayout()); getToolbar().setUIID("Container"); logo.setName("Logo"); Container logoContainer = BorderLayout.centerAbsolute(logo); logoContainer.setUIID("LoginTitle"); add(NORTH, logoContainer); if(!isTablet()) { BorderLayout bl = ((BorderLayout)getLayout()); LoginForm
  • 9. public class LoginForm extends Form { private Label logo = new Label("uf308", "IconFont"); private TextField user = new TextField("", "Email or Phone", 30, TextField.EMAILADDR); private TextField password = new TextField("", "Password", 30, TextField.PASSWORD); private Button login = new Button("Log In"); private Button signUp = new Button("Sign Up for Facebook"); private Button needHelp = new Button("Need Help?"); public LoginForm() { super(new BorderLayout()); getToolbar().setUIID("Container"); logo.setName("Logo"); Container logoContainer = BorderLayout.centerAbsolute(logo); logoContainer.setUIID("LoginTitle"); add(NORTH, logoContainer); if(!isTablet()) { BorderLayout bl = ((BorderLayout)getLayout()); LoginForm
  • 10. public class LoginForm extends Form { private Label logo = new Label("uf308", "IconFont"); private TextField user = new TextField("", "Email or Phone", 30, TextField.EMAILADDR); private TextField password = new TextField("", "Password", 30, TextField.PASSWORD); private Button login = new Button("Log In"); private Button signUp = new Button("Sign Up for Facebook"); private Button needHelp = new Button("Need Help?"); public LoginForm() { super(new BorderLayout()); getToolbar().setUIID("Container"); logo.setName("Logo"); Container logoContainer = BorderLayout.centerAbsolute(logo); logoContainer.setUIID("LoginTitle"); add(NORTH, logoContainer); if(!isTablet()) { BorderLayout bl = ((BorderLayout)getLayout()); LoginForm
  • 11. public class LoginForm extends Form { private Label logo = new Label("uf308", "IconFont"); private TextField user = new TextField("", "Email or Phone", 30, TextField.EMAILADDR); private TextField password = new TextField("", "Password", 30, TextField.PASSWORD); private Button login = new Button("Log In"); private Button signUp = new Button("Sign Up for Facebook"); private Button needHelp = new Button("Need Help?"); public LoginForm() { super(new BorderLayout()); getToolbar().setUIID("Container"); logo.setName("Logo"); Container logoContainer = BorderLayout.centerAbsolute(logo); logoContainer.setUIID("LoginTitle"); add(NORTH, logoContainer); if(!isTablet()) { BorderLayout bl = ((BorderLayout)getLayout()); LoginForm
  • 12. super(new BorderLayout()); getToolbar().setUIID("Container"); logo.setName("Logo"); Container logoContainer = BorderLayout.centerAbsolute(logo); logoContainer.setUIID("LoginTitle"); add(NORTH, logoContainer); if(!isTablet()) { BorderLayout bl = ((BorderLayout)getLayout()); bl.defineLandscapeSwap(NORTH, EAST); } if(getUIManager(). isThemeConstant("ComponentGroupBool", false)) { Container content = BorderLayout.centerAbsolute( BoxLayout.encloseY( ComponentGroup.enclose(user, password), login)); content.setUIID("PaddedContainer"); add(CENTER, content); login.setUIID("BlueButtonOnBlueBackground"); setUIID("SplashForm"); signUp.setUIID("WhiteLinkButton"); needHelp.setUIID("WhiteLinkButton"); content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp)); } else { LoginForm
  • 13. super(new BorderLayout()); getToolbar().setUIID("Container"); logo.setName("Logo"); Container logoContainer = BorderLayout.centerAbsolute(logo); logoContainer.setUIID("LoginTitle"); add(NORTH, logoContainer); if(!isTablet()) { BorderLayout bl = ((BorderLayout)getLayout()); bl.defineLandscapeSwap(NORTH, EAST); } if(getUIManager(). isThemeConstant("ComponentGroupBool", false)) { Container content = BorderLayout.centerAbsolute( BoxLayout.encloseY( ComponentGroup.enclose(user, password), login)); content.setUIID("PaddedContainer"); add(CENTER, content); login.setUIID("BlueButtonOnBlueBackground"); setUIID("SplashForm"); signUp.setUIID("WhiteLinkButton"); needHelp.setUIID("WhiteLinkButton"); content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp)); } else { LoginForm
  • 14. super(new BorderLayout()); getToolbar().setUIID("Container"); logo.setName("Logo"); Container logoContainer = BorderLayout.centerAbsolute(logo); logoContainer.setUIID("LoginTitle"); add(NORTH, logoContainer); if(!isTablet()) { BorderLayout bl = ((BorderLayout)getLayout()); bl.defineLandscapeSwap(NORTH, EAST); } if(getUIManager(). isThemeConstant("ComponentGroupBool", false)) { Container content = BorderLayout.centerAbsolute( BoxLayout.encloseY( ComponentGroup.enclose(user, password), login)); content.setUIID("PaddedContainer"); add(CENTER, content); login.setUIID("BlueButtonOnBlueBackground"); setUIID("SplashForm"); signUp.setUIID("WhiteLinkButton"); needHelp.setUIID("WhiteLinkButton"); content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp)); } else { LoginForm
  • 15. super(new BorderLayout()); getToolbar().setUIID("Container"); logo.setName("Logo"); Container logoContainer = BorderLayout.centerAbsolute(logo); logoContainer.setUIID("LoginTitle"); add(NORTH, logoContainer); if(!isTablet()) { BorderLayout bl = ((BorderLayout)getLayout()); bl.defineLandscapeSwap(NORTH, EAST); } if(getUIManager(). isThemeConstant("ComponentGroupBool", false)) { Container content = BorderLayout.centerAbsolute( BoxLayout.encloseY( ComponentGroup.enclose(user, password), login)); content.setUIID("PaddedContainer"); add(CENTER, content); login.setUIID("BlueButtonOnBlueBackground"); setUIID("SplashForm"); signUp.setUIID("WhiteLinkButton"); needHelp.setUIID("WhiteLinkButton"); content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp)); } else { LoginForm
  • 16. super(new BorderLayout()); getToolbar().setUIID("Container"); logo.setName("Logo"); Container logoContainer = BorderLayout.centerAbsolute(logo); logoContainer.setUIID("LoginTitle"); add(NORTH, logoContainer); if(!isTablet()) { BorderLayout bl = ((BorderLayout)getLayout()); bl.defineLandscapeSwap(NORTH, EAST); } if(getUIManager(). isThemeConstant("ComponentGroupBool", false)) { Container content = BorderLayout.centerAbsolute( BoxLayout.encloseY( ComponentGroup.enclose(user, password), login)); content.setUIID("PaddedContainer"); add(CENTER, content); login.setUIID("BlueButtonOnBlueBackground"); setUIID("SplashForm"); signUp.setUIID("WhiteLinkButton"); needHelp.setUIID("WhiteLinkButton"); content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp)); } else { LoginForm
  • 17. super(new BorderLayout()); getToolbar().setUIID("Container"); logo.setName("Logo"); Container logoContainer = BorderLayout.centerAbsolute(logo); logoContainer.setUIID("LoginTitle"); add(NORTH, logoContainer); if(!isTablet()) { BorderLayout bl = ((BorderLayout)getLayout()); bl.defineLandscapeSwap(NORTH, EAST); } if(getUIManager(). isThemeConstant("ComponentGroupBool", false)) { Container content = BorderLayout.centerAbsolute( BoxLayout.encloseY( ComponentGroup.enclose(user, password), login)); content.setUIID("PaddedContainer"); add(CENTER, content); login.setUIID("BlueButtonOnBlueBackground"); setUIID("SplashForm"); signUp.setUIID("WhiteLinkButton"); needHelp.setUIID("WhiteLinkButton"); content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp)); } else { LoginForm
  • 18. content.setUIID("PaddedContainer"); add(CENTER, content); login.setUIID("BlueButtonOnBlueBackground"); setUIID("SplashForm"); signUp.setUIID("WhiteLinkButton"); needHelp.setUIID("WhiteLinkButton"); content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp)); } else { login.setUIID("BlueButton"); Button forgotPassword = new Button("Forgot Password", "BlueText"); signUp.setUIID("GreenButton"); signUp.setText("Create new Facebook Account"); Container cnt = BoxLayout.encloseY( user, password, login, forgotPassword, signUp); cnt.setUIID("PaddedContainer"); cnt.setScrollableY(true); add(CENTER, cnt); } } protected boolean shouldPaintStatusBar() { return false; } } LoginForm
  • 19. content.setUIID("PaddedContainer"); add(CENTER, content); login.setUIID("BlueButtonOnBlueBackground"); setUIID("SplashForm"); signUp.setUIID("WhiteLinkButton"); needHelp.setUIID("WhiteLinkButton"); content.add(SOUTH, FlowLayout.encloseCenter(signUp, needHelp)); } else { login.setUIID("BlueButton"); Button forgotPassword = new Button("Forgot Password", "BlueText"); signUp.setUIID("GreenButton"); signUp.setText("Create new Facebook Account"); Container cnt = BoxLayout.encloseY( user, password, login, forgotPassword, signUp); cnt.setUIID("PaddedContainer"); cnt.setScrollableY(true); add(CENTER, cnt); } } protected boolean shouldPaintStatusBar() { return false; } } LoginForm
  • 20. Why we Need the Content Container © Codename One 2017 all rights reserved
  • 21. #Constants { includeNativeBool: true; scrollVisibleBool: false; labelGap: 2; capsButtonUiids:"BlueText,GreenButton,BlueButton"; } theme.css
  • 22. © Codename One 2017 all rights reserved
  • 23. LoginTitle { background-image: url(images/login-banner.jpg); cn1-source-dpi: 0; cn1-background-type: cn1-image-scaled-fill; margin: 0px; padding: 8mm; } PaddedContainer { padding: 3mm; margin: 0mm; background: transparent; } BaseButton { text-align: center; font-family: "native:MainRegular"; font-size: 2.6mm; padding: 1.4mm; margin: 2mm; color: white; } BlueButtonOnBlueBackground { theme.css
  • 24. LoginTitle { background-image: url(images/login-banner.jpg); cn1-source-dpi: 0; cn1-background-type: cn1-image-scaled-fill; margin: 0px; padding: 8mm; } PaddedContainer { padding: 3mm; margin: 0mm; background: transparent; } BaseButton { text-align: center; font-family: "native:MainRegular"; font-size: 2.6mm; padding: 1.4mm; margin: 2mm; color: white; } BlueButtonOnBlueBackground { theme.css
  • 25. LoginTitle { background-image: url(images/login-banner.jpg); cn1-source-dpi: 0; cn1-background-type: cn1-image-scaled-fill; margin: 0px; padding: 8mm; } PaddedContainer { padding: 3mm; margin: 0mm; background: transparent; } BaseButton { text-align: center; font-family: "native:MainRegular"; font-size: 2.6mm; padding: 1.4mm; margin: 2mm; color: white; } BlueButtonOnBlueBackground { theme.css
  • 26. LoginTitle { background-image: url(images/login-banner.jpg); cn1-source-dpi: 0; cn1-background-type: cn1-image-scaled-fill; margin: 0px; padding: 8mm; } PaddedContainer { padding: 3mm; margin: 0mm; background: transparent; } BaseButton { text-align: center; font-family: "native:MainRegular"; font-size: 2.6mm; padding: 1.4mm; margin: 2mm; color: white; } BlueButtonOnBlueBackground { theme.css
  • 27. LoginTitle { background-image: url(images/login-banner.jpg); cn1-source-dpi: 0; cn1-background-type: cn1-image-scaled-fill; margin: 0px; padding: 8mm; } PaddedContainer { padding: 3mm; margin: 0mm; background: transparent; } BaseButton { text-align: center; font-family: "native:MainRegular"; font-size: 2.6mm; padding: 1.4mm; margin: 2mm; color: white; } BlueButtonOnBlueBackground { theme.css
  • 28. LoginTitle { background-image: url(images/login-banner.jpg); cn1-source-dpi: 0; cn1-background-type: cn1-image-scaled-fill; margin: 0px; padding: 8mm; } PaddedContainer { padding: 3mm; margin: 0mm; background: transparent; } BaseButton { text-align: center; font-family: "native:MainRegular"; font-size: 2.6mm; padding: 1.4mm; margin: 2mm; color: white; } BlueButtonOnBlueBackground { theme.css
  • 29. padding: 1.4mm; margin: 2mm; color: white; } BlueButtonOnBlueBackground { border-radius: 1mm; background: #587EBE; cn1-derive: BaseButton; } BlueButton { background: #587EBE; font-family: "native:MainBold"; cn1-derive: BaseButton; } BlueText { cn1-derive: BaseButton; font-family: "native:MainBold"; color: #385898; background: transparent; } GreenButton { cn1-derive: BaseButton; font-family: "native:MainBold"; background: #00A400; theme.css
  • 30. } GreenButton { cn1-derive: BaseButton; font-family: "native:MainBold"; background: #00A400; } WhiteLinkButton { cn1-derive: BaseButton; font-family: "native:MainLight"; margin: 0px; } TextHint { font-family: "native:MainLight"; font-size: 2.6mm; padding: 2mm; } TextField { margin: 2mm; } GroupElementFirst { padding: 3mm; } GroupElementLast { padding: 3mm; theme.css
  • 31. GreenButton { cn1-derive: BaseButton; font-family: "native:MainBold"; background: #00A400; } WhiteLinkButton { cn1-derive: BaseButton; font-family: "native:MainLight"; margin: 0px; } TextHint { font-family: "native:MainLight"; font-size: 2.6mm; padding: 2mm; } TextField { margin: 2mm; } GroupElementFirst { padding: 3mm; } GroupElementLast { padding: 3mm; } theme.css
  • 32. public static void showLoginForm() { new LoginForm().show(); } UIController