Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di 1sirena
    Registrato dal
    Mar 2008
    Messaggi
    163

    Aiuto! Aiuto! Aiuto! Problema con JParent ;(

    Aiuto! Aiuto! Aiuto!
    Ho creato un jframe(Admin) che contiene un jsplitpane che richiama al suo interno due diversi pannelli(PannelloAdminStart e BarraAdmin).

    Questa è la finestra principale(Admin-jframe):
    codice:
    package Schedule.Accesso.Admin;
    
    
    import java.awt.Color;
    import java.awt.Toolkit;
    
    import javax.swing.DebugGraphics;
    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import javax.swing.JSplitPane;
    
    
    
    
    import com.jgoodies.forms.layout.CellConstraints;
    
    public class Admin extends JFrame{
    	private static final long serialVersionUID = 1L;
    	private JSplitPane jSplitPane = null;
    	private BarraAdmin panel;
    	public JPanel jPanel1;
    	private String UsernameDocente;  //  @jve:decl-index=0:
    	public int id;
    	public String Nomin;  //  @jve:decl-index=0:
    	public String getNomin() {
    		return Nomin;
    	}
    	public int getId() {
    		return id;
    	}
    	public String getUsernameDocente() {
    		return UsernameDocente;
    		
    	}
    
    public void setUsernameDocente(String UsernameDocente, int id, String Nomin) {
    		this.UsernameDocente = UsernameDocente;
    		this.id = id;
    		this.Nomin = Nomin;
    		
    	}
    
    	/**
    	 * This is the default constructor
    	 */
    	
    	public Admin(String UsernameDocente) {
    		this.UsernameDocente = UsernameDocente;
    		this.setSize(1504, 902);
    		this.setContentPane(getJSplitPane());
    		this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/img/logo_uni.png")));
    		this.setTitle("Benvenuto/a " +" " + this.getUsernameDocente() );
    
    	}
    	
    		/**
    	 * This method initializes jSplitPane	
    	 * 	
    	 * @return javax.swing.JSplitPane	
    	 */
    	private JSplitPane getJSplitPane() {
    		if (jSplitPane == null) {
    			jSplitPane = new JSplitPane();
    			jSplitPane.setBounds(0, 0, 1300, 800);
    			jSplitPane.add(getJPanel1(), JSplitPane.RIGHT);
    			jSplitPane.add(getJPanel(), JSplitPane.LEFT);
    			jSplitPane.setBackground(new Color(0, 51, 255));
    			
    		}
    		return jSplitPane;
    	}
    	
    	private JPanel getJPanel1() {
    		if(jPanel1 == null) {
    			jPanel1 = new JPanel();
    			jPanel1.setBackground(new Color(0, 51, 255));
    			jPanel1.setDebugGraphicsOptions(DebugGraphics.LOG_OPTION);
    			jPanel1.setPreferredSize(new java.awt.Dimension(1008, 800));
    			PannelloAdminStart PA=new PannelloAdminStart(UsernameDocente, id, Nomin);
    			JPanel admin = PA.getJContentPane();
    			jPanel1.add(admin, new CellConstraints("2, 4, 1, 1, default, default"));
    			admin.setPreferredSize(new java.awt.Dimension(1010, 750));
    			admin.setDebugGraphicsOptions(DebugGraphics.BUFFERED_OPTION);
    			admin.setBackground(new Color(0, 51, 255));
    			
    		}
    		return jPanel1;
    	}
    	
    	private JPanel getJPanel() {
    		if(panel == null) {
    			panel = new BarraAdmin();
    			panel.setPreferredSize(new java.awt.Dimension(108, 162));
    			panel.setBounds(54, 398, 1284, 365);
    			panel.setSize(108, 162);
    		}
    		return panel;
    	}
    	
    }
    Da BarraAdmin (in jsplitpanel) richiamo il metodo che al click del pulsante Logout mi chiuda il jframe:

    codice:
    Logout.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    			            	Container component = Logout.getParent();
    			          while(!(component.getClass().toString().endsWith("JFrame"))){ 	
    			        	  System.out.println(component.getClass());
    			           component = component.getParent();
    			       }
    			       ((JFrame)component).dispose();
    			            }
    			        });
    Purtoppo, dopo avermi stampato a video, su richiesta:

    class Schedule.Accesso.Admin.BarraAdmin
    class javax.swing.JSplitPane
    class javax.swing.JLayeredPane
    class javax.swing.JRootPane
    class Schedule.Accesso.Admin.Admin

    mi dà questa eccezione:
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at Schedule.Accesso.Admin.BarraAdmin$5.actionPerforme d(BarraAdmin.java:309)
    at javax.swing.AbstractButton.fireActionPerformed(Unk nown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed (Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed (Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(Unknown Source)
    at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent( Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(U nknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unkno wn Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilter s(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(U nknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    Ciò vuol dire che il frame lo vede, ma perchè non funziona????? ;(


    ah dimenticavo di dire che l'errore è riferito a questa riga di codice, presente all'interno del metodo utilizzato al click:
    while(!(component.getClass().toString().endsWith(" JFrame")))

  2. #2

    Re: Aiuto! Aiuto! Aiuto! Problema con JParent ;(

    Questo codice non mi è nuovo... :master:


    while(!(component.getClass().toString().endsWith(" JFrame")))
    Codice PHP:
    while(!(component.getClass().toString().endsWith("[B].Admin[/B] "))) 


    Al mio segnale... scatenate l'inferno!

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

    Moderazione

    Mi dispiace, ma penso che ti sia stato detto più volte che i titoli vanno messi secondo quanto descritto nel regolamento.
    Oltretutto non è la prima volta che posti e dovresti saperlo.

    Sono costretto a chiudere.


    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.