codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Home implements GeneratoreGUI {
public void creaInterfaccia(Container contenitore) {
//da definire...
GridBagLayout layout=new GridBagLayout();
/*Creazione di un GridBag*/
GridBagConstraints lim =new GridBagConstraints();
/*Creazione di un GridBagConstraints*/
contenitore.setLayout(layout);
contenitore.setBackground(Color.white);
contenitore.setMinimumSize(new Dimension(800,600));
contenitore.setPreferredSize(new Dimension(800,600));
contenitore.setMaximumSize(new Dimension(800,600));
/*imposto layout come layout manager di contenitore*/
/*
* Bottome Homepage
*/
Image img1 = Toolkit.getDefaultToolkit().getImage("/home/temuccio/universita/mockup/immagini/paginainizioselect.png");
Image newimg1 = img1.getScaledInstance(264,45, java.awt.Image.SCALE_SMOOTH);
ImageIcon icona1 = new ImageIcon(newimg1);
JButton c0=new JButton("");
c0.setIcon(icona1);
c0.setMinimumSize(new Dimension(264,45));
c0.setMaximumSize(new Dimension(264,45));
c0.setPreferredSize(new Dimension(264,45));
c0.setBackground(Color.white);
c0.setBorder(null);
c0.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
GeneratoreGUI generatore = null;
/* Crea un'istanza di generatore a partire da una
classe il cui nome pienamente qualificato è contenuto
nel primo paramentro di avvio del programma */
try {
Class<?> classeGeneratore = Class.forName("Categorie");
generatore = (GeneratoreGUI)classeGeneratore.newInstance();
}
catch(ArrayIndexOutOfBoundsException ex) {
System.err.println("Manca il nome della classe "+
"che genera il layout");
System.out.println("Uso: java Main nomeClasse");
System.out.println("nomeClasse è il nome pienamente " +
"qualificato di una classe che implementa " +
"GeneratoreGUI e che possiede un costruttore "+
"senza argomenti.");
}
catch(Exception ex) {
System.err.println(
"Errore durante la produzione"+
" del generatore di layout");
System.err.println(ex.getMessage());
}
/* Nel caso in cui non si siano verificate eccezioni
generatore sarà diverso da null */
if(generatore != null) {
//System.out.println(generatore);
MyInputPane ip=new MyInputPane(generatore);
ip.show();
//SwingUtilities.invokeLater(new MyInputPane(generatore));
}
}
});
/*creazione del primo componente*/
lim.gridx=0;
lim.gridy=0;
lim.weightx=1;
lim.weighty=1;
lim.ipadx=0;
lim.ipady=0;
lim.insets.top=10;
lim.insets.bottom=0;
lim.insets.left=0;
lim.insets.right=0;
lim.fill=GridBagConstraints.NONE;
layout.setConstraints(c0, lim);
contenitore.add(c0);
Image img2 = Toolkit.getDefaultToolkit().getImage("/home/temuccio/universita/mockup/immagini/guida.png");
Image newimg2 = img2.getScaledInstance(264,45, java.awt.Image.SCALE_SMOOTH);
ImageIcon icona2 = new ImageIcon(newimg2);
JButton c1=new JButton("");
c1.setIcon(icona2);
c1.setMinimumSize(new Dimension(264,45));
c1.setMaximumSize(new Dimension(264,45));
c1.setPreferredSize(new Dimension(264,45));
c1.setBackground(Color.white);
c1.setBorder(null);
/*creazione del primo componente*/
lim.gridx=1;
lim.gridy=0;
lim.weightx=1;
lim.weighty=1;
lim.ipadx=0;
lim.ipady=0;
lim.insets.top=10;
lim.insets.bottom=0;
lim.insets.left=0;
lim.insets.right=0;
lim.fill=GridBagConstraints.NONE;
layout.setConstraints(c1, lim);
contenitore.add(c1);
Image img3 = Toolkit.getDefaultToolkit().getImage("/home/temuccio/universita/mockup/immagini/inglese.png");
Image newimg3 = img3.getScaledInstance(264,45, java.awt.Image.SCALE_SMOOTH);
ImageIcon icona3 = new ImageIcon(newimg3);
JButton c2=new JButton("");
c2.setIcon(icona3);
c2.setMinimumSize(new Dimension(264,45));
c2.setMaximumSize(new Dimension(264,45));
c2.setPreferredSize(new Dimension(264,45));
c2.setBackground(Color.white);
c2.setBorder(null);
/*creazione del primo componente*/
lim.gridx=2;
lim.gridy=0;
lim.weightx=1;
lim.weighty=1;
lim.ipadx=0;
lim.ipady=0;
lim.insets.top=10;
lim.insets.bottom=0;
lim.insets.left=0;
lim.insets.right=10;
lim.fill=GridBagConstraints.NONE;
layout.setConstraints(c2, lim);
contenitore.add(c2);
Component briciola=new JTextArea("Briciola di pane:Home");
lim.gridx=0;
lim.gridy=1;
lim.gridwidth=3;
lim.gridheight=1;
lim.weightx=1;
lim.weighty=1;
lim.ipadx=0;
lim.ipady=0;
lim.fill=GridBagConstraints.NONE;
lim.anchor=GridBagConstraints.WEST;
layout.setConstraints(briciola, lim);
contenitore.add(briciola);
Component c3=new JButton("C3");
c3.setMinimumSize(new Dimension(50,50));
c3.setMaximumSize(new Dimension(50,50));
c3.setPreferredSize(new Dimension(50,50));
/*creazione del primo componente*/
lim.gridx=0;
lim.gridy=2;
lim.weightx=1;
lim.weighty=1;
lim.gridwidth=1;
lim.gridheight=1;
lim.ipadx=50;
lim.ipady=50;
lim.fill=GridBagConstraints.NONE;
layout.setConstraints(c3, lim);
contenitore.add(c3);
Component c4=new JButton("C4");
c4.setMinimumSize(new Dimension(50,50));
c4.setMaximumSize(new Dimension(50,50));
c4.setPreferredSize(new Dimension(50,50));
/*creazione del primo componente*/
lim.gridx=1;
lim.gridy=2;
lim.weightx=1;
lim.weighty=1;
lim.gridwidth=1;
lim.gridheight=1;
lim.ipadx=50;
lim.ipady=50;
lim.fill=GridBagConstraints.NONE;
layout.setConstraints(c4, lim);
contenitore.add(c4);
Component c5=new JButton("C5");
c5.setMinimumSize(new Dimension(50,50));
c5.setMaximumSize(new Dimension(50,50));
c5.setPreferredSize(new Dimension(50,50));
/*creazione del primo componente*/
lim.gridx=2;
lim.gridy=2;
lim.weightx=1;
lim.weighty=1;
lim.gridwidth=1;
lim.gridheight=1;
lim.ipadx=50;
lim.ipady=50;
lim.fill=GridBagConstraints.NONE;
layout.setConstraints(c5, lim);
contenitore.add(c5);
Component c6=new JButton("C6");
c6.setMinimumSize(new Dimension(50,50));
c6.setMaximumSize(new Dimension(50,50));
c6.setPreferredSize(new Dimension(50,50));
/*creazione del primo componente*/
lim.gridx=0;
lim.gridy=3;
lim.weightx=1;
lim.weighty=1;
lim.gridwidth=1;
lim.gridheight=1;
lim.ipadx=50;
lim.ipady=50;
lim.fill=GridBagConstraints.NONE;
layout.setConstraints(c6, lim);
contenitore.add(c6);
Component c7=new JButton("C7");
c7.setMinimumSize(new Dimension(50,50));
c7.setMaximumSize(new Dimension(50,50));
c7.setPreferredSize(new Dimension(50,50));
/*creazione del primo componente*/
lim.gridx=1;
lim.gridy=3;
lim.weightx=1;
lim.weighty=1;
lim.gridwidth=1;
lim.gridheight=1;
lim.ipadx=50;
lim.ipady=50;
lim.fill=GridBagConstraints.NONE;
layout.setConstraints(c7, lim);
contenitore.add(c7);
Component c8=new JButton("C8");
c8.setMinimumSize(new Dimension(50,50));
c8.setMaximumSize(new Dimension(50,50));
c8.setPreferredSize(new Dimension(50,50));
/*creazione del primo componente*/
lim.gridx=2;
lim.gridy=3;
lim.weightx=1;
lim.weighty=1;
lim.gridwidth=1;
lim.gridheight=1;
lim.ipadx=50;
lim.ipady=50;
lim.fill=GridBagConstraints.NONE;
layout.setConstraints(c8, lim);
contenitore.add(c8);
Component c9=new JButton("C9");
c9.setMinimumSize(new Dimension(50,20));
c9.setMaximumSize(new Dimension(50,20));
c9.setPreferredSize(new Dimension(50,20));
/*creazione del primo componente*/
lim.gridx=0;
lim.gridy=4;
lim.weightx=1;
lim.weighty=1;
lim.gridwidth=1;
lim.gridheight=1;
lim.ipadx=50;
lim.ipady=50;
lim.fill=GridBagConstraints.NONE;
layout.setConstraints(c9, lim);
contenitore.add(c9);
Component c10=new JButton("C10");
c10.setMinimumSize(new Dimension(50,20));
c10.setMaximumSize(new Dimension(50,20));
c10.setPreferredSize(new Dimension(50,20));
/*creazione del primo componente*/
lim.gridx=1;
lim.gridy=4;
lim.weightx=1;
lim.weighty=1;
lim.gridwidth=1;
lim.gridheight=1;
lim.ipadx=50;
lim.ipady=50;
lim.fill=GridBagConstraints.NONE;
layout.setConstraints(c10, lim);
contenitore.add(c10);
Component c11=new JButton("C11");
c11.setMinimumSize(new Dimension(50,20));
c11.setMaximumSize(new Dimension(50,20));
c11.setPreferredSize(new Dimension(50,20));
/*creazione del primo componente*/
lim.gridx=2;
lim.gridy=4;
lim.weightx=1;
lim.weighty=1;
lim.gridwidth=1;
lim.gridheight=1;
lim.ipadx=50;
lim.ipady=50;
lim.fill=GridBagConstraints.NONE;
layout.setConstraints(c11, lim);
contenitore.add(c11);
}
}
quando viene premuto il pulsante c0, dovrei aggiornare l'applicazione con la classe Categorie(che adesso è simile ad Home). Tutto funziona per il meglio a parte che viene creata una nuova finestra, ovvero sembra non funzionare JDialog.