https://docs.oracle.com/javase/tutorial/uiswing/components/slider.html VK - 04/11/2016- [1]

Σχετικά έγγραφα
Εργαστήριο 4 - Άσκηση - Ανάλυση

ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 6 o ΕΡΓΑΣΤΗΡΙO

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

Εργαστήριο 2 - Άσκηση - Ανάλυση

Εργαστήριο 5 - Άσκηση - Ανάλυση

Ask1, Ask2, Ask3. private void jbutton1actionperformed(java.awt.event.actionevent evt) { jlabel1.settext( "You pressed the 1st button" ); }

ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 2 o ΕΡΓΑΣΤΗΡΙO

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

VK -30/10/ [1]

Εργαστήριο 6 - Άσκηση - Ανάλυση

Εργαστήριο 3 - Άσκηση - Ανάλυση

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

VK -14/10/2016 Σελίς 1

Week 10: Graphical User Interfaces

VK -14/10/2016 Σελίς 1

Εργαστήριο 10 Άσκηση 1 - Ανάλυση

App Inventor. Εφαρμογή 7 η. Υπολογισμός Μέσου όρου μαθημάτων

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #17

Week 12: GUIs with Swing

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #18

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Microsoft Excel Μέρος 2

App Inventor. Εφαρμογή 7 η. Υπολογισμός Μέσου όρου μαθημάτων Επέκταση: Πέρασα ή δεν πέρασα? Version 2

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Εργασία 11 η Πίνακες (βασικές ετικέτες, βασικές ιδιότητες) 1. Στο Σημειωματάριο πληκτρολογήστε τον παρακάτω κώδικα:

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Microsoft Excel Μέρος 2

Συγκρίσιμα Αντικείμενα (comparable)

[πατήστε το κουμπί create και μπείτε με λογαρισμό google]

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΠΡΟΣΟΧΗ: Οι απαντήσεις πολλαπλής επιλογής µόνο πάνω στο ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ

CTEC-153: ΥΤΛΛΑ ΕΡΓΑΙΑ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Graphical User Interfaces (GUI) SWING

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.

Ξεκινώντας με το MIT App Inventor 2 Μάθημα 4 Δημιουργώντας ένα απλό παιχνίδι (Κορώνα Γράμματα)

1ο μέρος 1. Φτιάχνουμε την πίστα. Μια ενδεικτική πίστα φαίνεται παρακάτω:

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2006)

3 Αλληλεπίδραση Αντικειμένων

ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 9 o ΕΡΓΑΣΤΗΡΙO

(3) Από την εργαλειοθήκη επιλέξτε το εργαλείο «ετικέτας (Label)». Δημιουργήστε μια ετικέτα στην φόρμα σας.

Οδηγός Γρήγορης Παραμετροποίησης Auto Moto Cube

4 η Εργαστηριακή Άσκηση

1. Κλικ στην καρτέλα Insert 2. Tables 3. Κλικ Table 4. Σύρουμε το δείκτη του ποντικιού και επιλέγουμε τον επιθυμητό αριθμό γραμμών και στηλών

Προγραμματιστικό Περιβάλλον

Αντικειμενοστρεφής Προγραμματισμός

Εργαστήριο 9 - Άσκηση - Ανάλυση

SPSS Statistical Package for the Social Sciences

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

