Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Lesson18/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="D:/eclipse-jee-luna-R-win32/eclipse/plugins/org.eclipse.fx.ide.css.jfx8_1.0.0.201407180702.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Binary file added Lesson18/resources/images/calculatoryellow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions Lesson18/src/application/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/Home">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="oracle.eclipse.tools.glassfish.lib.system">
<attributes>
<attribute name="owner.project.facets" value="jst.web"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="lib" path="/Users/yfain11/glassfish41/mq/lib/jms.jar"/>
<classpathentry kind="lib" path="/Users/yfain11/glassfish41/mq/lib/imq.jar"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>
File renamed without changes.
2 changes: 1 addition & 1 deletion Lesson26/.project → Lesson18/src/application/.project
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Lesson26</name>
<name>Lesson30</name>
<comment></comment>
<projects>
</projects>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="Lesson26">
<wb-module deploy-name="Lesson30">
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="Lesson26"/>
<property name="java-output-path" value="/Lesson26/build/classes"/>
<property name="context-root" value="Lesson30"/>
<property name="java-output-path" value="/Lesson30/build/classes"/>
</wb-module>
</project-modules>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="GlassFish 4.1"/>
<fixed facet="java"/>
<fixed facet="jst.web"/>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.8"/>
<installed facet="jst.web" version="3.1"/>
<installed facet="glassfish.web" version="4.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
8 changes: 8 additions & 0 deletions Lesson18/src/application/CalculatorEngine.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package application;

import javafx.event.ActionEvent;

@FunctionalInterface
public interface CalculatorEngine {
void processEvent(ActionEvent e, CalculatorPane parent);
}
204 changes: 204 additions & 0 deletions Lesson18/src/application/CalculatorPane.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
package application;

import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.StackPane;

public abstract class CalculatorPane extends StackPane{

private String firstNumber;
private String operator; // selected action
private double result;
private String previouslyPressedButton = "";

public void handle(CalculatorEngine engine) {
button0.setOnAction((e) ->
engine.processEvent(e,this));
button1.setOnAction((e) ->
engine.processEvent(e,this));
button2.setOnAction((e) ->
engine.processEvent(e,this));
button3.setOnAction((e) ->
engine.processEvent(e,this));
button4.setOnAction((e) ->
engine.processEvent(e,this));
button5.setOnAction((e) ->
engine.processEvent(e,this));
button6.setOnAction((e) ->
engine.processEvent(e,this));
button7.setOnAction((e) ->
engine.processEvent(e,this));
button8.setOnAction((e) ->
engine.processEvent(e,this));
button9.setOnAction((e) ->
engine.processEvent(e,this));

buttonPoint.setOnAction((e) ->
engine.processEvent(e,this));
buttonEqual.setOnAction((e) ->
engine.processEvent(e,this));
buttonPlus.setOnAction((e) ->
engine.processEvent(e,this));
buttonMinus.setOnAction((e) ->
engine.processEvent(e,this));
buttonMult.setOnAction((e) ->
engine.processEvent(e,this));
buttonDiv.setOnAction((e) ->
engine.processEvent(e,this));

buttonSQRT.setOnAction((e) ->
engine.processEvent(e,this));
buttonMOD.setOnAction((e) ->
engine.processEvent(e,this));
buttonINV.setOnAction((e) ->
engine.processEvent(e,this));
buttonOPP.setOnAction((e) ->
engine.processEvent(e,this));

buttonBackspace.setOnAction((e) ->
engine.processEvent(e,this));
buttonCE.setOnAction((e) ->
engine.processEvent(e,this));
buttonC.setOnAction((e) ->
engine.processEvent(e,this));

buttonMC.setOnAction((e) ->
engine.processEvent(e,this));
buttonMR.setOnAction((e) ->
engine.processEvent(e,this));
buttonMS.setOnAction((e) ->
engine.processEvent(e,this));
buttonMPlus.setOnAction((e) ->
engine.processEvent(e,this));
}

// Declare all calculator's components.
protected TextField displayField;

protected Button button0;
protected Button button1;
protected Button button2;
protected Button button3;
protected Button button4;
protected Button button5;
protected Button button6;
protected Button button7;
protected Button button8;
protected Button button9;
protected Button buttonPoint;
protected Button buttonEqual;
protected Button buttonPlus;
protected Button buttonMinus;
protected Button buttonMult;
protected Button buttonDiv;

protected Button buttonSQRT;
protected Button buttonMOD;
protected Button buttonINV;
protected Button buttonOPP;

protected Button buttonBackspace;
protected Button buttonCE;
protected Button buttonC;

protected Button buttonMC;
protected Button buttonMR;
protected Button buttonMS;
protected Button buttonMPlus;

// Constructor
public CalculatorPane(){
super();
String backgroundStyle = "-fx-background-color: lightblue;"
+ "-fx-background-radius: 30%;"
+ "-fx-background-inset: 5px;";
super.setStyle(backgroundStyle);
setStyle(backgroundStyle);
}

// Define getter and setters

public String getDisplayValue() {
return displayField.getText();
}

public void setDisplayValue(String val){
String textColor = " -fx-text-fill: black";
displayField.setStyle(textColor);
displayField.setText(val);
}

public void setDisplayValue(String val, String color){
String textColor = " -fx-text-fill: " + color;
displayField.setStyle(textColor);
displayField.setText(val);
}

public String getFirstNumber() {
return firstNumber;
}

public void setFirstNumber(String firstNumber) {
this.firstNumber = firstNumber;
}

public String getOperator() {
return operator;
}

public void setOperator(String operator) {
this.operator = operator;
}

public double getResult() {
return result;
}

public void setResult(double result) {
this.result = result;
}

public String getPreviouslyPressedButton() {
return previouslyPressedButton;
}

public void setPreviouslyPressedButton(String previouslyPressedButton) {
this.previouslyPressedButton = previouslyPressedButton;
}

protected void setButtonStyles(String style){
button0.setId(style);
button1.setId(style);
button2.setId(style);
button3.setId(style);
button4.setId(style);
button5.setId(style);
button6.setId(style);
button7.setId(style);
button8.setId(style);
button9.setId(style);

buttonPoint.setId(style);
buttonEqual.setId(style);
buttonPlus.setId(style);
buttonMinus.setId(style);
buttonMult.setId(style);
buttonDiv.setId(style);

buttonSQRT.setId(style);
buttonMOD.setId(style);
buttonINV.setId(style);
buttonOPP.setId(style);

buttonBackspace.setId(style);
buttonCE.setId(style);
buttonC.setId(style);

buttonMC.setId(style);
buttonMR.setId(style);
buttonMS.setId(style);
buttonMPlus.setId(style);

}

}
24 changes: 24 additions & 0 deletions Lesson18/src/application/FancyCalculatorPane.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package application;

public class FancyCalculatorPane extends StandardCalculatorPane {

public FancyCalculatorPane(){
super();
/*
setStyle( " -fx-background-color: grey; "
+ "-fx-text-fill: white;"
+ "-fx-font-family: \"Times New Roman\";"
+ "-fx-font-size: 18px;");
*/
setStyle( "-fx-border-radius: 30;"+
"-fx-border-width:5;"+
"-fx-border-color:blue;");

// Set button styles

setButtonStyles("chocolat");


}

}
Loading