Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Immagine di sfondo

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    137

    Immagine di sfondo

    Ho creato un programmino con jframe nel quale vengono aperti dei JTabbedPane per visualizzare le cose che mi servono

    codice:
    public class mainprogram extends JFrame {
    
    	
    	public static void main(String[] args) {
    		SwingUtilities.invokeLater(new Runnable() {
    			public void run() {
    				mainprogram inst = new mainprogram();
    				inst.setLocationRelativeTo(null);
    				inst.setVisible(true);
    			}
    		});
    	}	
    	public mainprogram() {
    		super("MIOPROGRAMMA");		
    		initGUI();
    	}
    	private void initGUI() {
    	
    			{   
    				setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    			}
    			{
    				JPanel topPanel = new JPanel();
    				topPanel.setLayout( new BorderLayout() );
    				getContentPane().add( topPanel );
    				tabbedPane = new CloseableTabbedPane();
    				topPanel.add( tabbedPane, BorderLayout.CENTER );
    			}		
    			this.setSize(750, 600);			
    			
                              {
    {
    	jMenuBar1 = new JMenuBar();
    	setJMenuBar(jMenuBar1);
    	{
    		jMenu3 = new JMenu();
    		jMenuBar1.add(jMenu3);
    		jMenu3.setText("File");
    		 {
    		newFileMenuItem = new JMenuItem();
    	    Menu3.add(newFileMenuItem);
    		newFileMenuItem.setText("New project");
    		newFileMenuItem.addActionListener(new ActionListener() {
    		  public void actionPerformed(ActionEvent evt) {
    	tabbedPane.addTab( name,new project() );
    	tabbedPane.setEnabled(true);
    					}
    				});
    		}
    }
    Vorrei mettere un'immagine di sfondo alla mia finestra che verrà coperta nel momento in cui attraverso il menu aprirò un nuovo Tab

    tabbedPane.addTab( name,new project() );

    come fare? dove devo aggiungere il codice? Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Immagine di sfondo

    Originariamente inviato da Macgiglio
    Vorrei mettere un'immagine di sfondo alla mia finestra che verrà coperta nel momento in cui attraverso il menu aprirò un nuovo Tab
    Dal tuo codice si deduce che dentro il content pane del JFrame hai nel CENTER un JPanel (con BorderLayout) che a sua volta ha nel CENTER un JTabbedPane. Per quale motivo? Non facevi prima a mettere direttamente il JTabbedPane nel CENTER del content pane?
    E tornando alla tua domanda: in quale componente vuoi che sia contenuta la immagine?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    137
    hai ragione, ho cambiato come hai detto tu....ora vorrei mettere l'immagine nel JTabbedPane (ovvero visualizzare l'immagine solo quando non è aperto nessun Tab)

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Macgiglio
    ora vorrei mettere l'immagine nel JTabbedPane (ovvero visualizzare l'immagine solo quando non è aperto nessun Tab)
    La questione è che JTabbedPane non è uno dei componenti più "banali" .... ha le linguette, che possono essere messe, a scelta, su uno dei lati.

    Comunque, parlando in generale, i componenti AWT/Swing non offrono la possibilità di mostrare una immagine di sfondo. Hanno solo setBackground() per il Color di sfondo ma nulla di più.
    Se si vuole disegnare qualcosa di particolare (es. immagine) su un componente, l'unica strada è estendere il componente e fare l'override del giusto metodo facendo il painting nel modo corretto.

    E come ripeto, JTabbedPane non è banale. Si può di certo estenderlo e fare l'override di paintComponent() ma dovrei vedere se ha un metodo che fornisce il rettangolo dell'area dei componenti .... altrimenti rischieresti di disegnare sulle linguette!!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    137
    e se vorrei mettere un'immagine come sfondo ad un jPanel?
    e poi ovviamente metterci sopra jLabel,JButton ecc..

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da Macgiglio
    e se volessi mettere un'immagine come sfondo ad un jPanel?
    e poi ovviamente metterci sopra jLabel,JButton ecc..
    Usando la ricerca del forum:

    http://forum.html.it/forum/showthrea...readid=1319630
    http://forum.html.it/forum/showthrea...readid=1314086
    http://forum.html.it/forum/showthrea...readid=1311803
    http://forum.html.it/forum/showthrea...readid=1294070
    http://forum.html.it/forum/showthrea...readid=1233757

    e altri...


    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.