Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508

    [Java] Inserire componenti in un JFrame

    Salve, sto iniziando a mettere mano alla grafica con Java ed ho questo problema:
    come faccio ad inserire ad esempio un disegno (anche solo una linea) e un JRadioButton all'interno dello stesso JFrame?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Moderazione

    Ho spostato la discussione nel forum dedicato a Java.
    In futuro, poni qui le tue domande relative a questo linguaggio.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Nel frattempo ho scritto questo codice che crea un JFrame e ci disegna dentro un rettangolo con bordo
    codice:
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import java.awt.Graphics;
    import java.awt.Color;
    
    public class Prova extends JFrame{
    
    	public Prova(){
    	        super("Prova");		
    	        getContentPane().add(new Pannello());
    	        int distx = 200;
                    int disty = 100;
                    int larghezza = 640;
                    int altezza = 480;
           	        setVisible(true);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setLocation(distx, disty);
    		setSize(larghezza, altezza);
    	}
    
    	class Pannello extends JPanel{
    		public void paintComponent(Graphics g){			
    			super.paintComponent(g);
    			g.setColor(Color.WHITE);
    			g.fillRect(140, 230, 40, 150);
    			g.setColor(Color.BLACK);
    			g.drawRect(140, 230, 40, 150);						
    		}
    	}
    
    	public static void main(String[] args){
    		Prova disegna = new Prova();
    	}
    }
    Se volessi aggiungere un paio di JRadioButton e raggrupparli in un ButtonGroup, come e dove dovrei aggiungere il codice?

  4. #4
    codice:
    class linea extends Canvas
    {  public void paint(Graphics g)
    	{  g.drawLine(num1,num2,num3,num4);
    	}
    }
    import java.awt.*;
    class disegno
    {  public static void main(String args[])
    	{   JFrame f = new jFrame("pippo");
    	    linea lin = new linea();
    	    jRadioButton1 = new javax.swing.JRadioButton();
                f.add(JRadioButton1);
                f.add(lin);
                f.setVisible(true);
    	}
    }
    dovrebbe andare...

    VERTEMATI, nessuno li ha mai fermati...

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Grazie per la risposta.
    Ho provato il codice che hai scritto, ma di nuovo... la linea appare, il jRadioButton no.

  6. #6
    :master: ho provato anch'io, effettivamente hai ragione, lui ti fa vedere l'oggetto che aggiungi per ultimo al frame...
    A questo punto fai così: aggiungi un jPanel al jFrame ==> nome_frame.add(nome_jPanel); poi aggiungi tutto dentro al jPanel sempre nello stesso modo
    VERTEMATI, nessuno li ha mai fermati...

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,508
    Il pezzo di codice che ho postato sopra ha già un JPanel e neanche così mi fa vedere il JRadioButton se lo aggiungo... uff... irritante questa cosa

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Allora vediamo.
    Per la grafica in Java si possono utilizzare due "tecnologie": AWT e Swing.
    Se non si hanno le benché minime basi della prima, è assolutamente inutile e sconsigliabile approcciare la seconda.

    E da quello che ho capito leggendo i post mi sembra che non ci sia nemmeno l'infarinatura della prima: la prima cosa da fare è aprire un manuale di Java e dare un'occhiata alla sezione dedicata ad AWT (Componenti, LayoutManager, Listener, ecc).
    Quindi, si passa a Swing, applicando quei concetti di base sui componenti di tale libreria.

    PS: quella parola in grassetto e sottolineata è la causa principale dei comportamenti disattesi che avete.... la documentazione Java fornisce molte risposte...


    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.