Ragazzi come da titolo ho disegnato un ovale
adesso vorrei che questo oggetto cada e rimbalzi... come posso fare? mi date una mano?codice:Graphics g=getGraphics(); g.setColor(Color.orange); g.fillOval (mx, my, 50, 50);
Ragazzi come da titolo ho disegnato un ovale
adesso vorrei che questo oggetto cada e rimbalzi... come posso fare? mi date una mano?codice:Graphics g=getGraphics(); g.setColor(Color.orange); g.fillOval (mx, my, 50, 50);
Beh, intanto bisogna vedere in quale punto e contesto della tua applicazione hai messo questo codice.Originariamente inviato da Realscorpion
Ragazzi come da titolo ho disegnato un ovale
adesso vorrei che questo oggetto cada e rimbalzi... come posso fare? mi date una mano?codice:Graphics g=getGraphics(); g.setColor(Color.orange); g.fillOval (mx, my, 50, 50);
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
adesso non ho il Computer davanti.. 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.Originariamente inviato da Realscorpion
Comunque in mousedown.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Quindi per ottenere quello che voglio devo avere un disegno permanente?
Se non l'hai già letto: Performing Custom Painting.Originariamente inviato da Realscorpion
Quindi per ottenere quello che voglio devo avere un disegno permanente?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
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ì ....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?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
il problema è che ho fatto il codice:
però mi disegna tanti cerchi... e ho una situazione del genere: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 }
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!!!!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?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet