• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

A

acharal

@acharal
administrators
About
Posts
128
Topics
1
Groups
1
Followers
2
Following
0

Posts

Recent Best Controversial

    Ερωτηση για τον χρονο
  • A acharal

    Κοίτα εδώ: http://mybb.ditapps.hua.gr/post/165


  • Ερωτηση για την λειτουργια
  • A acharal

    Σε παράθυρο να εμφανίζεται. Ναι θα πρέπει να μπορεί να επιλέξει αριθμό ατόμων αν θέλει.


  • Αριθμός ατόμων
  • A acharal

    Και στα τρεις ναι.


  • Πρόβλημα με την Βιβλιοθήκη Countdown
  • A acharal

    Είναι gr.hua.dit.oop2.countdown.Countdown και gr.hua.dit.oop2.countdown.Notifier αντι για gr.hua.dit.oop2.Countdown και gr.hua.dit.oop2.Notifier.


  • Πρόβλημα με την Βιβλιοθήκη Countdown
  • A acharal

    Δεν εμφανίζει Downloading γιατί το βρίσκει στο .m2/repository/.... Αν το σβήσεις από εκεί όλο το directory gr/hua/... και ξανατρέξεις το mvn package λογικά θα γράψει downloading και θα το έχει ξαναφτιάξει στο .m2.

    Για το τελευταίο έχεις κάνει Maven -> Reload με δεξί κλικ στο project;


  • Custom Components
  • A acharal

    Μπορείτε αλλά που σκέφτεσαι να το χρησιμοποιήσεις αυτό;


  • ΠΡΟΒΛΗΜΑ ΜΕ ΤΗΝ COUNTDOWN
  • A acharal

    Για κοίτα εδώ: http://mybb.ditapps.hua.gr/post/280.

    Θα πρέπει να πεις στο pom.xml που να βρει το jar όταν το τρέχεις. Αν δεις το java-maven-skeleton έχει κάποιες επιπλέον πληροφορίες. Κοίτα τα υπογραμμισμένα εδώ: https://gitlab.hua.gr/oop2/java-maven-skeleton/-/blob/master/pom.xml#L83-117.

    • Το πρώτο λέει αντέγραψε όλα τα dependencies sto target/lib
    • και το δεύτερο, βάλε σαν classpath όλα τα jar που βρίσκονται στο target/lib.

  • Για την βιβλιοθήκη Countdown
  • A acharal

    Αν έτρεχε από το IDE αλλά όχι από την κονσόλα τότε πρέπει πάλι να αλλάξετε το configuration του pom.xml.

    • Κοιτάχτε το pom.xml του java-maven-skeleton. Περιέχει κάποιες επιπλέον εντολές για να αντιγράφει όλες τις βιβλιοθήκες στο target/lib.
    • Επίσης δείτε και το τελευταίο εργαστήριο (αν θυμάμαι καλά) που το συζητάμε.

  • Για την βιβλιοθήκη Countdown
  • A acharal

    Ο Notifier δεν είναι κλάση. Πως το χρησιμοποιείς;


  • Για την βιβλιοθήκη Countdown
  • A acharal

    Το link που υπάρχει στο pdf και σας ανοίγει το musicplayer είναι προφανώς λάθος. Το σωστό link είναι https://gitlab.com/acharal/maven/-/packages/31828310 το οποίο όμως δεν παίζει κανένα ρόλο για το πως θα ρυθμίσετε την βιβλιοθήκη στην εργασία σας. Οι οδηγίες που υπάρχουν στην εκφώνηση θα πρέπει να δουλεύουν χωρίς καμία αλλαγή.

    Σας γράφω αναλυτικά τι πρέπει να κάνετε:

    Θα πρέπει να αλλάξετε το pom.xml ώστε να μοιάζει όπως το παρακάτω.

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>org.example</groupId>
      <artifactId>countdown-example</artifactId>
      <version>1.0-SNAPSHOT</version>
      <name>Archetype - countdown-example</name>
      <url>http://maven.apache.org</url>
    
        <repositories>
            <repository>
                <id>gitlab-maven</id>
                <url>https://gitlab.com/api/v4/projects/41008035/packages/maven</url>
            </repository>
        </repositories>
    
        <dependencies>
            <dependency>
                <groupId>gr.hua.dit.oop2</groupId>
                <artifactId>countdown</artifactId>
                <version>1.0.0</version>
            </dependency>
        </dependencies>
    </project>
    

    Δηλαδή να έχει το section repositories και το section dependencies αν δεν το έχει ήδη.
    Μετά τρέχοντας στην κονσόλα:

    ❯ mvn package
    [INFO] Scanning for projects...
    [INFO]
    [INFO] -------------------< org.example:countdown-example >--------------------
    [INFO] Building Archetype - countdown-example 1.0-SNAPSHOT
    [INFO]   from pom.xml
    [INFO] --------------------------------[ jar ]---------------------------------
    Downloading from gitlab-maven: https://gitlab.com/api/v4/projects/41008035/packages/maven/gr/hua/dit/oop2/countdown/1.0.0/countdown-1.0.0.pom
    Downloaded from gitlab-maven: https://gitlab.com/api/v4/projects/41008035/packages/maven/gr/hua/dit/oop2/countdown/1.0.0/countdown-1.0.0.pom (3.3 kB at 3.3 kB/s)
    Downloading from gitlab-maven: https://gitlab.com/api/v4/projects/41008035/packages/maven/gr/hua/dit/oop2/countdown/1.0.0/countdown-1.0.0.jar
    Downloaded from gitlab-maven: https://gitlab.com/api/v4/projects/41008035/packages/maven/gr/hua/dit/oop2/countdown/1.0.0/countdown-1.0.0.jar (11 kB at 9.2 kB/s)
    [INFO]
    [INFO] --- resources:3.3.1:resources (default-resources) @ countdown-example ---
    [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] Copying 4 resources from src/main/resources to target/classes
    [INFO]
    [INFO] --- compiler:3.13.0:compile (default-compile) @ countdown-example ---
    [INFO] No sources to compile
    [INFO]
    [INFO] --- resources:3.3.1:testResources (default-testResources) @ countdown-example ---
    [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] skip non existing resourceDirectory /Users/angel/lectures/oop2/labs/countdown-example/src/test/resources
    [INFO]
    [INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ countdown-example ---
    [INFO] No sources to compile
    [INFO]
    [INFO] --- surefire:3.2.5:test (default-test) @ countdown-example ---
    [INFO] No tests to run.
    [INFO]
    [INFO] --- jar:3.4.1:jar (default-jar) @ countdown-example ---
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  2.869 s
    [INFO] Finished at: 2025-01-04T17:29:28+02:00
    [INFO] ------------------------------------------------------------------------
    

    θα δείτε ότι προσπάθησε να κατεβάσει την βιβλιοθήκη από το https://gitlab.com/api/v4/projects/41008035/packages/maven/gr/hua/dit/oop2/countdown/1.0.0/countdown-1.0.0.jar.

    Αν χρησιμοποιείτε κάποιο IDE θα πρέπει να κάνετε refresh / reload το pom.xml για να ενημερωθεί για την καινούργια βιβλιοθήκη. Συνήθως αυτή η επιλογή υπάρχει με δεξί κλικ στο project σας.


  • Επιλογή Συνταγής
  • A acharal

    Θα έλεγα για την τρίτη λειτουργία να αρκεστείτε στην μία συνταγή -- δηλαδή να μην επιτρέπετε στον χρήστη να εκτελεί πολλές συνταγές.


  • Countdown library και εκτέλεση συνταγής
  • A acharal

    Καταρχάς για να σιγουρευτείς ότι δεν υπάρχει σφάλμα με την βιβλιοθήκη χρησιμοποίησε την γραμμή εντολών και κάνε mvn package -- θα κατεβάσει την βιβλιοθήκη και ότι χρειάζεται και θα μεταγλωττίσει τον κώδικα σου.

    Αν κολλάει στο κατέβασμα της βιβλιοθήκης τότε πάει κάτι λάθος.

    Αν το κατεβάζει και κολλάει στην μεταγλώττιση τότε φταίει ο κώδικας που γράφεις. Σιγουρέψου ότι κάνεις import το gr.hua.dit.oop2.Notifier


  • Πρόβλημα με το layout (τεράστια κενά ανάμεσα στα components)
  • A acharal

    Προσπάθησε να θέσεις το setMaximumSize και το setPreferredSize του JTable.

    Επίσης κοίταξε μήπως αυτό μπορεί να γίνει "αυτόματα" με κάποια ρύθμιση του JTable, πχ. setFillsViewportHeight αν και λέει οτι το default είναι false.


  • Εμφάνιση λίστας αγορών και της ίδιας της συνταγής στο GUI
  • A acharal

    όπως και στο πρώτο μέρος


  • "Συνένωση" λειτουργιών 1ου και 2ου παραδοτέου
  • A acharal

    Ναι ο χρήστης θα πρέπει να μπορεί να κάνει όλες τις λειτουργίες μέσω παραθύρων οπότε ότι input χρειάζεται το πρόγραμμα θα πρέπει να το ζητάει.


  • "Συνένωση" λειτουργιών 1ου και 2ου παραδοτέου
  • A acharal

    Αν είστε μερακλήδες μπορείτε να κρατήσετε και τoυς δύο τρόπους για είσοδο των δεδομένων (terminal ή windows). Αλλά δεν είναι απαραίτητο αν σας δυσκολέψει -- αν τα έχετε οργανώσει καλά δεν θα έπρεπε να είναι μεγάλη δυσκολία.

    Οπότε αν κρατήσετε και τα δύο θα πρέπει να βάλετε ένα επιπλέον option όπως λες. Η λογική συμπεριφορά θα ήταν ως εξής:

    • αν δεν πάρει ορίσματα στο terminal τότε ανοίγει τα windows.
    • αν πάρει ορίσματα στο terminal (πχ. αρχεία) τότε ανοίγει τα windows με φορτωμένα αυτά τα αρχεία.
    • αν πάρει επιπλέον όρισμα στο terminal (συνήθως αυτά τα προγράμματα τα λένε headless) τότε δουλεύει μόνο το terminal χωρίς να ανοίξει windows.

    Με άλλα λόγια όπως τα λες απλώς να είναι default τα windows και με επιλογή χωρίς.


  • Εμφάνιση λίστας αγορών και της ίδιας της συνταγής στο GUI
  • A acharal

    Ε μπορείτε να κάνετε κάτι καλύτερο από αυτό: για εμφάνιση λιστών θα πούμε σε επόμενα μαθήματα τα JList και JTable.


  • ZIP αρχείο
  • A acharal

    Όχι δεν είναι απαραίτητο. Το .gitignore υπάρχει μόνο για να το διαβάζει το git και να ξέρει ποια αρχεία να αγνοήσει. Αν δεν υπάρχει git τότε είναι άχρηστο. Συνήθως θα το δεις στα projects του github γιατί πολύ συχνά πρέπει να αγνοήσει κάποια αρχεία οπότε το βάζουν και αυτό μέσα. Από την άλλη και να μην το έχει κάποιος δεν χάλασε ο κόσμος.


  • ZIP αρχείο
  • A acharal

    Δεν πειράζει όχι. Το .idea συνήθως δεν χρειάζεται να υπάρχει (ούτε στο zip, ούτε στο git).


  • Βιβλιοθήκη Cowntdown
  • A acharal

    Αν το χρησιμοποιήσεις από την κονσόλα δουλεύει; Δηλαδή κάνοντας mvn package.
    Αν δουλεύει τότε το IDE θέλει reload (αν είναι το intellij έχει επιλογή reload maven project ή κάτι παρόμοιο.

  • Login

Powered by NodeBB Contributors
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups