Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente bannato
    Registrato dal
    May 2010
    Messaggi
    5

    Programma java.. Consigli!

    Ciao a tutti.. sto realizzando un programma nel quale tramite il riempimento di una griglia con pixel si devono poter creare delle immagini da usare poi come simboli x le icone....
    Finora ho creato la griglia e fatto si che cliccando su ogni pixel venga disegnato un quadrato bianco.. potete darmi una mano a continuare a fare il resto??? Fondamentalmente mi manca come punti piu importanti creare la possibilità di cambiare il colore dei pixel.. poter eliminare i pixel disegnati e far in modo di poter salvare le composizioni create in un file bmp. Il sorgente è questo:

    import java.awt.*;
    import java.awt.event.*;
    import java.awt.geom.*;
    import javax.swing.*;
    import java.util.*;
    import java.lang.*;

    public class IconCreator{

    public static void main(String args[]){
    Windoww win = new Windoww("IconCreator 1.0");
    win.setVisible(true);
    win.setResizable(false);
    win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
    }
    }

    class Windoww extends JFrame{
    Pannello p = null;
    JButton btn= null;


    public Windoww(String name){

    super(name);
    int xf=1000; //grandezza frame
    int yf=1000;
    setSize(xf,yf);
    p = new Pannello();
    add(p);
    btn = new JButton("test");
    p.add(btn);
    //btn.addActionListener(this); //why doesn't work=?=
    }
    public void actionPerformed(ActionEvent e){

    }
    }

    class Pannello extends JPanel{
    Line2D linea=null;
    ArrayList pixels;

    public Pannello(){
    super();
    setBackground(Color.black);
    setVisible(true);
    mouseHandler();
    pixels=new ArrayList();
    }


    public void mouseHandler(){

    addMouseListener(new MouseAdapter(){

    public void mousePressed(MouseEvent me){
    Point p = me.getPoint();
    int x=me.getX()/(1000/32);
    int y=me.getY()/(1000/32);
    System.out.println("Coordinata X:"+x+" Coordinata Y:"+y);
    System.out.println(me.getPoint());

    pixels.add(new Rectangle2D.Double((1000/32)*x, (1000/32)*y, 1000/32, 1000/32)); //aggiungo un quadrato all'array
    repaint();
    }//mousePressed
    public void mouseClicked(MouseEvent me){//x ora inutile
    if(me.getClickCount()>1){
    }
    }
    });
    }

    public void paint(Graphics g2){
    Graphics2D g=(Graphics2D)g2;
    super.paint(g2);
    int k=getWidth()/32;
    int j=k;
    int h=k;

    g2.setColor(Color.magenta);

    for(int i=0; i<32; i++){
    g2.drawLine(0, j, getWidth(), j);
    j=k+j;
    }
    for(int i=0; i<32; i++){
    g2.drawLine(h, getHeight(), h, 0 );
    h=k+h;
    }
    Color x= Color.WHITE;
    g.setColor(x);
    for(int i=0; i<pixels.size(); i++){

    g.draw((Rectangle2D)(pixels.get(i)));
    g.fill((Rectangle2D)(pixels.get(i)));
    }
    }
    }



    grazie in anticipo

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,306

    Moderazione

    Java ha una sezione dedicata e, come tutti i forum, un regolamento interno.
    Tutti i regolamenti interni a queste aree richiedono che, quando si apre una nuova discussione, il titolo sia esplicativo del problema trattato e non, come in questo caso, generale.

    Inoltre, è necessario usare gli appositi tag CODE quando si posta del codice, per renderlo leggibile e mantenerne l'indentazione.

    E' specificato, inoltre, che in queste sezioni non viene realizzato codice pronto, ma si discute di un problema specifico con del codice che non funziona. Per tipi di richieste finalizzate alla produzione di codice c'è il forum "Offro Lavoro / Collaborazione".


    Devo chiudere questa discussione... puoi aprirne una nuova, più specifica, nel forum Java, seguendo le linee guida del regolamento linkato.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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