Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • tie/ohj2/ve/2025/kevat/ohj2
  • hasemajo/ohj2
  • nikaleko/ohj2
  • tntvanha/ohj2
  • lemaline/ohj2
  • rintahe/ohj2
  • tersaton/ohj2
  • tornhale/ohj2
  • pjyypiix/ohj-2
  • aneejoko/ohj2
  • reponaw/ohj2
  • saarian/ohj2
  • niemimm/ohj2
  • jppaasww/ohj2-2025k
  • ssniinim/ohj2
  • niememan/ohj2
  • milimaas/ohj2
  • kallmovu/ohj2
  • adaoliro/ohj2
  • tojuhann/ohj2
  • vevejuha/ohj2
  • mieikrla/ohj2
  • miankort/ohj2
  • saeteppo/ohj2
  • saelripa/ohj2
  • saniitty/ohj2
  • nsmietyt/ohj2
  • mikkolto/ohj2
  • mmuhonen/ohj2k25
  • saukkota/ohj-2-ht
  • eenorta/ohj2
  • oapaaso/ht-2
  • eeeeoino/ohj2
  • hietmaem/ohj2
  • vvlaspa/ohj2ht
  • lalaajal/ohj2
  • pepartyy/ohj2
  • loukovjv/ohj2
  • vihtkaan/ohj2
  • annelinu/ohjelmointi2
  • lehtikmi/ohj2
  • ihakalel/ohj2
  • aichinos/ohj2
  • lahteela/ohj-2-ht
  • pellrata/ohj2
  • iljinisa/ohj2
  • nkeuren/ohj2
  • hiltunma/ohj2
  • esshelkr/ohj2
  • vianelo/ohj2
  • kousaepw/ohj-2-ht
  • amheikkz/ohj2
  • jatirkko/ohj2
  • akharine/ohj2
  • rlokilja/ohj2
  • eskrliim/ohj2
  • masakoiv/ohj2
  • toivjope/ohj2
  • sasalons/ohj2
  • hirvepjw/ohj2
  • lajoveps/vuororekisteri
  • lelitirr/ohj-225
  • juhsansa/ohj2
  • essmarpe/ohj2
  • lehtlrvt/ohj2
  • setilus/ohj2
  • julipits/ohj2
  • kivistve/ohj2
  • erpajala/ohj2
  • pslohi/ohj2
  • sediiv/ohj2
  • jovesaar/ohj2
  • jutaalko/ohj2
  • valltoha/ohj2
  • ruotvive/ohj2ht
  • kkvalke/ohj2
  • aetuukka/espanjakohderekisteri
  • pdanilei/ohj2ht
  • lahtlule/ohj2
  • jaemvahu/ohj2
  • kantsiii/ohj2
  • tototuru/ohj2
  • elmotabe/ohj2
  • sutinele/ohj2
  • vepajuna/ohj2
  • tornittu/reseptilista
  • sasoleht/ohj2
  • eemjorto/ohj2
  • gagolzar/ohj2
  • sievanee/ohj2
  • nobekail/ohj2
  • mamiparv/ohj2
  • halolpvz/ohj2
  • tukilo/ohj2
  • mmleppis/ohj2
  • tmruisma/ohj2
  • aajataip/ohj-2
  • salonevs/ohj-2
  • ygulusen/ohj2
  • saarakka/ohj2
  • eakoskix/ohj2
  • lamminm/ohj2ht
  • sellmmv/salibandynpelaajarekisteri
  • tuoskopp/ohj2
  • haarates/ohj-2
  • jormlsuu/ohj2
  • lihiauka/ohj2
  • eeemkarv/ohj2
  • uekolehm/ohj2
  • smkolari/ohj-2-a
  • spicjrxz/ohj2
  • maalvirt/ohj-2-ht
  • hietaolo/ohj2ht
  • rtmatilt/ohj2
  • veevjoen/ohj2
  • lainejee/ohj2
  • pohtojoj/tuotelistaaja
  • jokayli/ohj2
  • sulasaal/ohj2
  • kalloupe/ohj2
  • apeshhhh/ohj2
  • kopperp/ohj2
  • garammtu/ohj2
  • ettalaes/ohj2
  • rajanije/ohj2
  • timovaan/ohj2
  • mkvuonos/ohj2
  • tuomiluu/ohj2
  • konttijm/ohj2
  • palolala/ohj2
  • vejokauk/ohj2
  • peihanus/ohj2
  • itsario/ohj2
  • hejumivu/ohj2
  • isojarto/ohj2
  • pirinpot/ohj2ht
  • oihietan/ohj2
  • niemhizz/ohj2
  • oparve/ohj2
  • truhtejo/ohj-2-ht
  • malineps/ohj-2-pelivalikoima
  • kylkii/ohj2
  • emigrank/ohj2
  • samavakk/ohj2
  • lausofla/ohj2
  • arossors/ohj-2-2
  • nurmsajo/ohj2
  • mattarma/ohj2
  • akjuhesa/ohj-2-ht
  • ovevalka/ohj2
  • lequyanh/ohj-2-ht
  • jasyvays/ohj2
  • lindtope/ohj2
  • kaipainm/ohj2
  • peillips/ohj2
  • miwamich/ohj2
  • anpahypp/ohj2harkka
  • kreenk/ohj2
  • iiaumaoi/ohj2
  • jmsutizy/ohj-2-25
  • conrcsir/ohj2
  • palaakho/ht-metsastyspaivakirja
  • makelkjt/ohj-2-k
  • jooantni/ohj2
  • ttkelaw/ohj-2-2025-k
  • koivishe/kuntohalli-oy
  • laleiho/harjoitustyo-ohj-2
  • joolmatt/ohj2-ht
  • akrasa/ohj2
  • rikretel/ohj-2-ht
  • vuorelma/ohj2
