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

    netBeans

    Salve a tutti.
    Inizialmente programmavo in Java con BlueJ (lo consiglio per chi incomincia) e da poco sono passato a netBeas.
    Devo solamente inserire una canvas in una form e alla pressione di un tasto disegnare un cerchio. Tutti i vari elementi grafici sono stati inseriti ma poi non so andare avanti...

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Potresti cominciare con l'evitare come la peste quella parte di composizione grafica che si ostinano a mettere in tutti gli IDE, tirare fuori un foglio di carta, fare il disegno della tua interfaccia grafica e vedere di implementarla per bene tramite il/i giusto/i layour manager e scegliendo accuratamente i componenti.

    Per quanto riguarda il disegno del cerchio (e di tutte le primitive grafiche), dovresti consultare le API su Graphics (e/o Graphics2D): molte utili primitive (tipo linee, rettangoli, archi etc etc) sono già tutte implementate

    http://java.sun.com/javase/6/docs/ap.../Graphics.html

    qundi ti basta raccattare l'oggetto graphics della tua canvas:

    codice:
    Graphics g = tuaCanvas.getGraphics();
    e quindi chiamare drawArch...


    codice:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    /**
     *
     * @author Andrea
     */
    public class CanvasDemo extends JFrame {
        
        private final Canvas c;
        
        
        /** Creates a new instance of CanvasDemo */
        public CanvasDemo() {
            super("Canvas Demo");
            this.setSize(400,400);
            this.getContentPane().setLayout(new BorderLayout());
            JButton drawArc = new JButton("Disegna Cerchio");
            this.getContentPane().add(drawArc, BorderLayout.SOUTH);
            
            c = new Canvas();
            this.getContentPane().add(c, BorderLayout.CENTER);
            
            drawArc.addActionListener(new AbstractAction() {
                public void actionPerformed (ActionEvent ae) {
                    Graphics g = c.getGraphics();
                    int radius = ((int)(200*Math.random()));
                    g.drawArc(((int)(400*Math.random())), ((int)(400*Math.random())), radius, radius, 0, 360);                
                }
            });
            
            this.setVisible(true);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        
        public static void main (String[] args) {
            new CanvasDemo();
        }
        
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Grazie per la tempestivita della risposta. Quello che tu hai scritto e' vero e il listato so che funzionerebbe. La scelta di netBeans è solo curiosita' quindi avevo bisogno di sapere in che modo farlo con IDE

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

    Moderazione

    Modifico il titolo perchè così com'è non dice nulla della discussione (e il Regolamento impone una coerenza fra le due cose).


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