Questo è il Frame principale
codice:
public class Frame extends JFrame
{
private ImageIcon icona = new ImageIcon("C:/Users/pc/Desktop/Progetto/specificheProgetto_GF4/icona.jpg"); // cambiare l'icona
//JScrollPane pannello;
public Frame()
{
inizia();
}
public void inizia()
{
setTitle("Frame"); // titolo della classe
ImagePanel panel = new ImagePanel(new ImageIcon("C:/Users/pc/Desktop/Progetto/specificheProgetto_GF4/SfondoScreen.jpg").getImage());
getContentPane().add(panel);
setLookAndFeel(); // definiamo il LAF
setIconImage(icona.getImage());
setSize(700, 400);
setLocationRelativeTo(null);
setResizable(false);
HomePage home = new HomePage();
add(home);
// come chiudiamo la finestra:
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void setLookAndFeel() // definisce l'aspetto della finestra
{
try
{
for(UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) // indaghiamo su tutti i lookAndFeel installati recuperabili grazie alla classe UIMAnager
{
if("Nimbus".equals(info.getName())) // vediamo se c'è Nimbus
{
UIManager.setLookAndFeel(info.getClassName());
break; // arrestiamo il ciclo una volta trovato
}
}
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex)
{
System.out.println("!!!! Attenzione Nimbus non ha avuto successo");
System.err.println(ex); // ci facciamo scrivere il report delle ecezioni
}
}
/**
* verifichiamo funzionamento della classe appena creata
* @param args
*/
public static void main(String[] args)
{
Frame x = new Frame();
x.setVisible(true);
}
}
Questo è il JPanel
codice:
public class HomePage extends JPanel {
private JButton NuovaPartita;
private JButton Help;
private JButton Classifica;
private JButton Esci;
public HomePage()
{
pulsanti();
}
@SuppressWarnings("unchecked")
private void pulsanti()
{
NuovaPartita = new JButton("Nuova Partita");
NuovaPartita.setToolTipText("Inizia una nuova partita");
Help = new JButton("Help");
Help.setToolTipText("Come si gioca");
Classifica = new JButton("Classifica");
Classifica.setToolTipText("Guarda i migliori risultati");
Esci = new JButton("Esci");
Esci.setToolTipText("Esci dal gioco");
//dimensioni del pannello
setPreferredSize(new java.awt.Dimension(700, 400));
//posizione del pannello
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(Esci, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(74, 74, 74)
.addComponent(NuovaPartita, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 216, Short.MAX_VALUE)
.addComponent(Classifica, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(74, 74, 74))
.addGroup(layout.createSequentialGroup()
.addGap(266, 266, 266)
.addComponent(Help, javax.swing.GroupLayout.PREFERRED_SIZE, 168, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(48, 48, 48)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(NuovaPartita, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(Classifica, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Help, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 126, Short.MAX_VALUE)
.addComponent(Esci, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(23, 23, 23))
);
}// </editor-fold>
}