Visualizzazione dei risultati da 1 a 4 su 4

Discussione: JFrame java

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    28

    JFrame java

    Ciao a tutti!
    Sto creando un tris con java.
    Ho un metodo chiamto setFrame()
    codice:
    public static void setFrame()
    	{
    		
    		JFrame GameMain = new JFrame();
    		GameMain.setSize(larghezza, altezza);
    		GameMain.setLocationRelativeTo(null);
    		GameMain.setTitle("Tic Tac Toe!");
    		GameMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		MouseAnalizza mouse = new MouseAnalizza();
    		GameMain.addMouseListener(mouse);
    		GameMain.setContentPane(new JLabel(new ImageIcon("grids/griglia1.png")));
    		GameMain.setVisible(true);
    		
    		
    	}
    Poi ho un metodo chiamato loadx();
    codice:
    public void loadx()
    	{
                    //Main è la classe che contiene setFrame
    		Main.setFrame().GameMain.setTitle("ciao");
    		
    	}
    I due metodi si trovano in diversi packages ma li ho importati tutti e due.
    Il problema è che mi da errore quando nel metodo loadx() cambio titolo al frame
    Dicendo che non trova GameMain

    Potete aiutarmi?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da nitrado3 Visualizza il messaggio
    codice:
    		Main.setFrame().GameMain.setTitle("ciao");
    I due metodi si trovano in diversi packages ma li ho importati tutti e due.
    Il problema è che mi da errore quando nel metodo loadx() cambio titolo al frame
    Dicendo che non trova GameMain
    Beh, setFrame() ha tipo di ritorno void ... quindi non puoi fare Main.setFrame().qualcosa

    In ogni caso una cosa risulta assolutamente evidente: dovresti chiarirti di più le idee sul "design" delle classi in generale. Quando si tenta di fare cose del tipo Main.setFrame().GameMain.setTitle("ciao") (anche se tecnicamente fosse corretto) cioè invocare un metodo statico su un'altra classe, sul tipo di ritorno accedere ad un campo e su questo invocare setTitle .... allora vuol dire che il design in generale fa parecchio "acqua".
    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 L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Main.setFrame() non ritorna nulla quindi non puoi chiamarci nulla sopra. GameMain tra l'altro è interno al metodo setFrame() e quindi da fuori è come non esistesse. Il fatto poi che tale metodo sia static non è un buon segno.

    Potresti mostrare meglio la tua architettura? Perché da quel poco che si vede mi sembra che faccia abbastanza acqua
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    28
    Grazie a tutti ho risolto scrivendo
    public static JFrame setFrame()
    Quindi il metodo ritorna un frame(quello che mi serviva)
    Grazie

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.