• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 15:56:22 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 17, 2025, 15:56:22 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 14:25:00]

Αντικατάστασης πυκνωτή σε...
by george14
[Today at 13:58:20]

Πότε θα βγει το μάθημα; -...
by tzortzis
[Today at 13:19:53]

Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

[ΨEE] Γενικές απορίες και...
by Juror8
[Today at 12:06:57]

Ισραήλ - Ιράν: Πόλεμος στ...
by okan
[Today at 02:33:21]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426689
Total Topics: 31710
Online Today: 200
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 80
Guests: 96
Total: 176
mark
MikriTulipa
Emilios
chatzikys
salonikios
msandr
xanthosp
theodorevic
Louisa
panapasc05
harischris
soph553
dirac1
antwnis
evtrents
mrotskos
DimKaratzas
vpoug
ioannisfa
IBOURAS
idchatzi
nikos.a
Nekt
kstavroulis
despoina15
kmargaritis
dimant
aachmet
Fenia04
pxanthob
vasiliki_m
chris123
Vmous
theofr
Mavromati
thenoface
thathas12
savvastzan
Billyskotsikas
acolak
gp6
sofipout
genethalsss74
Spyrtos14
Νικηφόρος Πατσιούρας
Rizotto
Διάλεξις
slivarda
eplysia
EvanTsir
tsintsi
Fotis Roukoutakis
Geoth
stavrospk
giorgos_skl
ValKar
Theoxarhs Bladimiros
chriskazakos
lelenia
alexpap
sassi
kouf
chrisg
thomasdt
chrysolog
Le ece
ioathemar
skoloni
mitsos753905
giatieimaiedw
DLHERRO
kkotsopo
Billy K
superkolios
Mikekmp
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Για αλλαγή του public name σας, επικοινωνήστε με έναν από τους Admins.
THMMY.gr > Forum > Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα > Περί Υπολογιστών... > Software > Προγραμματισμός (C, VB, Delphi, PHP, ASP...) > Java (Moderators: chatzikys, PolarBear) > 2-Δ Γραφικά στη Java
0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: 2-Δ Γραφικά στη Java  (Read 2215 times)
Faidon
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 540



View Profile WWW
2-Δ Γραφικά στη Java
« on: October 10, 2007, 20:38:02 pm »

Καταρχήν να δηλώσω πλήρη άγνοια... Δεν ξέρω πως κάνεις Γραφικά στη Java. Προσπαθώ με την κλάση Graphics μέσα σε ένα Frame, αλλά αντιμετωπίζω το εξής πρόβλημα:

Μόλις το παράθυρο του Frame χαθεί από την οθόνη ότι έχω ζωγραφίσει χάνεται... Παρακάτω είναι ο κώδικας... Και επισυνάπτω το πρόγραμμα σε μορφή JAR.

Όποιος γνωρίζει!! Βοήθεια!!

Μήπως υπάρχει άλλος τρόπος για δημιουργία γραφικών;


package test;

import java.awt.*;
import java.awt.event.*;

public class PaintDemo {
    Graphics geg;
   
    public static void main(String[] args) {
        PaintDemo paintdemo=new PaintDemo();
        paintdemo.init();
    }
   
    void init(){
        Frame f = new Frame("PaintDemo!");
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        f.setSize(500,500);
        f.show();
       
        geg=f.getGraphics();
        geg.drawLine(50,50,100,200);
       
        f.addMouseMotionListener(new MouseMotionHandler());
    }
   
    class MouseMotionHandler extends MouseMotionAdapter {
        public void mouseDragged(MouseEvent e) {
            int x = e.getX();
            int y = e.getY();
            geg.setColor(Color.black);
            geg.drawArc(x,y,2,2,0,360);
        }
    }
}
Logged
Aurelius
Αbsolute ΤΗΜΜΥ.gr
*******
Posts: 4056


Τρια πουλακια καθονταν, στον κηπο και λαλούσαν...


View Profile
Re: 2-Δ Γραφικά στη Java
« Reply #1 on: October 10, 2007, 20:41:48 pm »

Γιατι το κανεις στην java? Δεν πιστευω για καμια εργασια της σχολης?
Logged

My website: http://staff.science.uva.nl/~gavves/
My blog: http://stratisgavves.blogspot.com/

Και τελος, το νεο site που φτιαχνω, www.antoniagavve.com. Αν υπαρχουν τιποτα ιδεες, ή προτασεις ειναι ιδιαιτερως ευπροσδεκτες. Αν καποιος ξερει και νορβηγικα, ακομα καλυτερα Tongue
Faidon
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 540



View Profile WWW
Re: 2-Δ Γραφικά στη Java
« Reply #2 on: October 10, 2007, 20:50:59 pm »

Όχι δεν το κάνω για εργασία. Και πού να το κάνω; PHP δεν ξέρω...
Logged
eeVoskos
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 190


Follow the path of the shepherd...


View Profile WWW
Re: 2-Δ Γραφικά στη Java
« Reply #3 on: October 10, 2007, 21:28:20 pm »

Χμ... δοκίμασα να το κάνω με jpanel μέσα στο frame, αλλά ούτε αυτό δούλεψε.
Βρήκα όμως με λίγο ψάξιμο αυτό το thread στο forum της Java με παρόμοιο πρόβλημα. Ελπίζω να σε βοηθήσει. Αν δε βρεις άκρη, από αύριο θα το ψάξω.
Logged

Follow the path of the shepherd...
Aurelius
Αbsolute ΤΗΜΜΥ.gr
*******
Posts: 4056


Τρια πουλακια καθονταν, στον κηπο και λαλούσαν...


View Profile
Re: 2-Δ Γραφικά στη Java
« Reply #4 on: October 10, 2007, 21:32:32 pm »

Αν ηταν σε εργασια και ηθελες κατι απλο θα μπορουσες στο Ματλαμπ. Γι αυτο σε ρωτησα.
Logged

My website: http://staff.science.uva.nl/~gavves/
My blog: http://stratisgavves.blogspot.com/

Και τελος, το νεο site που φτιαχνω, www.antoniagavve.com. Αν υπαρχουν τιποτα ιδεες, ή προτασεις ειναι ιδιαιτερως ευπροσδεκτες. Αν καποιος ξερει και νορβηγικα, ακομα καλυτερα Tongue
Faidon
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 540



View Profile WWW
Re: 2-Δ Γραφικά στη Java
« Reply #5 on: October 10, 2007, 21:37:46 pm »

Quote from: eeVoskos on October 10, 2007, 21:28:20 pm
Χμ... δοκίμασα να το κάνω με jpanel μέσα στο frame, αλλά ούτε αυτό δούλεψε.
Βρήκα όμως με λίγο ψάξιμο αυτό το thread στο forum της Java με παρόμοιο πρόβλημα. Ελπίζω να σε βοηθήσει. Αν δε βρεις άκρη, από αύριο θα το ψάξω.

Ο.Κ. θα το κοιτάξω. Ευχαριστώ!!

Quote from: Aurelius on October 10, 2007, 21:32:32 pm
Αν ηταν σε εργασια και ηθελες κατι απλο θα μπορουσες στο Ματλαμπ. Γι αυτο σε ρωτησα.

Α, όχι. Απλά θέλω να μάθω να δημιουργώ γραφικά!
« Last Edit: October 10, 2007, 21:46:48 pm by Faidon » Logged
kostas578
Ανερχόμενος/Ανερχόμενη
**
Posts: 78

I'm a llama!


View Profile
Re: 2-Δ Γραφικά στη Java
« Reply #6 on: October 10, 2007, 21:42:31 pm »

Για Java2D: http://java.sun.com/docs/books/tutorial/2d/TOC.html

Δεν έχω ασχοληθεί με 2D αλλά μάλλον το κάνει repaint() και γι αυτό χάνονται τα σημεία.

Με μια γρήγορη ματιά στον κώδικα:
Το JFrame.show() είναι deprecated και έχει αντικατασταθεί με το setVisible(true)
Για να κάνει exit το πρόγραμμα με το κλείσιμο του παραθύρου αρκεί το: setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Logged
Faidon
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 540



View Profile WWW
Re: 2-Δ Γραφικά στη Java
« Reply #7 on: October 11, 2007, 00:08:09 am »

Εντάξει! Μάλλον το βρήκα. Aπό το link του eeVoskos κατάλαβα ότι ούτως ή άλλως πρέπει να κάνεις repaint ολόκληρο το component κάθε φορά που θες να αλλάξεις κάτι. Έτσι και εγώ δημιούργησα ένα Image, αλλάζω πάνω του ότι θέλω και το κάνω repaint στο Component και όλα ωραία και καλά (ελπίζω)!

Ευχαριστώ!!!
Logged
eeVoskos
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 190


Follow the path of the shepherd...


View Profile WWW
Re: 2-Δ Γραφικά στη Java
« Reply #8 on: October 11, 2007, 09:49:11 am »

Δηλαδή (ενημερωτικά) αυτό που δείχνει στην ουσία το frame είναι ένα "στατικό" Image το οποίο συνεχώς αλλάζει όταν ζωγραφίζεις;;
Αλλά παραμένει στατικό και όταν δεν ζωγραφίζεις (αλλά π.χ. μετακινείς το παράθυρο) οπότε το frame εξακολουθεί να περιέχει το Image, ε;
Logged

Follow the path of the shepherd...
Faidon
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 540



View Profile WWW
Re: 2-Δ Γραφικά στη Java
« Reply #9 on: October 11, 2007, 13:57:12 pm »

Όχι. Δεν είναι ακριβώς έτσι. Το πρόβλημα δηλαδή είναι στο "στατικό". Για να γίνει στατικό αυτό που θα ζωγραφίσεις πρέπει να το ζωγραφίσεις στο Component χρησιμοποιώντας την συνάρτηση repaint. Όλα τα άλλα που θα ζωγραφίσεις θα χάνονται μόλις χαθεί το παράθυρο. Οπότε ορίζεις το Component ως εξής:

        p = new JPanel(){
            public void paintComponent(Graphics g){
                g.drawImage(image,0,0,this);
            }
        };

Και μετά καλείς κάπου την:

        p.repaint();

Οπότε εσύ αλλάζεις το Graphics του Image και το κάνεις repaint για να πάρει τη θέση του στο JPanel. Αυτό δηλαδή το χρησιμοποιείς επειδή για να αλλάξεις κάτι στο Graphics του JPanel (και να μείνει) πρέπει να το κάνεις μέσα στην paintComponent() και επειδή δε συμφέρει να βάλεις ένα σωρό ελέγχους μέσα στην paintComponent() για να εκτυπώνεται αντίστοιχά αυτό που θες το κάνεις έτσι.

Τέλος δεν ξέρω γιατί αλλά πρέπει να ορίζεις την main() ως εξής:

    public static void main(String[] args){
        SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                new PaintDemo().init();
            }
        });
    }

Αλλιώς βγαίνει ένα NullPointerException.

Επισυνάπτω ένα παράδειγμα σε java και jar.
Logged
Pages: [1] Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...