Interfaccia grafica

di il
50 risposte

50 Risposte - Pagina 4

  • Re: Interfaccia grafica

    Il costruttore serve proprio per inizializzare lo stato dell'oggetto ...
  • Re: Interfaccia grafica

    Ok... ho fatto come hai detto, ma ora non vedo più il mio drawString...
    
    import java.awt.BasicStroke;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.FontFormatException;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.RenderingHints;
    import java.awt.geom.Ellipse2D;
    import java.io.File;
    import java.io.IOException;
    
    import javax.swing.JComponent;
    import javax.swing.border.Border;
    
    public class Disegno extends JComponent{
    	Ellipse2D cerchio = new Ellipse2D.Double(250, 87.5, 500, 500);
    	BasicStroke contorno = new BasicStroke(45);
    	Font font = new Font("",100,100);
    	
    	public Disegno(){
    		try{
    			stile();
    		}catch (Exception e) {
    			System.out.println("Errore reversibile. Nessun font caricato.\nL'applicazione verrà eseguita "
    					+ "con font di default, det tuo sistema operativo");
    			font = new Font("",100,100);
    		}
    	}
    	public void stile() throws FontFormatException, IOException{
    		 font = Font.createFont(Font.TRUETYPE_FONT, new File("C:\\Debug\\JAVA\\Prove\\font\\Hanged Letters.ttf"));
    		 System.out.println(font.getSize());
    	}
    	public void paint(Graphics g) {
    		Graphics2D g2 = (Graphics2D) g;
    		RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    		g2.setRenderingHints(rh);
    		g2.setColor(Color.black);
    		g2.setStroke(contorno);
    		
    		g2.draw(cerchio);
    		g2.setColor(Color.ORANGE);
    		g2.fill(cerchio);
    		
    		g2.setFont(font);
    		g2.setColor(new Color(100,200,180));
    		g2.drawString("85",350, 530);
    	}
    }
    
    Ho chiamato una getSize per capire più o meno cosa è successo.
    Adesso voglio incrementare le dim del font, ma non ci riesco
    ho provato con deriveFont(float size), ma non ho ottenunto risultati
  • Re: Interfaccia grafica

    Praticamente implementavo male il metodo derive font...
  • Re: Interfaccia grafica

    Probabilmente dovresti solo leggere un po' di più (o un po' meglio) la documentazione ufficiale.
  • Re: Interfaccia grafica

    Ciao
    
    public class Prova extends JFrame {
    	Dimension preferredSize = new Dimension (500,50);
    	public Prova(){
    		setSize(500,500);
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
    		DrawNumber draw = new DrawNumber(10);
    		DrawNumber draw1 = new DrawNumber(20);
    		DrawNumber draw2 = new DrawNumber(30);
    		JPanel panel = new JPanel();
    		
    		panel.setLayout(new FlowLayout());
    		draw.setPreferredSize(preferredSize);
    		panel.add(draw);
    		draw1.setPreferredSize(preferredSize);
    		panel.add(draw1);
    		draw2.setPreferredSize(preferredSize);
    		panel.add(draw2);
    		getContentPane().add(panel, BorderLayout.CENTER);
    
    Ho questo codice qui.
    L'oggetto draw mi disegna un cerchio è con un numero.
    La questione è che uso il FlowLayout, ma quando aggiungo i miei oggetti draw (JComponent) al pannello, questi anziche disporli uno di fiano all'altro
    vengono disposti uno sotto l'altro...
    Eppure ci sono riuscio a metterli uno di fiano l'altro inizialmente.
    Però se provo ad aggiugner dei JButton, questi vanno uno di fianco all'altro.
    Non so se dipenda dall'oggetto oppure qualcosa di sbagliato nella mia classe Prova
  • Re: Interfaccia grafica

    Trovato l'errore, ovviamente se gli dò come Dimension x = 500, occupo tutta la row..
    scusate.
    Certe volte proprio...
Devi accedere o registrarti per scrivere nel forum
50 risposte