171 results
Show changes
Commits on Source (37)
Showing
with 1259 additions and 6 deletions
Luokan nimi: Naytto Avustajat: Projektit, Tehtavat
-Toimii API:na eli pyytää ja välittää tarvittavat tiedot Projekti ja Tehtava luokilta jotka taas noutavat asiat omista .dat tiedostoista
————————————————————————————————————————————————————————
Luokan nimi: Projektit Avustajat: Projekti
-lisää ja poistaa projekteja
-lukee ja kirjoittaa projektit.dat tiedostoa
-etsii ja lajittelee
-tietää suoritettujen ja suorittamattomien tehtävien lukumäärä ja huolehtii sitä kautta status kentästä
————————————————————————————————————————————————————————
Luokan nimi: Projekti Avustajat: Tehtavat
-Kommunikoi tehtavat kanssa ja tätä kautta luo statuksen
(Tieto montako tehtävää on suoritettu kaikista tehtävistä)
————————————————————————————————————————————————————————
Luokan nimi: Tehtavat (tehtävät) Avustajat:Projekti, Tehtävä
-Vastaa tehtävien järjestelystä ja etsimisestä
-Tietää onko tehtävä suoritettu vai suorittamaton
-lukee ja kirjoittaa tehtavat.dat tiedostoa
————————————————————————————————————————————————————————
Luokan nimi: Tehtava Avustajat:
-Huolehtii omista tiedoista
-tarkastaa syötettyn tiedon formaatin (parse)
# pohja
Pohja kevään 2025 harjoitustöiden GIT-repoille
Lue käyttöohjeet TIMistä: <https://tim.jyu.fi/view/kurssit/tie/ohj2/tyokalut/git/ohj2git#fork>
Harakka tehtävien hallinta ohjelma
kuvat/Harakka tietorakenne.jpg

422 KiB

kuvat/HarakkaMain.jpeg

37 KiB

kuvat/HarakkaStat.jpeg

14.6 KiB

kuvat/harakkakaynnistys.png

12.6 KiB

kuvat/hierarkia.jpg

49.9 KiB

kuvat/tehta.jpg

73 KiB

kuvat/tiles.jpg

80.8 KiB

