Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    99

    paintComponent su JPanel dentro JFrame?

    Buona sera, ho un problema a gestire una classe privata che estende jPanel che a sua volta si trova dentro un jFrame. è una base per un esperimento un po' più corposo ma visto che non ne venivo fuori ho deciso di ridurre il tutto al minimo e ancora non ne vengo fuori, ma almeno ho qualcosa di concreto
    codice:
    import java.awt.BorderLayout;import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.image.BufferedImage;
    
    
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    publicclassScaleextends JFrame{
    	private ImageIcon image;
    private JPanel scaleJPanel;
    private JLabel percentLabel;
    private JTextField inputPercentField;
    	private JButton scaleButton;
    privatedoublescaleValue=1.0;
    	private BufferedImage img;
    	private DrawJPanel pan;
    
    	public Scale(){
    
    super("Ciao");
    		scaleJPanel=new JPanel();
    percentLabel=new JLabel("scale percent: ");
    		inputPercentField=new JTextField("100.0");
    		scaleButton=new JButton("Scale");
    		pan=new DrawJPanel();
    scaleJPanel.add(percentLabel);
    scaleJPanel.add(inputPercentField);
    scaleJPanel.add(scaleButton);
    		add(scaleJPanel,BorderLayout.NORTH);
    		pan.setBackground(Color.BLUE);
    		add(pan, BorderLayout.CENTER);
    
    
    	}
    
    
    	public static void main(String[] args){
    		Scale app=new Scale();
    		app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		app.setSize(300,300);
    		app.setVisible(true);
    	}
    	private class DrawJPanel extends JPanel{
    
    		public void PaintComponent(Graphics g){
    
    		super.paintComponent(g);
    
    		g.setColor(Color.GREEN);
    		g.fillOval(40, 40, 150, 150);
    	}
    }
    
    }
    lasciate stare i pulsanti che fanno parte dell'altra parte del programma.
    In pratica mi fa vedere il JPanel blu, ma sopra non mi disegna nulla e non riesco a capire il motivo.. Qualcuno che può aiutarmi? Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    99
    Ho risolto! Sarà l'orario tardo ma sono rimbecillito di mio quindi non ci ho fatto caso prima. ho scritto PaintComponent invece di paintComponent! scusatemi se ho aperto una discussione per questa banalità

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.