Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    far "cadere" un oggetto disegnato

    Ragazzi come da titolo ho disegnato un ovale
    codice:
      Graphics g=getGraphics();
    g.setColor(Color.orange);
                 g.fillOval (mx, my, 50, 50);
    adesso vorrei che questo oggetto cada e rimbalzi... come posso fare? mi date una mano?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: far "cadere" un oggetto disegnato

    Originariamente inviato da Realscorpion
    Ragazzi come da titolo ho disegnato un ovale
    codice:
      Graphics g=getGraphics();
    g.setColor(Color.orange);
                 g.fillOval (mx, my, 50, 50);
    adesso vorrei che questo oggetto cada e rimbalzi... come posso fare? mi date una mano?
    Beh, intanto bisogna vedere in quale punto e contesto della tua applicazione hai messo questo codice.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    adesso non ho il Computer davanti.. Comunque in mousedown.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Realscorpion
    Comunque in mousedown.
    mousePressed() di un MouseListener? Non va bene ... stai disegnando "al volo" sul componente. Vuol dire che il tuo disegno non è permanente! Prova a minimizzare la finestra e riaprirla oppure passare un'altra (qualunque) finestra sulla tua .... vedrai che sparisce tutto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Quindi per ottenere quello che voglio devo avere un disegno permanente?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Realscorpion
    Quindi per ottenere quello che voglio devo avere un disegno permanente?
    Se non l'hai già letto: Performing Custom Painting.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    sisi ho capito.... però qua non spiega come far cadere e rimbalzare il mio disegno....
    io intendevo per ottenere questo effetto devo per forza fare il disegno permanente?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Realscorpion
    sisi ho capito.... però qua non spiega come far cadere e rimbalzare il mio disegno....
    io intendevo per ottenere questo effetto devo per forza fare il disegno permanente?
    Senti ... mettiamola così: tu disegni lo stato del "tuo" componente (che per esempio, tipicamente, estende JComponent o JPanel ... l'uno o l'altro dipende da alcuni fattori) nel paintComponent(). Ad intervalli di tempo fai cambiare lo "stato" del tuo componente (variabili di istanza ... es. la posizione x/y di una forma geometrica) e poi chiedi il repaint(). Più chiaro e semplice di così ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    il problema è che ho fatto il codice:
    codice:
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    
    /*
     * NumberAdditionUI.java
     *
     * Created on 29-gen-2009, 16.39.39
     */
    
    package my.numeraddition;
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    
    
    /**
     *
     * @author corradocacciapuoti
     */
    public class NumberAdditionUI extends javax.swing.JFrame implements MouseListener{
    
        /** Creates new form NumberAdditionUI */
        public NumberAdditionUI() {
            setSize(300, 200);
            setTitle("Programma Fisica by Corrado Cacciapuoti");
            initComponents();
            addMouseListener(this);
        }
    
    
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
    
            jTabbedPane1 = new javax.swing.JTabbedPane();
    
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
    
            org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(0, 367, Short.MAX_VALUE)
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(0, 261, Short.MAX_VALUE)
            );
    
            pack();
        }// </editor-fold>                        
    
    
    
        public void mousePressed(MouseEvent e) {
    
          draw();
          for (int i = 1; i <= 1000; i++) {
    
            move();
            
          
    
    }
                 
    
    }
    
     public void move() {
        y += dy;
            Graphics g=getGraphics();
    
    
                 g.setColor(Color.orange);
                 g.fillOval (x, y, XSIZE, YSIZE);
                 g.dispose();
                 
       
      }
        public void mouseReleased(MouseEvent e) {
    
    }
        public void mouseEntered(MouseEvent e) {
    
    }
        public void mouseExited(MouseEvent e) {
    
    }
    
    public void mouseClicked(MouseEvent e) {
    
    }
    
    
    
     public void draw() {
        Graphics g=getGraphics();
    
    
                 g.setColor(Color.orange);
                 g.fillOval (x, y, XSIZE, YSIZE);
                 g.dispose();
      }
    
    
    
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new NumberAdditionUI().setVisible(true);
    
                }
            });
        }
    
         private JPanel box;
    
    
        private static final int XSIZE = 30;
    
      private static final int YSIZE = 30;
     private int x = 50;
    
      private int y = 50;
    
      private int dx = 2;
    
      private int dy = 2;
        // Variables declaration - do not modify                     
        private javax.swing.JTabbedPane jTabbedPane1;
        // End of variables declaration                   
    
    }
    però mi disegna tanti cerchi... e ho una situazione del genere:

    dovrei rimuovere il cerchio precedentemente creato ma nn riesco a trovare il codice su internet... da quanto ho capito è un problema di pannelli?

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Realscorpion
    però mi disegna tanti cerchi... e ho una situazione del genere:

    dovrei rimuovere il cerchio precedentemente creato ma nn riesco a trovare il codice su internet... da quanto ho capito è un problema di pannelli?
    No, perchè tutto il tuo painting è fatto "al volo" sul componente. Poi disegni in modo "additivo" (non cancelli nulla) e inoltre, cosa più importante, il tuo disegno è "volatile" ovvero, se per es. minimizzi e ripristini la finestra o se passi un'altra finestra sopra la tua .... sparisce tutto!!!!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.