Ciao a tutti come faccio ad inserire al posto dei quadrati delle immagini diverse l'una dall'altra?
Posto il codice di tutte le classi:
La classe dove viene lanciato il programmino
Il pannello dove vengono disegnati i quadraticodice:import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; import java.util.LinkedList; import javax.swing.JFrame; public class Main { private JFrame frame; public Main() { frame = new JFrame("Piove"); frame.setSize(new Dimension(300,300)); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); frame.getContentPane().add(getFilledCPanel(),BorderLayout.CENTER); frame.setVisible(true); } private Component getFilledCPanel() { LinkedList<Characters> list = new LinkedList<Characters>(); for (int i = 0; i < 4; i++) { list.add(new Characters((i*40),0)); } return new CustomPanel(list); } public static void main(String[] args) { new Main(); } }
e infine quella dove dovrei inserire l'immaginicodice:import javax.swing.JPanel; public class CustomPanel extends JPanel { private LinkedList<Characters> list; public CustomPanel() { setSize(new Dimension(300,300)); setBackground(Color.white); } public CustomPanel(LinkedList<Characters> a){ this(); list = a; } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); for (Characters c : list) { c.draw(g); } repaint(); } }
Grazie millecodice:import java.awt.Color; import java.awt.Graphics; public class Characters extends Thread { private int x; private int y; public Characters(int a,int b) { x = a; y = b; start(); } @Override public void run() { for (int i = 0; i < 15; i++) { y += i; try { Thread.sleep(200); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public void draw(Graphics graphics){ graphics.setColor(Color.BLACK); graphics.draw3DRect(x, y, 20, 20, false); //qui non riesco a compilare il codice per visualizzare le immagini //graphics.drawImage(.....) } }

Rispondi quotando