Visualizzazione dei risultati da 1 a 10 su 13

Visualizzazione discussione

  1. #9
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    8
    Quote Originariamente inviata da Ansharja Visualizza il messaggio
    Scusa se mi ripeto, ma dovresti davvero inserire il codice che posti tra i tag [CODE] , altrimenti si diventa matti a sistemarlo prima di capirci qualcosa...

    Riguardo al codice, ti evidenzio subito un primo errore: il MouseListener non va assolutamente aggiunto al pannello all'interno del metodo paintComponent, così come il caricamento dell'immagine, il paintComponent deve solo occuparsi della logica relativa al disegno, tutto il resto appesantisce il metodo e richiamarlo in continuazione rallenta inutilmente l'esecuzione.

    Puoi inserire queste parti nel costruttore di MultiCirclesPaintPanel, o in metodi appositi se il codice si allunga e devi richiamare più di un'immagine o altro.

    Da quello che vedo poi, aggiungi un'immagine per ogni CircleElement (se aggiungi anche il codice di questa classe si riesce anche a fare qualche prova), quindi nel mousePressed del MouseAdapter sarebbe conveniente ciclare sui tuoi circleElements per ricercare quello che contiene il punto cliccato ...
    codice:
    
    
    codice:
    public class CircleElement extends JComponent{
        /**
         * 
         */
        
        private int centerX;
        private int centerY;
        private int radius;
        private Color fillColor;
        
        public CircleElement(int centerX, int centerY, int radius, Color fillColor) {
            this.centerX = centerX;
            this.centerY = centerY;
            this.radius = radius;
            this.fillColor = fillColor;
            
             
             
             
                
        
            
        }
    
    
        public int getCenterX() {
            return centerX;
        }
    
    
        public void setCenterX(int centerX) {
            this.centerX = centerX;
        }
    
    
        public int getCenterY() {
            return centerY;
        }
    
    
        public void setCenterY(int centerY) {
            this.centerY = centerY;
        }
    
    
        public int getRadius() {
            return radius;
        }
    
    
        public void setRadius(int radius) {
            this.radius = radius;
        }
    
    
        public Color getFillColor() {
            return fillColor;
        }
    
    
        public void setFillColor(Color fillColor) {
            this.fillColor = fillColor;
        }
    
    
    
    
        // Custom methods to get other useful informations
    
    
        public int getLeftX() {
            return getCenterX() - getRadius();
        }
    
    
        public int getTopY() {
            return getCenterY() - getRadius();
        }
    
    
        public int getDiameter() {
            return getRadius() * 2;
        }
        
                
        
        
    }
    Ma le coordinate dopo come le prendo nel costruttore?

    Comunque l'ideale sarebbe rendere cliccabili i CircleElement...ancora meglio delle Image!
    Ultima modifica di spino8; 03-07-2016 a 12:43

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.