Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Immagine da visualizzare

    ciao a tutti, in pratica ho un frame in cui si possono selezionare due scenari e a seconda di quale seleziono mi deve caricare un immagine diversa pero non ci riesco...
    Questo è il codice:

    public class NewGame3 extends JPanel implements MouseListener,Serializable {

    JFrame frame3 = new JFrame();
    Image immagine;
    String scelta;
    public NewGame3() {
    load();
    }
    public void load(){
    Immagini carica = new Immagini();
    immagine = carica.caricare("/immagini/robot.jpg");
    }
    public void paintComponent(Graphics g){
    super.paintComponent(g);
    g.drawImage(immagine, 0, 0,720,480, null);
    }

    public void mouseClicked(MouseEvent arg0) {}
    public void mouseEntered(MouseEvent arg0) {}
    public void mouseExited(MouseEvent arg0) {}
    public void mousePressed(MouseEvent arg0) {

    if(arg0.toString().substring(568, 578).equals("Scenario 1")){
    System.out.println("Scenario scelto 1");
    scelta="Scenario 1";
    }
    if(arg0.toString().substring(568, 578).equals("Scenario 2")){
    System.out.println("Scenario scelto 2");
    }

    frame3.setSize(720, 480);

    JButton save_game = new JButton ("Save Game");
    JButton help = new JButton ("Help");

    JToolBar toolbar = new JToolBar ();
    Dimension dim = new Dimension(720,30);
    toolbar.setPreferredSize(dim);
    toolbar.add(save_game);
    toolbar.add(help);
    frame3.getContentPane().add(toolbar, BorderLayout.NORTH);

    SaveGame salva = new SaveGame();
    save_game.addMouseListener(salva);


    Start_Menu start = new Start_Menu();
    frame3.addKeyListener(start);

    NewGame3 n = new NewGame3();
    frame3.getContentPane().add(n);

    frame3.setVisible(true);
    }
    public void mouseReleased(MouseEvent arg0) {
    }


    }

    CLASSE IMMAGINI:

    public class Immagini {
    BufferedImage imm;
    public BufferedImage caricare(String posizione){
    try {
    imm = ImageIO.read(getClass().getResource(posizione));
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return imm;
    }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Però dovresti davvero iniziare a seguire le direttive e i consigli che ti abbiamo dato nelle precedenti discussioni!

    Intanto quando posti del codice usa i tag [CODE] e [/ CODE] (senza spazio ovviamente), non costringere sempre la gente a ricopiarsi il codice e sistemarlo per poter capirci qualcosa o forzare LeleFT a farlo per te!
    Ci metti davvero un secondo:

    [CODE]

    // qui copi e incolli il tuo codice

    [/ CODE] // sempre senza spazio, lo aggiungo qui sennò mi formatta il tutto

    Poi quando chiedi un aiuto non limitarti a dire "non funziona", specifica quale punto nel codice pensi sia interessato e soprattutto quale funzionamento ottieni in esecuzione e ciò che invece vorresti ottenere!
    Ultima modifica di Ansharja; 11-12-2015 a 19:23

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da Andrea_95 Visualizza il messaggio
    codice:
    	public void mousePressed(MouseEvent arg0) {
    		
    		if(arg0.toString().substring(568, 578).equals("Scenario 1")){
    No, assolutamente no. Questo if è completamente assurdo ed inguardabile!
    Non si fa un toString() di un oggetto evento (non tuo e non sotto il tuo controllo) il cui formato della stringa può (potrebbe) cambiare a seconda della release di Java e andando a pescare una parte a muzzo con indici schiantati nel codice (probabilmente hai guardato in debugging o con un println cosa contiene in quel momento) e facendoci un equals.

    Se vuoi verificare il "source" dell'evento, si usa il getSource() dell'evento e si confronta con == con gli N possibili componenti. Altrimenti per i pulsanti esiste anche il concetto del actionCommand (che è una stringa).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java 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 © 2024 vBulletin Solutions, Inc. All rights reserved.