SlideShare a Scribd company logo
1 of 29
Download to read offline
Creating a Facebook Clone - Part VI
© Codename One 2017 all rights reserved
public class SignupForm extends Form {
Container content = new Container(BoxLayout.y(), "PaddedContainer");
Container south = new Container(BoxLayout.y());
protected SignupForm(String title, String backLabel, Form previous) {
super(title, new BorderLayout());
setUIID("SignupForm");
content.setScrollableY(true);
add(CENTER, content);
getToolbar().setBackCommand(backLabel,
Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW,
e -> previous.showBack());
getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape");
Button problem = new Button("Report a Problem", "BlueLink");
south.add(problem);
problem.addActionListener(e ->
sendMessage("Problem with Facebook Clone",
new Message("Details..."),
"mark@facebook.com"));
add(SOUTH, south);
}
SignupForm
public class SignupForm extends Form {
Container content = new Container(BoxLayout.y(), "PaddedContainer");
Container south = new Container(BoxLayout.y());
protected SignupForm(String title, String backLabel, Form previous) {
super(title, new BorderLayout());
setUIID("SignupForm");
content.setScrollableY(true);
add(CENTER, content);
getToolbar().setBackCommand(backLabel,
Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW,
e -> previous.showBack());
getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape");
Button problem = new Button("Report a Problem", "BlueLink");
south.add(problem);
problem.addActionListener(e ->
sendMessage("Problem with Facebook Clone",
new Message("Details..."),
"mark@facebook.com"));
add(SOUTH, south);
}
SignupForm
public class SignupForm extends Form {
Container content = new Container(BoxLayout.y(), "PaddedContainer");
Container south = new Container(BoxLayout.y());
protected SignupForm(String title, String backLabel, Form previous) {
super(title, new BorderLayout());
setUIID("SignupForm");
content.setScrollableY(true);
add(CENTER, content);
getToolbar().setBackCommand(backLabel,
Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW,
e -> previous.showBack());
getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape");
Button problem = new Button("Report a Problem", "BlueLink");
south.add(problem);
problem.addActionListener(e ->
sendMessage("Problem with Facebook Clone",
new Message("Details..."),
"mark@facebook.com"));
add(SOUTH, south);
}
SignupForm
public class SignupForm extends Form {
Container content = new Container(BoxLayout.y(), "PaddedContainer");
Container south = new Container(BoxLayout.y());
protected SignupForm(String title, String backLabel, Form previous) {
super(title, new BorderLayout());
setUIID("SignupForm");
content.setScrollableY(true);
add(CENTER, content);
getToolbar().setBackCommand(backLabel,
Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW,
e -> previous.showBack());
getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape");
Button problem = new Button("Report a Problem", "BlueLink");
south.add(problem);
problem.addActionListener(e ->
sendMessage("Problem with Facebook Clone",
new Message("Details..."),
"mark@facebook.com"));
add(SOUTH, south);
}
SignupForm
public class SignupForm extends Form {
Container content = new Container(BoxLayout.y(), "PaddedContainer");
Container south = new Container(BoxLayout.y());
protected SignupForm(String title, String backLabel, Form previous) {
super(title, new BorderLayout());
setUIID("SignupForm");
content.setScrollableY(true);
add(CENTER, content);
getToolbar().setBackCommand(backLabel,
Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW,
e -> previous.showBack());
getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape");
Button problem = new Button("Report a Problem", "BlueLink");
south.add(problem);
problem.addActionListener(e ->
sendMessage("Problem with Facebook Clone",
new Message("Details..."),
"mark@facebook.com"));
add(SOUTH, south);
}
SignupForm
public class SignupForm extends Form {
Container content = new Container(BoxLayout.y(), "PaddedContainer");
Container south = new Container(BoxLayout.y());
protected SignupForm(String title, String backLabel, Form previous) {
super(title, new BorderLayout());
setUIID("SignupForm");
content.setScrollableY(true);
add(CENTER, content);
getToolbar().setBackCommand(backLabel,
Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW,
e -> previous.showBack());
getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape");
Button problem = new Button("Report a Problem", "BlueLink");
south.add(problem);
problem.addActionListener(e ->
sendMessage("Problem with Facebook Clone",
new Message("Details..."),
"mark@facebook.com"));
add(SOUTH, south);
}
SignupForm
add(CENTER, content);
getToolbar().setBackCommand(backLabel,
Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW,
e -> previous.showBack());
getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape");
Button problem = new Button("Report a Problem", "BlueLink");
south.add(problem);
problem.addActionListener(e ->
sendMessage("Problem with Facebook Clone",
new Message("Details..."),
"mark@facebook.com"));
add(SOUTH, south);
}
Button createNextButton(ActionListener al) {
Button next = new Button("Next", "NextButton");
next.addActionListener(al);
return next;
}
public static SignupForm createTerms() {
SignupForm s = new SignupForm("Create Account", "Sign In",
getCurrentForm());
Label title = new Label("Terms & Conditions", "SignupSubHeader");
SignupForm
© Codename One 2017 all rights reserved
© Codename One 2017 all rights reserved
next.addActionListener(al);
return next;
}
public static SignupForm createTerms() {
SignupForm s = new SignupForm("Create Account", "Sign In",
getCurrentForm());
Label title = new Label("Terms & Conditions", "SignupSubHeader");
RichTextView rt = new RichTextView("By signing up you agree to our "
+ "<a href="terms">Facebook Terms</a> and that you have "
+ "read our <a href="data-policy">Data Policy</a>, including "
+ "our <a href="cookie-use">Cookie Use</a>.");
rt.setAlignment(CENTER);
rt.setUIID("PaddedContainer");
Button next = s.createNextButton(e -> createName().show());
next.setText("I Agree");
rt.addLinkListener(e -> {
String link = (String)e.getSource();
execute("https://www.codenameone.com/");
});
s.content.addAll(title, rt, next);
return s;
}
createTerms
next.addActionListener(al);
return next;
}
public static SignupForm createTerms() {
SignupForm s = new SignupForm("Create Account", "Sign In",
getCurrentForm());
Label title = new Label("Terms & Conditions", "SignupSubHeader");
RichTextView rt = new RichTextView("By signing up you agree to our "
+ "<a href="terms">Facebook Terms</a> and that you have "
+ "read our <a href="data-policy">Data Policy</a>, including "
+ "our <a href="cookie-use">Cookie Use</a>.");
rt.setAlignment(CENTER);
rt.setUIID("PaddedContainer");
Button next = s.createNextButton(e -> createName().show());
next.setText("I Agree");
rt.addLinkListener(e -> {
String link = (String)e.getSource();
execute("https://www.codenameone.com/");
});
s.content.addAll(title, rt, next);
return s;
}
createTerms
next.addActionListener(al);
return next;
}
public static SignupForm createTerms() {
SignupForm s = new SignupForm("Create Account", "Sign In",
getCurrentForm());
Label title = new Label("Terms & Conditions", "SignupSubHeader");
RichTextView rt = new RichTextView("By signing up you agree to our "
+ "<a href="terms">Facebook Terms</a> and that you have "
+ "read our <a href="data-policy">Data Policy</a>, including "
+ "our <a href="cookie-use">Cookie Use</a>.");
rt.setAlignment(CENTER);
rt.setUIID("PaddedContainer");
Button next = s.createNextButton(e -> createName().show());
next.setText("I Agree");
rt.addLinkListener(e -> {
String link = (String)e.getSource();
execute("https://www.codenameone.com/");
});
s.content.addAll(title, rt, next);
return s;
}
createTerms
next.addActionListener(al);
return next;
}
public static SignupForm createTerms() {
SignupForm s = new SignupForm("Create Account", "Sign In",
getCurrentForm());
Label title = new Label("Terms & Conditions", "SignupSubHeader");
RichTextView rt = new RichTextView("By signing up you agree to our "
+ "<a href="terms">Facebook Terms</a> and that you have "
+ "read our <a href="data-policy">Data Policy</a>, including "
+ "our <a href="cookie-use">Cookie Use</a>.");
rt.setAlignment(CENTER);
rt.setUIID("PaddedContainer");
Button next = s.createNextButton(e -> createName().show());
next.setText("I Agree");
rt.addLinkListener(e -> {
String link = (String)e.getSource();
execute("https://www.codenameone.com/");
});
s.content.addAll(title, rt, next);
return s;
}
createTerms
next.addActionListener(al);
return next;
}
public static SignupForm createTerms() {
SignupForm s = new SignupForm("Create Account", "Sign In",
getCurrentForm());
Label title = new Label("Terms & Conditions", "SignupSubHeader");
RichTextView rt = new RichTextView("By signing up you agree to our "
+ "<a href="terms">Facebook Terms</a> and that you have "
+ "read our <a href="data-policy">Data Policy</a>, including "
+ "our <a href="cookie-use">Cookie Use</a>.");
rt.setAlignment(CENTER);
rt.setUIID("PaddedContainer");
Button next = s.createNextButton(e -> createName().show());
next.setText("I Agree");
rt.addLinkListener(e -> {
String link = (String)e.getSource();
execute("https://www.codenameone.com/");
});
s.content.addAll(title, rt, next);
return s;
}
createTerms
© Codename One 2017 all rights reserved
#Constants {
includeNativeBool: true;
scrollVisibleBool: false;
labelGap: 2;
capsButtonUiids: "BlueText,GreenButton,BlueButton,NextButton";
landscapeTitleUiidBool: true;
}
/** unchanged **/
Toolbar {
padding: 1mm;
border: none;
background-color: #4367b3;
}
Title {
font-family: "native:MainLight";
font-size: 4mm;
padding: 2mm 1mm 2mm 1mm;
margin: 0px;
color: white;
theme.css
#Constants {
includeNativeBool: true;
scrollVisibleBool: false;
labelGap: 2;
capsButtonUiids: "BlueText,GreenButton,BlueButton,NextButton";
landscapeTitleUiidBool: true;
}
/** unchanged **/
Toolbar {
padding: 1mm;
border: none;
background-color: #4367b3;
}
Title {
font-family: "native:MainLight";
font-size: 4mm;
padding: 2mm 1mm 2mm 1mm;
margin: 0px;
color: white;
theme.css
/** unchanged **/
Toolbar {
padding: 1mm;
border: none;
background-color: #4367b3;
}
Title {
font-family: "native:MainLight";
font-size: 4mm;
padding: 2mm 1mm 2mm 1mm;
margin: 0px;
color: white;
}
TitleCommand {
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 1mm;
margin: 0px;
color: white;
}
BackCommand {
font-family: "native:MainLight";
font-size: 2.5mm;
theme.css
/** unchanged **/
Toolbar {
padding: 1mm;
border: none;
background-color: #4367b3;
}
Title {
font-family: "native:MainLight";
font-size: 4mm;
padding: 2mm 1mm 2mm 1mm;
margin: 0px;
color: white;
}
TitleCommand {
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 1mm;
margin: 0px;
color: white;
}
BackCommand {
font-family: "native:MainLight";
font-size: 2.5mm;
theme.css
}
TitleCommand {
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 1mm;
margin: 0px;
color: white;
}
BackCommand {
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 3mm 0.5mm 3mm 0.5mm;
margin: 0px;
color: white;
}
ToolbarLandscpae {
padding: 0.5mm;
border: none;
background-color: #4367b3;
}
TitleLandscape {
font-family: "native:MainLight";
font-size: 3mm;
padding: 0px;
theme.css
}
TitleCommand {
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 1mm;
margin: 0px;
color: white;
}
BackCommand {
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 3mm 0.5mm 3mm 0.5mm;
margin: 0px;
color: white;
}
ToolbarLandscpae {
padding: 0.5mm;
border: none;
background-color: #4367b3;
}
TitleLandscape {
font-family: "native:MainLight";
font-size: 3mm;
padding: 0px;
theme.css
}
ToolbarLandscpae {
padding: 0.5mm;
border: none;
background-color: #4367b3;
}
TitleLandscape {
font-family: "native:MainLight";
font-size: 3mm;
padding: 0px;
margin: 0px;
color: white;
}
TitleCommandLandscape {
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 0px 1mm 0px 1mm;
margin: 0px;
color: white;
}
BackCommandLandscape {
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 0px 1mm 0px 1mm;
theme.css
}
TitleLandscape {
font-family: "native:MainLight";
font-size: 3mm;
padding: 0px;
margin: 0px;
color: white;
}
TitleCommandLandscape {
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 0px 1mm 0px 1mm;
margin: 0px;
color: white;
}
BackCommandLandscape {
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 0px 1mm 0px 1mm;
margin: 0px;
color: white;
}
SignupSubHeader {
font-family: "native:MainBold";
theme.css
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 0px 1mm 0px 1mm;
margin: 0px;
color: white;
}
SignupSubHeader {
font-family: "native:MainBold";
font-size: 3mm;
text-align: center;
margin: 0px;
padding: 3mm;
}
SignupForm {
background-color: #F6F7F8;
cn1-derive: SplashForm;
}
NextButton {
cn1-derive: BlueButtonOnBlueBackground;
margin-top: 3.5mm;
}
BlueLink {
cn1-derive: BaseButton;
color: blue;
theme.css
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 0px 1mm 0px 1mm;
margin: 0px;
color: white;
}
SignupSubHeader {
font-family: "native:MainBold";
font-size: 3mm;
text-align: center;
margin: 0px;
padding: 3mm;
}
SignupForm {
background-color: #F6F7F8;
cn1-derive: SplashForm;
}
NextButton {
cn1-derive: BlueButtonOnBlueBackground;
margin-top: 3.5mm;
}
BlueLink {
cn1-derive: BaseButton;
color: blue;
theme.css
font-family: "native:MainLight";
font-size: 2.5mm;
padding: 0px 1mm 0px 1mm;
margin: 0px;
color: white;
}
SignupSubHeader {
font-family: "native:MainBold";
font-size: 3mm;
text-align: center;
margin: 0px;
padding: 3mm;
}
SignupForm {
background-color: #F6F7F8;
cn1-derive: SplashForm;
}
NextButton {
cn1-derive: BlueButtonOnBlueBackground;
margin-top: 3.5mm;
}
BlueLink {
cn1-derive: BaseButton;
color: blue;
theme.css
color: white;
}
SignupSubHeader {
font-family: "native:MainBold";
font-size: 3mm;
text-align: center;
margin: 0px;
padding: 3mm;
}
SignupForm {
background-color: #F6F7F8;
cn1-derive: SplashForm;
}
NextButton {
cn1-derive: BlueButtonOnBlueBackground;
margin-top: 3.5mm;
}
BlueLink {
cn1-derive: BaseButton;
color: blue;
font-size: 2.2mm;
padding: 1.5mm;
font-family: "native:MainLight";
}
theme.css

More Related Content

Similar to Creating a Facebook Clone - Part VI.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.pdfShaiAlmog1
 
Extracting ui Design - part 6 - transcript.pdf
Extracting ui Design - part 6 - transcript.pdfExtracting ui Design - part 6 - transcript.pdf
Extracting ui Design - part 6 - transcript.pdfShaiAlmog1
 
Creating an Uber Clone - Part XXXIX.pdf
Creating an Uber Clone - Part XXXIX.pdfCreating an Uber Clone - Part XXXIX.pdf
Creating an Uber Clone - Part XXXIX.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XVI - Transcript.pdf
Creating a Facebook Clone - Part XVI - Transcript.pdfCreating a Facebook Clone - Part XVI - Transcript.pdf
Creating a Facebook Clone - Part XVI - Transcript.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 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 XXXVII.pdf
Creating a Facebook Clone - Part XXXVII.pdfCreating a Facebook Clone - Part XXXVII.pdf
Creating a Facebook Clone - Part XXXVII.pdfShaiAlmog1
 
Creating a Facebook Clone - Part IV.pdf
Creating a Facebook Clone - Part IV.pdfCreating a Facebook Clone - Part IV.pdf
Creating a Facebook Clone - Part IV.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XLII - Transcript.pdf
Creating a Facebook Clone - Part XLII - Transcript.pdfCreating a Facebook Clone - Part XLII - Transcript.pdf
Creating a Facebook Clone - Part XLII - Transcript.pdfShaiAlmog1
 
Creating an Uber - Part VI.pdf
Creating an Uber - Part VI.pdfCreating an Uber - Part VI.pdf
Creating an Uber - Part VI.pdfShaiAlmog1
 
UI Design From Scratch - Part 5.pdf
UI Design From Scratch - Part 5.pdfUI Design From Scratch - Part 5.pdf
UI Design From Scratch - Part 5.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
 
UI Design From Scratch - Part 5 - transcript.pdf
UI Design From Scratch - Part 5 - transcript.pdfUI Design From Scratch - Part 5 - transcript.pdf
UI Design From Scratch - Part 5 - transcript.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XXIX - Transcript.pdf
Creating a Facebook Clone - Part XXIX - Transcript.pdfCreating a Facebook Clone - Part XXIX - Transcript.pdf
Creating a Facebook Clone - Part XXIX - Transcript.pdfShaiAlmog1
 
Creating a Facebook Clone - Part XV.pdf
Creating a Facebook Clone - Part XV.pdfCreating a Facebook Clone - Part XV.pdf
Creating a Facebook Clone - Part XV.pdfShaiAlmog1
 
Initial UI Mockup - Part 3 - Transcript.pdf
Initial UI Mockup - Part 3 - Transcript.pdfInitial UI Mockup - Part 3 - Transcript.pdf
Initial UI Mockup - Part 3 - Transcript.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
 
Miscellaneous Features - Part 1.pdf
Miscellaneous Features - Part 1.pdfMiscellaneous Features - Part 1.pdf
Miscellaneous Features - Part 1.pdfShaiAlmog1
 
Extracting ui Design - part 5 - transcript.pdf
Extracting ui Design - part 5 - transcript.pdfExtracting ui Design - part 5 - transcript.pdf
Extracting ui Design - part 5 - transcript.pdfShaiAlmog1
 

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

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
 
Extracting ui Design - part 6 - transcript.pdf
Extracting ui Design - part 6 - transcript.pdfExtracting ui Design - part 6 - transcript.pdf
Extracting ui Design - part 6 - transcript.pdf
 
Creating an Uber Clone - Part XXXIX.pdf
Creating an Uber Clone - Part XXXIX.pdfCreating an Uber Clone - Part XXXIX.pdf
Creating an Uber Clone - Part XXXIX.pdf
 
Creating a Facebook Clone - Part XVI - Transcript.pdf
Creating a Facebook Clone - Part XVI - Transcript.pdfCreating a Facebook Clone - Part XVI - Transcript.pdf
Creating a Facebook Clone - Part XVI - Transcript.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 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 XXXVII.pdf
Creating a Facebook Clone - Part XXXVII.pdfCreating a Facebook Clone - Part XXXVII.pdf
Creating a Facebook Clone - Part XXXVII.pdf
 
Creating a Facebook Clone - Part IV.pdf
Creating a Facebook Clone - Part IV.pdfCreating a Facebook Clone - Part IV.pdf
Creating a Facebook Clone - Part IV.pdf
 
Creating a Facebook Clone - Part XLII - Transcript.pdf
Creating a Facebook Clone - Part XLII - Transcript.pdfCreating a Facebook Clone - Part XLII - Transcript.pdf
Creating a Facebook Clone - Part XLII - Transcript.pdf
 
Creating an Uber - Part VI.pdf
Creating an Uber - Part VI.pdfCreating an Uber - Part VI.pdf
Creating an Uber - Part VI.pdf
 
UI Design From Scratch - Part 5.pdf
UI Design From Scratch - Part 5.pdfUI Design From Scratch - Part 5.pdf
UI Design From Scratch - Part 5.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
 
UI Design From Scratch - Part 5 - transcript.pdf
UI Design From Scratch - Part 5 - transcript.pdfUI Design From Scratch - Part 5 - transcript.pdf
UI Design From Scratch - Part 5 - transcript.pdf
 
Creating a Facebook Clone - Part XXIX - Transcript.pdf
Creating a Facebook Clone - Part XXIX - Transcript.pdfCreating a Facebook Clone - Part XXIX - Transcript.pdf
Creating a Facebook Clone - Part XXIX - Transcript.pdf
 
Creating a Facebook Clone - Part XV.pdf
Creating a Facebook Clone - Part XV.pdfCreating a Facebook Clone - Part XV.pdf
Creating a Facebook Clone - Part XV.pdf
 
Initial UI Mockup - Part 3 - Transcript.pdf
Initial UI Mockup - Part 3 - Transcript.pdfInitial UI Mockup - Part 3 - Transcript.pdf
Initial UI Mockup - Part 3 - Transcript.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
 
Miscellaneous Features - Part 1.pdf
Miscellaneous Features - Part 1.pdfMiscellaneous Features - Part 1.pdf
Miscellaneous Features - Part 1.pdf
 
Extracting ui Design - part 5 - transcript.pdf
Extracting ui Design - part 5 - transcript.pdfExtracting ui Design - part 5 - transcript.pdf
Extracting ui Design - part 5 - 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

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Recently uploaded (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Creating a Facebook Clone - Part VI.pdf

  • 1. Creating a Facebook Clone - Part VI
  • 2. © Codename One 2017 all rights reserved
  • 3. public class SignupForm extends Form { Container content = new Container(BoxLayout.y(), "PaddedContainer"); Container south = new Container(BoxLayout.y()); protected SignupForm(String title, String backLabel, Form previous) { super(title, new BorderLayout()); setUIID("SignupForm"); content.setScrollableY(true); add(CENTER, content); getToolbar().setBackCommand(backLabel, Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW, e -> previous.showBack()); getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape"); Button problem = new Button("Report a Problem", "BlueLink"); south.add(problem); problem.addActionListener(e -> sendMessage("Problem with Facebook Clone", new Message("Details..."), "mark@facebook.com")); add(SOUTH, south); } SignupForm
  • 4. public class SignupForm extends Form { Container content = new Container(BoxLayout.y(), "PaddedContainer"); Container south = new Container(BoxLayout.y()); protected SignupForm(String title, String backLabel, Form previous) { super(title, new BorderLayout()); setUIID("SignupForm"); content.setScrollableY(true); add(CENTER, content); getToolbar().setBackCommand(backLabel, Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW, e -> previous.showBack()); getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape"); Button problem = new Button("Report a Problem", "BlueLink"); south.add(problem); problem.addActionListener(e -> sendMessage("Problem with Facebook Clone", new Message("Details..."), "mark@facebook.com")); add(SOUTH, south); } SignupForm
  • 5. public class SignupForm extends Form { Container content = new Container(BoxLayout.y(), "PaddedContainer"); Container south = new Container(BoxLayout.y()); protected SignupForm(String title, String backLabel, Form previous) { super(title, new BorderLayout()); setUIID("SignupForm"); content.setScrollableY(true); add(CENTER, content); getToolbar().setBackCommand(backLabel, Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW, e -> previous.showBack()); getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape"); Button problem = new Button("Report a Problem", "BlueLink"); south.add(problem); problem.addActionListener(e -> sendMessage("Problem with Facebook Clone", new Message("Details..."), "mark@facebook.com")); add(SOUTH, south); } SignupForm
  • 6. public class SignupForm extends Form { Container content = new Container(BoxLayout.y(), "PaddedContainer"); Container south = new Container(BoxLayout.y()); protected SignupForm(String title, String backLabel, Form previous) { super(title, new BorderLayout()); setUIID("SignupForm"); content.setScrollableY(true); add(CENTER, content); getToolbar().setBackCommand(backLabel, Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW, e -> previous.showBack()); getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape"); Button problem = new Button("Report a Problem", "BlueLink"); south.add(problem); problem.addActionListener(e -> sendMessage("Problem with Facebook Clone", new Message("Details..."), "mark@facebook.com")); add(SOUTH, south); } SignupForm
  • 7. public class SignupForm extends Form { Container content = new Container(BoxLayout.y(), "PaddedContainer"); Container south = new Container(BoxLayout.y()); protected SignupForm(String title, String backLabel, Form previous) { super(title, new BorderLayout()); setUIID("SignupForm"); content.setScrollableY(true); add(CENTER, content); getToolbar().setBackCommand(backLabel, Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW, e -> previous.showBack()); getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape"); Button problem = new Button("Report a Problem", "BlueLink"); south.add(problem); problem.addActionListener(e -> sendMessage("Problem with Facebook Clone", new Message("Details..."), "mark@facebook.com")); add(SOUTH, south); } SignupForm
  • 8. public class SignupForm extends Form { Container content = new Container(BoxLayout.y(), "PaddedContainer"); Container south = new Container(BoxLayout.y()); protected SignupForm(String title, String backLabel, Form previous) { super(title, new BorderLayout()); setUIID("SignupForm"); content.setScrollableY(true); add(CENTER, content); getToolbar().setBackCommand(backLabel, Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW, e -> previous.showBack()); getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape"); Button problem = new Button("Report a Problem", "BlueLink"); south.add(problem); problem.addActionListener(e -> sendMessage("Problem with Facebook Clone", new Message("Details..."), "mark@facebook.com")); add(SOUTH, south); } SignupForm
  • 9. add(CENTER, content); getToolbar().setBackCommand(backLabel, Toolbar.BackCommandPolicy.WHEN_USES_TITLE_OTHERWISE_ARROW, e -> previous.showBack()); getToolbar().getTitleComponent().setUIID("Title", "TitleLandscape"); Button problem = new Button("Report a Problem", "BlueLink"); south.add(problem); problem.addActionListener(e -> sendMessage("Problem with Facebook Clone", new Message("Details..."), "mark@facebook.com")); add(SOUTH, south); } Button createNextButton(ActionListener al) { Button next = new Button("Next", "NextButton"); next.addActionListener(al); return next; } public static SignupForm createTerms() { SignupForm s = new SignupForm("Create Account", "Sign In", getCurrentForm()); Label title = new Label("Terms & Conditions", "SignupSubHeader"); SignupForm
  • 10. © Codename One 2017 all rights reserved
  • 11. © Codename One 2017 all rights reserved
  • 12. next.addActionListener(al); return next; } public static SignupForm createTerms() { SignupForm s = new SignupForm("Create Account", "Sign In", getCurrentForm()); Label title = new Label("Terms & Conditions", "SignupSubHeader"); RichTextView rt = new RichTextView("By signing up you agree to our " + "<a href="terms">Facebook Terms</a> and that you have " + "read our <a href="data-policy">Data Policy</a>, including " + "our <a href="cookie-use">Cookie Use</a>."); rt.setAlignment(CENTER); rt.setUIID("PaddedContainer"); Button next = s.createNextButton(e -> createName().show()); next.setText("I Agree"); rt.addLinkListener(e -> { String link = (String)e.getSource(); execute("https://www.codenameone.com/"); }); s.content.addAll(title, rt, next); return s; } createTerms
  • 13. next.addActionListener(al); return next; } public static SignupForm createTerms() { SignupForm s = new SignupForm("Create Account", "Sign In", getCurrentForm()); Label title = new Label("Terms & Conditions", "SignupSubHeader"); RichTextView rt = new RichTextView("By signing up you agree to our " + "<a href="terms">Facebook Terms</a> and that you have " + "read our <a href="data-policy">Data Policy</a>, including " + "our <a href="cookie-use">Cookie Use</a>."); rt.setAlignment(CENTER); rt.setUIID("PaddedContainer"); Button next = s.createNextButton(e -> createName().show()); next.setText("I Agree"); rt.addLinkListener(e -> { String link = (String)e.getSource(); execute("https://www.codenameone.com/"); }); s.content.addAll(title, rt, next); return s; } createTerms
  • 14. next.addActionListener(al); return next; } public static SignupForm createTerms() { SignupForm s = new SignupForm("Create Account", "Sign In", getCurrentForm()); Label title = new Label("Terms & Conditions", "SignupSubHeader"); RichTextView rt = new RichTextView("By signing up you agree to our " + "<a href="terms">Facebook Terms</a> and that you have " + "read our <a href="data-policy">Data Policy</a>, including " + "our <a href="cookie-use">Cookie Use</a>."); rt.setAlignment(CENTER); rt.setUIID("PaddedContainer"); Button next = s.createNextButton(e -> createName().show()); next.setText("I Agree"); rt.addLinkListener(e -> { String link = (String)e.getSource(); execute("https://www.codenameone.com/"); }); s.content.addAll(title, rt, next); return s; } createTerms
  • 15. next.addActionListener(al); return next; } public static SignupForm createTerms() { SignupForm s = new SignupForm("Create Account", "Sign In", getCurrentForm()); Label title = new Label("Terms & Conditions", "SignupSubHeader"); RichTextView rt = new RichTextView("By signing up you agree to our " + "<a href="terms">Facebook Terms</a> and that you have " + "read our <a href="data-policy">Data Policy</a>, including " + "our <a href="cookie-use">Cookie Use</a>."); rt.setAlignment(CENTER); rt.setUIID("PaddedContainer"); Button next = s.createNextButton(e -> createName().show()); next.setText("I Agree"); rt.addLinkListener(e -> { String link = (String)e.getSource(); execute("https://www.codenameone.com/"); }); s.content.addAll(title, rt, next); return s; } createTerms
  • 16. next.addActionListener(al); return next; } public static SignupForm createTerms() { SignupForm s = new SignupForm("Create Account", "Sign In", getCurrentForm()); Label title = new Label("Terms & Conditions", "SignupSubHeader"); RichTextView rt = new RichTextView("By signing up you agree to our " + "<a href="terms">Facebook Terms</a> and that you have " + "read our <a href="data-policy">Data Policy</a>, including " + "our <a href="cookie-use">Cookie Use</a>."); rt.setAlignment(CENTER); rt.setUIID("PaddedContainer"); Button next = s.createNextButton(e -> createName().show()); next.setText("I Agree"); rt.addLinkListener(e -> { String link = (String)e.getSource(); execute("https://www.codenameone.com/"); }); s.content.addAll(title, rt, next); return s; } createTerms
  • 17. © Codename One 2017 all rights reserved
  • 18. #Constants { includeNativeBool: true; scrollVisibleBool: false; labelGap: 2; capsButtonUiids: "BlueText,GreenButton,BlueButton,NextButton"; landscapeTitleUiidBool: true; } /** unchanged **/ Toolbar { padding: 1mm; border: none; background-color: #4367b3; } Title { font-family: "native:MainLight"; font-size: 4mm; padding: 2mm 1mm 2mm 1mm; margin: 0px; color: white; theme.css
  • 19. #Constants { includeNativeBool: true; scrollVisibleBool: false; labelGap: 2; capsButtonUiids: "BlueText,GreenButton,BlueButton,NextButton"; landscapeTitleUiidBool: true; } /** unchanged **/ Toolbar { padding: 1mm; border: none; background-color: #4367b3; } Title { font-family: "native:MainLight"; font-size: 4mm; padding: 2mm 1mm 2mm 1mm; margin: 0px; color: white; theme.css
  • 20. /** unchanged **/ Toolbar { padding: 1mm; border: none; background-color: #4367b3; } Title { font-family: "native:MainLight"; font-size: 4mm; padding: 2mm 1mm 2mm 1mm; margin: 0px; color: white; } TitleCommand { font-family: "native:MainLight"; font-size: 2.5mm; padding: 1mm; margin: 0px; color: white; } BackCommand { font-family: "native:MainLight"; font-size: 2.5mm; theme.css
  • 21. /** unchanged **/ Toolbar { padding: 1mm; border: none; background-color: #4367b3; } Title { font-family: "native:MainLight"; font-size: 4mm; padding: 2mm 1mm 2mm 1mm; margin: 0px; color: white; } TitleCommand { font-family: "native:MainLight"; font-size: 2.5mm; padding: 1mm; margin: 0px; color: white; } BackCommand { font-family: "native:MainLight"; font-size: 2.5mm; theme.css
  • 22. } TitleCommand { font-family: "native:MainLight"; font-size: 2.5mm; padding: 1mm; margin: 0px; color: white; } BackCommand { font-family: "native:MainLight"; font-size: 2.5mm; padding: 3mm 0.5mm 3mm 0.5mm; margin: 0px; color: white; } ToolbarLandscpae { padding: 0.5mm; border: none; background-color: #4367b3; } TitleLandscape { font-family: "native:MainLight"; font-size: 3mm; padding: 0px; theme.css
  • 23. } TitleCommand { font-family: "native:MainLight"; font-size: 2.5mm; padding: 1mm; margin: 0px; color: white; } BackCommand { font-family: "native:MainLight"; font-size: 2.5mm; padding: 3mm 0.5mm 3mm 0.5mm; margin: 0px; color: white; } ToolbarLandscpae { padding: 0.5mm; border: none; background-color: #4367b3; } TitleLandscape { font-family: "native:MainLight"; font-size: 3mm; padding: 0px; theme.css
  • 24. } ToolbarLandscpae { padding: 0.5mm; border: none; background-color: #4367b3; } TitleLandscape { font-family: "native:MainLight"; font-size: 3mm; padding: 0px; margin: 0px; color: white; } TitleCommandLandscape { font-family: "native:MainLight"; font-size: 2.5mm; padding: 0px 1mm 0px 1mm; margin: 0px; color: white; } BackCommandLandscape { font-family: "native:MainLight"; font-size: 2.5mm; padding: 0px 1mm 0px 1mm; theme.css
  • 25. } TitleLandscape { font-family: "native:MainLight"; font-size: 3mm; padding: 0px; margin: 0px; color: white; } TitleCommandLandscape { font-family: "native:MainLight"; font-size: 2.5mm; padding: 0px 1mm 0px 1mm; margin: 0px; color: white; } BackCommandLandscape { font-family: "native:MainLight"; font-size: 2.5mm; padding: 0px 1mm 0px 1mm; margin: 0px; color: white; } SignupSubHeader { font-family: "native:MainBold"; theme.css
  • 26. font-family: "native:MainLight"; font-size: 2.5mm; padding: 0px 1mm 0px 1mm; margin: 0px; color: white; } SignupSubHeader { font-family: "native:MainBold"; font-size: 3mm; text-align: center; margin: 0px; padding: 3mm; } SignupForm { background-color: #F6F7F8; cn1-derive: SplashForm; } NextButton { cn1-derive: BlueButtonOnBlueBackground; margin-top: 3.5mm; } BlueLink { cn1-derive: BaseButton; color: blue; theme.css
  • 27. font-family: "native:MainLight"; font-size: 2.5mm; padding: 0px 1mm 0px 1mm; margin: 0px; color: white; } SignupSubHeader { font-family: "native:MainBold"; font-size: 3mm; text-align: center; margin: 0px; padding: 3mm; } SignupForm { background-color: #F6F7F8; cn1-derive: SplashForm; } NextButton { cn1-derive: BlueButtonOnBlueBackground; margin-top: 3.5mm; } BlueLink { cn1-derive: BaseButton; color: blue; theme.css
  • 28. font-family: "native:MainLight"; font-size: 2.5mm; padding: 0px 1mm 0px 1mm; margin: 0px; color: white; } SignupSubHeader { font-family: "native:MainBold"; font-size: 3mm; text-align: center; margin: 0px; padding: 3mm; } SignupForm { background-color: #F6F7F8; cn1-derive: SplashForm; } NextButton { cn1-derive: BlueButtonOnBlueBackground; margin-top: 3.5mm; } BlueLink { cn1-derive: BaseButton; color: blue; theme.css
  • 29. color: white; } SignupSubHeader { font-family: "native:MainBold"; font-size: 3mm; text-align: center; margin: 0px; padding: 3mm; } SignupForm { background-color: #F6F7F8; cn1-derive: SplashForm; } NextButton { cn1-derive: BlueButtonOnBlueBackground; margin-top: 3.5mm; } BlueLink { cn1-derive: BaseButton; color: blue; font-size: 2.2mm; padding: 1.5mm; font-family: "native:MainLight"; } theme.css