Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Java Rectangle 3D

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    24

    Java Rectangle 3D

    Ciao a tutti,
    ho creato con un ciclo annidato una sequenza di posti a sedere per un teatro (9 file per 7 posti). Vorrei sapere se è possibile poter selezionare ad esempio con un actionlistener mouse pressed singolarmente un quadrato fargli cambiare colore(rosso ad esempio per indicare che è selezionato)
    codice:
    public class PostiTeatro extends JComponent { 
    public void paint(Graphics g) { 
    g.setColor(Color.GREEN); 
    int x=15; i
    nt y=20; 
    for(int i=0;i<9;i++) 
    {
    for(int j=0;j<7;j++) 
    {
    g.fill3DRect(x, y, 20, 20,true);
    x=x+25;
    } 
    x=15;
    y=y+25;
    } 
    } 
    public static void main(String[] args) {
    JFrame window = new JFrame(); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    window.setBounds(30, 30, 300, 300);
    window.getContentPane().add(new PostiTeatro());
    window.setVisible(true); } }
    Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    tieni traccia di tutti i Rectangle che crei. Registra il listener per il mouse, recupera le coordinate del click e verifica con contains di Rectangle se il punto appartiene ad un Rectangle o meno (fai un ciclo for su tutti i Rectangle). Se è contenuto allora ne cambi il colore, se invece è esterno non fai niente (oppure potresti cancellare la selezione precedente, ce ne fosse una).

    Mi sa che io stesso ho scritto qualcosa/sono intervenuto qui sul forum per una problematica simile qualche mese fa. Prova a fare una ricerca.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.