TEC510 Ανάπτυξη Δικτυακών Τόπων (Ε εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Γιώργος Μηλιώτης

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δημοσίευση στο Διαδίκτυο

( Απάντηση: Ο τόνος βρίσκεται δεξιά από το γράμμα Λ. ) ( Απάντηση: Κρατάμε πατημένο το πλήκτρο Shift και πατάμε το πλήκτρο 8. )

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

Φύλλο Εργασίας Τίτλος: Εισαγωγική Εφαρμογή

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Ξεκινώντας με το MIT Αρρ Inventor. 1 η Εργασία

12.6. Άσκηση 6 - [αξιοποίηση γραφικής διεπαφής (GUI)] (έκδοση 2004)

Αντικειµενοστρεφής Προγραµµατισµός

Java & Java EE 1o Μέρος: Servlets και Java Server Pages. Κακαρόντζας Γεώργιος

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

Τεχνολογίες Διαδικτύου (Εξασκηθείτε στην HTML)

Λογισµικό (Software SW) Γλώσσες

γενικό ΛΥΚειο Νέων ΜΟΥΔανιών ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΛΥΚΕΙΟΥ Διδάσκων Καθηγητής: Γιώργος Μαλακούδης

Καθορισμός μεταβλητών και εισαγωγή δεδομένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ημιουργία Γραφικού Περιβάλλοντος

4 Συλλογές Αντικειμένων

New Project Windows Forms Applications

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

άσκηση Hide UI Elements 7.2 Try and Catch

ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 2

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

Μπορούμε να δημιουργήσουμε διάφορα γραφήματα που αναπαριστούν τα δεδομένα ή υπολογισμούς του λογιστικού φύλλου μας.

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

Τα αντικείμενα ή Χειριστήρια και οι βασικές ιδιότητες τους (properties)

ΕΡΓΑΣΤΗΡΙΟ FRONT PAGE 3

Εργαστήριο 7 - Άσκηση - Ανάλυση

Δραστηριότητα 1. Προγραμματίζω τον υπολογιστή (10 ώρες).

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ: Εντολές κίνησης και στροφής στο προγραμματιστικό περιβάλλον Scratch. ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΣΕΛΙ Α 1 ΚΕΦΑΛΑΙΟ 1 - ΑΡΧΙΚΑ

int Α[] = {4, 16, 22, 12, 9, 15, 10}; { 4, 9, 10, 12, 15, 16, 22 } Α[0]=4, Α[1]=9, Α[2]=10 { 4, 16,22, 12, 9, 15, 10} { 4, 12, 16, 22, 9, 15,16, 22 }

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

ΑΣΚΗΣΗ WORD. 3. Στην ΚΕΦΑΛΙΔΑ της σελίδας εισάγετε το παρακάτω κείμενο: 5. Στην αρχή της σελίδας γράψτε το παρακάτω κείμενο:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Χρήση εργαλείων Εικόνων, Εντολών και Ετικετών ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

App Inventor 3ο Μάθημα (Ζάρια - επέκταση)

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES

Πίνακες HTML. Παναγιώτης Γαλάτης 1ο ΕΠΑΛ Ηρακλείου

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Transcript:

ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 4 o ΕΡΓΑΣΤΗΡΙO Audio Player 1-3. Πάνω σε ένα jframe με διάταξη Grid Bag Layout και τίτλο «AudioPlayer» τοποθετήστε 5 ετικέτες 5 slider 3 radio button 1 button 1 ετικέτα (ακόµη) Στο Grid Bag Layout /Customize Layout βάλτε το SizeinGrid ->(+) και Fill <-> για τα jslider (2 κελιά) Eνα jslider συστατικό επιτρέπει σε ένα χρήστη να εισάγει εύκολα µια αριθµητική τιµή που οριοθετείται από µια ελάχιστη και µέγιστη τιµή. Αν ο χώρος είναι περιορισµένος, ένα jspinner είναι µια πιθανή εναλλακτική λύση αντί ένα jslider. Ετσι πχ. στην διπλανή εικόνα το jslider ρυθµιστικό χρησιµοποιείται για να ελέγξει την ταχύτητα κινούµενου σχεδίου. https://docs.oracle.com/javase/tutorial/uiswing/components/slider.html VK - 04/11/2016- [1]

4. Αν θέλετε, δώστε στα συστατικά κατάλληλα ονόµατα (variable name) π.χ. στο jlabel1 δώστε «LBass» Bάλτε στα labels και στα κουµπιά τα κατάλληλα κείµενα. Στο jlabel6, για να αλλάζουµε γραµµές, γράψτε στο text <html> (πατώντας ) <html>bass: <br/> Midrange: <br/>..</html> 5-7. Στα jslider αλλάξτε τις ιδιότητες ως εξής (σε ΟΛΑ και µετά αλλάξτε το 4 ο και 5 ο ): SlBass.setMajorTickSpacing(2); SlBass.setMaximum(10); SlBass.setMinimum(-10); SlBass.setMinorTickSpacing(1); SlBass.setPaintLabels(true); SlBass.setPaintTicks(true); SlBass.setValue(0); value:είναι η τρέχουσα τιµή του jslider 8. Αλλάξτε το 4 ο slider (Balance) ώστε να έχει minimum τo -5 και maximum σε +5 Και µε δεξί κλικ επιλέγεται Customize Code, για να αλλαχθούν τα label, γράφοντας table.put και setlabeltable Για να γράψετε τον κώδικα κατεβείτε μια γραμμή μετά την δήλωση του jslider4, και αρχίστε να γράφετε table.. table.put(new Integer(0),new JLabel("Center")); table.put(new Integer(-5),new JLabel("L")); table.put(new Integer(5),new JLabel("R")); VK - 04/11/2016- jslider4.setlabeltable(table); [2]

Τον (pre-init) κώδικα θα τον δείτε και στις ιδιότητες Και στο tab code του 4 ου slider (πατώντας ) Στην κλάση Αudio Player δηλώστε το table στις µεταβλητές: private Hashtable table = new Hashtable(); και εισάγετε τις βιβλιοθήκες import java.util.hashtable; import javax.swing.jlabel; 9. Σε όλα τα jslider βάλτε border EmptyBorder ( ή κάποιο άλλο) 10. Φτιάξτε µια Νέα Java κλάση µε όνοµα Presets ως εξής: public class Presets { private int bass; private int midrange; private int tremble; private int balance; private int volume; //Δομητής με δεξί κλικ ΙΝSERT CODE/Constructor public Presets(int bass, int midrange, int tremble, int balance, int volume) { this.bass = bass; this.midrange = midrange; this.tremble = tremble; this.balance = balance; this.volume = volume; //Getter/Setter //Με δεξί κλικ ΙΝSERT CODE/Getter and Setter/(Επιλογή όλων) //και Generate Εχοντας αυτή την κλάση, δημιουργούμε νέα αντικείμενα π.χ. ως εξής: Preset o1= new Presets(1,-1,9,0,4); (Θα κάνουμε 3 νέα αντικείμενα P[0] για τις Defaults τιμές P[1] για τις Preset1 τιμές P[2] για τις Preset2 τιμές με πίνακα public Presets[] P=new Presets[3]; ) 11. Μέσα στην κλάση Αudio Player, θα γραφτούν επι πλέον 4 μέθοδοι: 1 η setuppresets: Δίνει αρχικές τιμές στον πίνακα των Presets, P (αρχικά μπήκαν κάποιες τυχαίες τιμές). 2 η showpresets: Εμφανίζει στην ετικέτα τις τρέχουσες τιμές των πέντε jslider. Η 3 η μέθοδος βάζει τιμές στα 5 sliders από ένα αντικείμενο preset p, ενώ η 4 η μέθοδος αποθηκεύει σε ένα αντικείμενο preset p, τις τιμές των 5 sliders, έτσι Με το πάτημα του radiobuttondefaults τα πέντε jslider παίρνουν τις τιμές του P[0] 3 η loadpresets : Με το πάτημα του radiobuttonpreset1 τα πέντε jslider παίρνουν τις τιμές του P[1] Με το πάτημα του radiobuttonpreset2 τα πέντε jslider παίρνουν τις τιμές του P[2] VK - 04/11/2016- [3]

4 η storepresets(p): Με το πάτημα του κουμπιού< Store Settings > αποθηκεύονται οι τιμές των πέντε jslider ή στο P [0] (αν έχω επιλεγμένο radiobuttondefaults) ή στο P [1] (αν έχω επιλεγμένο radiobuttonpreset1) ή στο P[2] (αν έχω επιλεγμένο radiobuttonpreset2) 11-12-13.Στην ΑudioPlayer φόρμα προσθέστε (στις μεταβλητές) ένα Presets πίνακα P τριών θέσεων: public Presets[] P=new Presets[3]; //Πίνακας καθώς και τις μεθόδους: - setuppresets: θα δίνει αρχικές τιµές στον Πίνακα /3 θέσεων των Presets (θα φορτωθούν µετά στα slider με την loadpresets) - showpresets: θα εμφανίζονται οι τιμές των πέντε slider στην ετικέτα jlabel5 (προτείνετε χρήση της ΗΤΜL) public void setuppresets() { P[0] = new Presets(0,0,0,0,0); P[1] = new Presets(1,-1,9,0,4); P[2] = new Presets(2,4,-2,4,2); //-Τα defaults // Tα presets1 // Tα presets2 Mε την getvalue θα πάρουμε την τιμή από τα jslider1 jslider5 και θα την δείξουμε στην ετικέτα jlabel6 public void showpresets() { String balance; //Ειδικά για το jslider4 value: Left, Center, Right int timi= jslider4.getvalue(); if (timi > 0) balance = "Right " + String.valueOf(timi); else if (timi==0) balance = "Center"; else balance = "Left " + String.valueOf(-timi); jlabel6.settext("<html> Bass: " + jslider1.getvalue()+ "<br/> Midrange: " + jslider2.getvalue() + "<br/> Treble: " + jslider3.getvalue() + "<br/> Balance: " + balance + "<br/> Volume: " + jslider5.getvalue()+ "</html>"); jlabel6 Την μεθόδο setup θα την καλέστε στο δομητή της κλάσης : public AudioPlayer() { initcomponents(); setuppresets(); //αρχικές τιμές στον Πίνακα, χωρίς να φορτώνονται στα slider VK - 04/11/2016- [4]

14-15. Δημιουργήστε και τις μεθόδους: - loadpresets(presets p) : βάζει τιμές (setvalue) στα πέντε slider ανάλογα με το όρισμα (Preset στοιχείο του πίνακα) και τα εμφανίζει και στην ετικέτα jlabel6 (καλώντας την showpresets). - storepresets(presets p) : βάζει στη μεταβλητή/όρισμα data (Preset στοιχείο) τις τιμές που έχουν τα 5 sliders (getvalue). void loadpresets(presets p) { jslider1.setvalue(p.getbass()); jslider2.setvalue(p.getmidrange()); jslider3.setvalue(p.gettremble()); jslider4.setvalue(p.getbalance()); jslider5.setvalue(p.getvolume()); showpresets(); Αυτή καλείται με όταν πατιώνται τα κουμπιά Defaults, Presets1, Presets2 ως loadpresets(p[0]) ή loadpresets(p[1]) ή loadpresets(p[2]) αντίστοιχα void storepresets(presets p) { p.setbass(jslider1.getvalue()); p.setmidrange (jslider2.getvalue()); p.settremble(jslider3.getvalue()); p.setbalance (jslider4.getvalue()); p.setvolume (jslider5.getvalue()); Αυτή καλείται με όταν πατιέται το κουμπί STORE με πχ. storepresets(p[0]) αν είναι επιλεγμένο το κουμπί Defaults Βάλτε τα 3 radiobuttons (Defaults,Preset1,Preset2) στο ίδιο Group και επιλέξτε το (με την ιδιότητα buttongroup) και στα 3 radio: (Όταν σύρετε ένα Button group μέσα στην φόρμα θα εμφανιστεί στα Οther Components, όπου αν θέλετε αλλάζετε και το όνομά του. ) ). Προγραμματίστε το κουμπί <Store Settings> ώστε ανάλογα το radiobutton που είναι επιλεγμένο να αποθηκεύει τα δυο presets π.χ. if (jradiobuttonpreset1.isselected()) storepresets(p[1]); // 16. Κάθε φορά που αλλάζει τιμή ένα slider (change/ statechanged), εμφανίστε την αλλαγή στην ετικέτα jlabel6 - call showpresets ( και κάθε φορά που επιλέγεται ένα radio button καλείται η loadpresets ) VK - 04/11/2016- [5]