package fxHarakka;
import fi.jyu.mit.fxgui.Dialogs;
import fi.jyu.mit.fxgui.ModalController;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.MenuItem;
import javafx.scene.layout.Pane;
public class HarakkaController {
@FXML
private Button p1t1;
@FXML
private Button p1t2;
@FXML
private Button p1t3;
@FXML
private Button p2t1;
@FXML
private Button p2t2;
@FXML
private CheckBox piilotaVkl;
@FXML
private MenuItem sulje;
@FXML
private Button tile1_1;
@FXML
private Button tile1_2;
@FXML
private Button tile1_3;
@FXML
private Button tile1_4;
@FXML
private Button tile1_5;
@FXML
private Button tile2_1;
@FXML
private Button tile2_2;
@FXML
private Button tile2_3;
@FXML
private Button tile2_4;
@FXML
private Button tile2_5;
@FXML
private Button tile3_1;
@FXML
private Button tile3_2;
@FXML
private Button tile3_3;
@FXML
private Button tile3_4;
@FXML
private Button tile3_5;
@FXML
private Button tile4_1;
@FXML
private Button tile4_2;
@FXML
private Button tile4_3;
@FXML
private Button tile4_4;
@FXML
private Button tile4_5;
@FXML
private Button tile5_1;
@FXML
private Button tile5_2;
@FXML
private Button tile5_3;
@FXML
private Button tile5_4;
@FXML
private Button tile5_5;
@FXML
private Button tile6_1;
@FXML
private Button tile6_2;
@FXML
private Button tile6_3;
@FXML
private Button tile6_4;
@FXML
private Button tile6_5;
@FXML
private Button tile7_1;
@FXML
private Button tile7_2;
@FXML
private Button tile7_3;
@FXML
private Button tile7_4;
@FXML
private Button tile7_5;
@FXML
private Button uusiPro;
@FXML
private Button uusiTeht;
@FXML
void HandleMuokkaa(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Tästä saat muokattua");
}
@FXML
void HandlePiilota(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Tästä saat piilotettua viikonlopun");
}
@FXML
void handleLisaaPro(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Tästä saat lisättyä projektin");
}
@FXML
void handleLisaaTeht(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Tästä saat lisättyä tehtävän");
}
@FXML
void handleMuokkaa(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Tästä saat muokattua tehtävää");
}
@FXML
void handleTehtava(ActionEvent event) {
ModalController.showModal(HarakkaController.class.getResource("Oksa.fxml"), "Muokkaa", null, "");
}
@FXML
void handleTile(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Tästä saat muokattua tileä");
}
@FXML
void suljeOhjelma(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Sulkee ohjelman");
}
@FXML
void handlePoistaPro(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Poistaa projektin");
}
@FXML
void handleApu(ActionEvent event) {
Dialogs.showMessageDialog("Myöhemmin: Saat lisätietoja ohjelmasta");
}
}
package fxHarakka;
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.fxml.FXMLLoader;
/**
* @author rennekiljala, Jaakko Matilainen
* @version 23.1.2025
*/
public class HarakkaMain extends Application {
@Override
public void start(Stage primaryStage) {
try {
FXMLLoader ldr = new FXMLLoader(getClass().getResource("HarakkaView.fxml"));
final Pane root = ldr.load();
Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("harakka.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.setTitle("Harakka");
primaryStage.show();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param args Ei käytössä
*/
public static void main(String[] args) {
launch(args);
}
}
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.ProgressBar?>
<?import javafx.scene.control.SplitPane?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.control.TitledPane?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.RowConstraints?>
<SplitPane dividerPositions="0.5, 0.510590015128593" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="445.0" prefWidth="663.0" xmlns="http://javafx.com/javafx/23.0.1" xmlns:fx="http://javafx.com/fxml/1">
<items>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0">
<children>
<TitledPane animated="false" layoutX="31.0" layoutY="32.0" prefHeight="443.0" prefWidth="327.0" text="Status" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="0.0" prefWidth="38.0">
<children>
<Button layoutX="23.0" layoutY="367.0" mnemonicParsing="false" text="Tallenna" />
<Button layoutX="98.0" layoutY="367.0" mnemonicParsing="false" text="Hylkää muutokset" />
<TextField layoutX="56.0" layoutY="37.0" prefHeight="26.0" prefWidth="206.0" text="Lisää &quot;ei toimi&quot; promptit" />
<TextField layoutX="56.0" layoutY="70.0" prefHeight="26.0" prefWidth="206.0" text="Lisää sample data" />
<CheckBox layoutX="31.0" layoutY="41.0" mnemonicParsing="false" />
<CheckBox layoutX="31.0" layoutY="74.0" mnemonicParsing="false" />
<ProgressBar layoutX="30.0" layoutY="329.0" prefHeight="20.0" prefWidth="254.0" progress="0.0" />
</children>
</AnchorPane>
</content>
</TitledPane>
</children></AnchorPane>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
<TitledPane animated="false" prefHeight="443.0" prefWidth="327.0" text="Tehtävän tiedot">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="0.0" prefWidth="38.0">
<children>
<TextArea layoutX="22.0" layoutY="200.0" prefHeight="109.0" prefWidth="278.0" promptText="Lisätietoja" />
<Pane layoutX="23.0" layoutY="-7.0" prefHeight="200.0" prefWidth="252.0" />
<GridPane gridLinesVisible="true" layoutX="10.0" layoutY="10.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="130.22607421875" minWidth="10.0" prefWidth="101.00753784179688" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="123.17330932617188" minWidth="10.0" prefWidth="98.99246215820312" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="123.17330932617188" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<opaqueInsets>
<Insets />
</opaqueInsets>
<children>
<TextField text="Kiinteä aika:" GridPane.rowIndex="1" />
<TextField promptText="muotoa 1,1 - 1,4" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField GridPane.columnIndex="2" GridPane.rowIndex="1" />
<TextField text="Ajankohta:" GridPane.rowIndex="2" />
<TextField GridPane.columnIndex="2" GridPane.rowIndex="2" />
<TextField promptText="pv.tt." GridPane.columnIndex="1" GridPane.rowIndex="2" />
<TextField />
<TextField GridPane.columnIndex="2" />
<TextField GridPane.columnIndex="1" />
</children>
</GridPane>
<ButtonBar layoutX="15.0" layoutY="362.0" prefHeight="40.0" prefWidth="282.0">
<buttons>
<Button mnemonicParsing="false" text="Ohje" />
</buttons>
</ButtonBar>
</children>
</AnchorPane>
</content>
</TitledPane>
</items>
</SplitPane>
/* JavaFX CSS - Leave this comment until you have at least create one rule which uses -fx-Property */
\ No newline at end of file
File added
package fxHarakka.luokat;
public class Harakka {
//harakalla on tehtavat ja projektit instanssit
private final Tehtavat tehtavat = new Tehtavat();
private final Projektit projektit = new Projektit();
}
package fxHarakka.luokat;
public class Naytto {
//Naytöllä on viite harakkaan --> naytossa pitää olla instanssi harakalle
private final Harakka harakka = new Harakka(); //luodaan ns. uusi istunto --> voi olla useampi harakka
//jos jatkossa haluaa useamman käyttäjän
}
package fxHarakka.luokat;
/**
* ----------Yksittäisen projektin luokka------------
* |
* | - Ei tiedä muista luokista mitään.
* | - Huolehtii yksittäisen projektin kentistä eli:
* | -aihe
* | -nimi
* | -kesto (viikoissa)
* | -suoritettu (viikoissa)
* | - Osaa get metodit omille attribuuteille.
* | - Osaa parsia itsensä merkkijonoksi
* --------------------------------------------------
*/
public class Projekti {
private String aihe; //projektin aihealue
private String nimi; //projektin nimi
private int id; //projekti id --> ensimmäinen projekti alkaa id nro 1
private int kesto;
private int suoritettu;
private static int seuraavaNro = 1;
//default parametritön muodostaja
public Projekti() {
this.id = 0;
this.nimi = "";
this.aihe = "";
}
//minimimuodostaja. kestoa tai suoritettua ei vielä ilmoitettu
public Projekti(String nimi, String aihe) {
this.id = 0;
this.nimi = nimi;
this.aihe = aihe;
}
//parametrillinen muodostaja
public Projekti(int id, String nimi, String aihe){
this.id = id;
this.nimi = nimi;
this.aihe = aihe;
}
//-----------------------Metodit ja Funktiot - PROJEKTI----------------------------
/** Aliohjelma joka antaa projektille id numeron
*
* @example <pre name="test">
*
* Projekti projekti1 = new Projekti("Projekti1", "Fysiikka");
* Projekti projekti2 = new Projekti("Projekti2", "Kemia");
* projekti1.rekisteroiProjekti();
* projekti2.rekisteroiProjekti();
* projekti1.toString() === "Projekti1 | Fysiikka | 1";
* projekti2.toString() === "Projekti2 | Kemia | 2"
* </pre>
*
*
* </pre>
*/
public void rekisteroiProjekti(){
int nro = seuraavaNro++; // huom jälkilisäys
this.id = nro;
}
/**Aliohjelma joka antaa projektin lisättäväksi projektit luokalle joka lisää sen tietorakenteeseen
*
*/
public void lisaaProjekti (){
this.
}
/**
*
* @return palauttaa projektin id numeron
*/
public int getId() {
return id;
}
/**
*
* @return palauttaa projektin nimen
*/
public String getNimi() {
return nimi;
}
/**
*
* @return palauttaa projektin aiheen
*/
public String getAihe() {
return aihe;
}
@Override
public String toString(){
String strg = this.nimi + " | " + this.aihe + " | " + this.id;
return strg;
}
//maini testaamista varten
public static void main(String[] args){
}
}
package fxHarakka.luokat;
import java.util.ArrayList;
import java.util.Collections;
/**---------------Projektien (monikko) luokka--------------------------------
* | | -Projekti |
* | - lisää ja poistaa projekteja | |
* | | |
* | - Huolehtii listan pituuden riittävyydestä jos | |
* | täyttyy | |
* | | |
* | - Lukee ja kirjoittaa projektit.dat tiedostoon | |
* | | |
* | - Etsii ja lajittelee (avustajana projekti luokka) | |
*/
public class Projektit {
private int maara;
//private int maxMaara; //tätä ei näillänäkymin tarvitse johtuen tietorakenteesta
//--> ei tarvitse itse huolehtia kasvatuksesta
private String kokoNimi = ""; //projektit nimi
private String tied = ""; //tiedostosijainti josta luetaan ja kirjoitetaa
private ArrayList<Projekti> alkiot = new ArrayList<>(); //varaa autom. oikean määrän alkioita
//arraylist on nyt staattinen mutta oliot sisällä ei eli pitäis olla ok?? jos tulee ongelmia niin
//pitää mennä Projekti luokkaan ja tehdä lisaaProjekti ei-staattiseksi ja alla lisaaProjekti myös
//-----------------------MUODOSTAJAT - PROJEKTIT----------------------------
/**
*
* @param maara Nykyinen alkioiden määrä
* @param kokoNimi projektikokoelman nimi
* @param tied tiedostosijainti josta luetaan ja talletetaan
*/
public Projektit(int maara, String kokoNimi, String tied) {
this.maara = maara;
this.kokoNimi = kokoNimi;
this.tied = tied;
}
/**
* Oletusmuodostaja. voidaan käyttää ylempää jos halutaan muokata ominaisuuksia kuten nimeä esim tilanteessa
* jossa halutaan jatkossa lisätä uusi "istunto".
*
*
* oletuksena luo 10 tyhjää alkioita
*/
public Projektit() {
this.maara = 0;
this.kokoNimi = "Harakka";
this.tied = "projektit.dat";
}
//-----------------------METODIT - PROJEKTIT----------------------------
/**
*
* @return palauttaa tietorakenteen alkioiden määrän
*/
public int getMaara() {
return maara;
}
/**
*
* @param maara asettaa tietorakenteen alkioiden määrän
*/
public void setMaara(int maara) {
this.maara = maara;
}
/**
* Lisää projektin tietorakenteeseen
* @param projekti lisättävä projekti
*/
public void lisaaProjekti(Projekti projekti){
alkiot.add(projekti); // lisää projektin tietorakenteeseen
}
}
package fxHarakka.luokat;
import java.time.LocalDate;
/**
* ---------------------Tehtava == yhden tehtän luokka-----------------------
* | Vastuualueet: | |
* | | |
* | - Ei tiedä muista luokista mitään | |
* | - Omien kenttien muokkaus pyydettäessä omista | |
* | kentistä | |
* | -id | |
* | -nimi | |
* | -aika | |
* | -päivä | |
* | -lisätietoa | |
* | | |
* | - Osaa hyväksyä vain kentille määritellyn muodon | |
* | (syntaksi) | |
* | - Osaa get metodit omille attribuuteille | |
* | - Osaa muodostaa itsensä merkkijonoksi | |
* -------------------------------------------------------------------------
*/
public class Tehtava {
private String nimi; //tehtävän nimi
//private Aika aika; // TODO tehään myös aika luokka
private String paiva = ""; //tehtävän viikonpäivä (voidaan tehtä Vpaiva luokka)
private int id; //tehtävän id numero
private String lisatieto = ""; //tehtävän lisätiedot
/**
*TODO sitten kun Pvm ja Aika luokat lisätty ne pitää lisätä muodostajaan ja ainakin tällä hetkellä
* lisaa Tehtaa metodiin
*/
//-----------------------MUODOSTAJAT - TEHTAVA----------------------------
public Tehtava() {
this.nimi = "";
this.paiva = "";
this.id = 0; //id 0 varattu tehtäville joille ei asetettu linkkiä projektiin
this.lisatieto = "";
}
public Tehtava(String nimi, int id) {
this.nimi = nimi;
this.paiva = ""; //päivää ei määritetty
this.id = id; //id 0 varattu tehtäville joille ei asetettu linkkiä projektiin
this.lisatieto = "";
}
public Tehtava(String nimi, String paiva, int id, String lisatieto) {
this.nimi = nimi;
this.paiva = paiva;
this.id = id; //id 0 varattu tehtäville joille ei asetettu linkkiä projektiin
this.lisatieto = lisatieto;
}
//-----------------------METODIT - TEHTAVA----------------------------
/**
* asettaa tehtävälle nimen
* @param nimi
*/
public void setNimi(String nimi){
this.nimi = nimi;
}
/**
*
* @return tehtävän nimi
*/
public String getNimi(){
return this.nimi;
}
/**
* voidaan tehdä jos on aikaa niin Vpaiva luokka joka ottaa vastaan vaan viikonpäiviä
* formaatilla Ma,Ti,Ke,To,Pe,La,Su
* mutta tällä hetkellä ottaa vastaan String
*/
public void setPaiva(String paiva){
String[] paivat = {"Ma", "Ti", "Ke", "To", "Pe", "La", "Su"};
for (String i : paivat){
if (paiva.equalsIgnoreCase(i)) this.paiva = paiva; //ottaa vastaan vaan päivän ja ei välitä asusta
}
}
/**
* asettaa tehtävälle id numeron
*/
public void setId(){
}
/**
*
* @return tehtävän lisätiedot String muodossa
*/
public String getLisatieto(){
return this.lisatieto;
}
/**
* lisää tehtävälle lisätietoaja
*
* @param lisatieto String: lisättävät lisätiedot
* @param append jos true niin append modessa eli lisätään vanhan tekstin perään
* jos false niin korvataan vanha.
* @example <pre name="test">
* #import fxHarakka.luokat.Tehtava;
* Tehtava teht1 = new Tehtava();
* teht1.setLisatieto("testi", false);
* teht1.getLisatieto() === "testi";
* teht1.setLisatieto("testi2", false);
* teht1.getLisatieto() === "testi2";
* teht1.setLisatieto("testi3", true);
* teht1.getLisatieto() === "testi2testi3";
* </pre>
*/
public void setLisatieto(String lisatieto, boolean append){
//append moodi päällä lisää vanhan perään
if (append) {
String lisattava = "";
lisattava = this.getLisatieto() + lisatieto;
this.lisatieto = lisattava;
}else {
//ilman append moodia korvaa vanhan uudella lisätiedolla
this.lisatieto = lisatieto;
}
}
}