work on class 05/05
This commit is contained in:
parent
9a97e6dfbd
commit
608c59d3e3
14
.vscode/launch.json
vendored
14
.vscode/launch.json
vendored
@ -1,5 +1,19 @@
|
|||||||
{
|
{
|
||||||
"configurations": [
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "java",
|
||||||
|
"name": "Launch GUI2",
|
||||||
|
"request": "launch",
|
||||||
|
"mainClass": "GUI.GUI2",
|
||||||
|
"projectName": "Lab15_OOP_90898795"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "java",
|
||||||
|
"name": "Launch GarageManager",
|
||||||
|
"request": "launch",
|
||||||
|
"mainClass": "BillGUI.GarageManager",
|
||||||
|
"projectName": "Lab15_OOP_90898795"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "java",
|
"type": "java",
|
||||||
"name": "Launch GUI1",
|
"name": "Launch GUI1",
|
||||||
|
17
bill.txt
Normal file
17
bill.txt
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
*************************
|
||||||
|
* Super Auto 20000 bill ****
|
||||||
|
*******************************
|
||||||
|
|
||||||
|
- Tire replacement 50
|
||||||
|
- Tire replacement 50
|
||||||
|
- Tire replacement 50
|
||||||
|
- Tire replacement 50
|
||||||
|
- Battery replacement 320
|
||||||
|
- Brake revision 400
|
||||||
|
- Oil level control 20
|
||||||
|
|
||||||
|
----------------------------------
|
||||||
|
Bill total 940
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
Payment in 30 days. Thank you !
|
BIN
bin/BillGUI/ManagerGui.class
Normal file
BIN
bin/BillGUI/ManagerGui.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/GUI/Listener.class
Normal file
BIN
bin/GUI/Listener.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
10
src/BillGUI/ManagerGui.java
Normal file
10
src/BillGUI/ManagerGui.java
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
package BillGUI;
|
||||||
|
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ManagerGui extends JFrame{
|
||||||
|
|
||||||
|
}
|
@ -2,7 +2,6 @@ package GUI;
|
|||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import java.awt.AWTEvent;
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.FlowLayout;
|
import java.awt.FlowLayout;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
@ -10,9 +9,7 @@ import java.awt.event.ActionListener;
|
|||||||
|
|
||||||
public class GUI1 extends JFrame {
|
public class GUI1 extends JFrame {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
GUI1 f1 = new GUI1();
|
new GUI1();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GUI1(){
|
GUI1(){
|
||||||
|
@ -1,10 +1,80 @@
|
|||||||
package GUI;
|
package GUI;
|
||||||
|
|
||||||
public class GUI2 {
|
import javax.swing.*;
|
||||||
public static void main(String[] args) {
|
import javax.swing.event.ChangeEvent;
|
||||||
|
import javax.swing.event.ChangeListener;
|
||||||
|
import java.awt.Container;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class GUI2 extends JFrame{
|
||||||
|
int number;
|
||||||
|
public static void main(String[] args) {
|
||||||
|
new GUI2();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
GUI2(){
|
||||||
|
setSize(200,200);
|
||||||
|
setLocation(600,200);
|
||||||
|
Container c = this.getContentPane();
|
||||||
|
BoxLayout fl = new BoxLayout(c, BoxLayout.Y_AXIS);
|
||||||
|
c.setLayout(fl);
|
||||||
|
|
||||||
|
JSlider js1 = new JSlider(0, 100);
|
||||||
|
js1.setValue(0);
|
||||||
|
JProgressBar jp1 = new JProgressBar(0, 100);
|
||||||
|
JLabel jl1 = new JLabel("waiting");
|
||||||
|
|
||||||
|
Listener l = new Listener(jp1, jl1, js1);
|
||||||
|
js1.addChangeListener(l);
|
||||||
|
|
||||||
|
c.add(js1);
|
||||||
|
c.add(jp1);
|
||||||
|
c.add(jl1);
|
||||||
|
|
||||||
|
this.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class Listener implements ChangeListener {
|
||||||
|
JProgressBar jp1;
|
||||||
|
JLabel jl1;
|
||||||
|
JSlider js1;
|
||||||
|
|
||||||
|
int number = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param jp1
|
||||||
|
* @param jl1
|
||||||
|
* @param js1
|
||||||
|
*/
|
||||||
|
Listener(JProgressBar jp1, JLabel jl1, JSlider js1){
|
||||||
|
this.jp1 = jp1;
|
||||||
|
this.jl1 = jl1;
|
||||||
|
this.js1 = js1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param e
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void stateChanged(ChangeEvent e) {
|
||||||
|
number = js1.getValue();
|
||||||
|
jl1.setText("" + number);
|
||||||
|
jp1.setValue(number);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,12 +1,25 @@
|
|||||||
package bank;
|
package bank;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a bank account with a balance and a owner
|
||||||
|
*/
|
||||||
public abstract class BankAccount {
|
public abstract class BankAccount {
|
||||||
protected double balance;
|
protected double balance;
|
||||||
protected String owner;
|
protected String owner;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get balance of the account
|
||||||
|
* @return the balance of the account
|
||||||
|
*/
|
||||||
public double getBalance() {
|
public double getBalance() {
|
||||||
return balance;
|
return balance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deposit an amount on your account
|
||||||
|
* Check the amount for accept only positive amount.
|
||||||
|
* @param amount
|
||||||
|
*/
|
||||||
public void deposit(double amount){
|
public void deposit(double amount){
|
||||||
if(amount<0){
|
if(amount<0){
|
||||||
error("cannot deposit this amount !");
|
error("cannot deposit this amount !");
|
||||||
@ -14,6 +27,13 @@ public abstract class BankAccount {
|
|||||||
}
|
}
|
||||||
balance += amount;
|
balance += amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Withdraw an amount on your account
|
||||||
|
* Check the amount for be sure you have this money
|
||||||
|
* @param amount The amount you want to withdraw
|
||||||
|
* @return true : if the withdraw has been done
|
||||||
|
*/
|
||||||
public boolean withdraw(double amount){
|
public boolean withdraw(double amount){
|
||||||
if(balance<amount){
|
if(balance<amount){
|
||||||
return error("cannot withdraw this amount !");
|
return error("cannot withdraw this amount !");
|
||||||
@ -22,13 +42,19 @@ public abstract class BankAccount {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Explain the problem, if something is wrong
|
||||||
|
* @param text
|
||||||
|
* @return the explanation of the problem
|
||||||
|
*/
|
||||||
protected boolean error(String text){
|
protected boolean error(String text){
|
||||||
System.out.println("Problem : " + text);
|
System.out.println("Problem : " + text);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rewrite the bank account to string
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return owner + " have " + balance + "CHF on his account.";
|
return owner + " have " + balance + "CHF on his account.";
|
||||||
|
@ -1,8 +1,18 @@
|
|||||||
package bank;
|
package bank;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a bank account with specification :
|
||||||
|
* -
|
||||||
|
*/
|
||||||
public class Checking extends BankAccount{
|
public class Checking extends BankAccount{
|
||||||
private double minBalance;
|
private double minBalance;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param owner
|
||||||
|
* @param amount
|
||||||
|
* @param minBalance
|
||||||
|
*/
|
||||||
protected Checking(String owner, double amount, double minBalance){
|
protected Checking(String owner, double amount, double minBalance){
|
||||||
if(owner==null){
|
if(owner==null){
|
||||||
error("An account have to be an owner");
|
error("An account have to be an owner");
|
||||||
@ -20,6 +30,11 @@ public class Checking extends BankAccount{
|
|||||||
this.balance = amount;
|
this.balance = amount;
|
||||||
this.minBalance = minBalance;
|
this.minBalance = minBalance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param minBalance
|
||||||
|
*/
|
||||||
protected void setMinBalance(double minBalance) {
|
protected void setMinBalance(double minBalance) {
|
||||||
if(minBalance>0){
|
if(minBalance>0){
|
||||||
error("Min balance can't be positive");
|
error("Min balance can't be positive");
|
||||||
@ -27,10 +42,18 @@ public class Checking extends BankAccount{
|
|||||||
}
|
}
|
||||||
this.minBalance = minBalance;
|
this.minBalance = minBalance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public double getMinBalance() {
|
public double getMinBalance() {
|
||||||
return minBalance;
|
return minBalance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean withdraw(double amount){
|
public boolean withdraw(double amount){
|
||||||
if((balance-minBalance)<amount){
|
if((balance-minBalance)<amount){
|
||||||
|
@ -3,8 +3,18 @@ package bank;
|
|||||||
import hevs.utils.DateUtils;
|
import hevs.utils.DateUtils;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
public class Savings extends BankAccount{
|
public class Savings extends BankAccount{
|
||||||
private double interestRate;
|
private double interestRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param owner
|
||||||
|
* @param amount
|
||||||
|
* @param interestRate
|
||||||
|
*/
|
||||||
protected Savings(String owner, double amount, double interestRate){
|
protected Savings(String owner, double amount, double interestRate){
|
||||||
if(owner==null){
|
if(owner==null){
|
||||||
error("An account have to be an owner");
|
error("An account have to be an owner");
|
||||||
@ -23,6 +33,12 @@ public class Savings extends BankAccount{
|
|||||||
this.interestRate = interestRate;
|
this.interestRate = interestRate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param a
|
||||||
|
* @param b
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
protected double calcInterest(Date a, Date b){
|
protected double calcInterest(Date a, Date b){
|
||||||
double days = DateUtils.nDays(a, b);
|
double days = DateUtils.nDays(a, b);
|
||||||
return balance * interestRate * (days/360.0);
|
return balance * interestRate * (days/360.0);
|
||||||
|
Reference in New Issue
Block a user