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 (42)
Showing
with 970 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 java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="fxHarakka.LuoProjekti"
prefHeight="400.0" prefWidth="600.0">
</AnchorPane>
package fxHarakka;
public class LuoProjektiController {
}
<?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>
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 OksaController {
}
/* 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();
public static void main (String[] args) {
Harakka harakka = new Harakka();
Projekti projekti1 = new Projekti("Projekti1","Fysiikka");
Projekti projekti2 = new Projekti("Projekti2", "Ohjelmointi");
projekti1.rekisteroiProjekti();
projekti2.rekisteroiProjekti();
projekti1.setKesto(5);
projekti1.setSuoritettu(2);
harakka.lisaaProjekti(projekti1);
harakka.lisaaProjekti(projekti2);
}
/**Välittää projektit luokalle projektin ja projektit luokka lisää sen tietokantaan
*
* @param projekti lisättävä projekti
*/
public void lisaaProjekti (Projekti projekti){
projektit.lisaaProjekti(projekti);
}
}
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
}