scusa ma la classe bigLayoutManager non la conosco
comunque
per quando riguarda l'immagine non sò come farvala vedere.
Il codice della classe è questo:
codice:import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.LayoutManager; import java.awt.Toolkit; import javax.swing.JFrame; import javax.swing.JPanel; public class MyFrame { private double altezzaSchermo, larghezzaSchermo, larghezzaFrame, altezzaFrame, posx, posy; private JPanel [] panel; private JFrame frame; public MyFrame(String titoloFinestra) { //creo il frame frame=new JFrame(titoloFinestra); // imposta il titolo della finestra //imposto la dimensione e il centro this.setCenterAndSize3_4(); //inizializzo i pannelli this.inizializzaPannelli(); //aggiungo i pannelli this.AddPannelli(); //imposto l'azione quando si preme la crocetta di chiusura sul frame frame.setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE); } private void AddPannelli() { //Aggiunge i pannelli seguendo uno schema frame.add(panel[0]); //aggiunto pannello principale panel[0].setLayout(new BorderLayout()); panel[0].add(panel[28],BorderLayout.CENTER); panel[28].setLayout(new BorderLayout()); panel[0].add(panel[26],BorderLayout.NORTH); panel[26].setLayout(new BorderLayout()); panel[0].add(panel[27],BorderLayout.WEST); panel[27].setLayout(new BorderLayout()); panel[0].add(panel[29],BorderLayout.EAST); panel[29].setLayout(new BorderLayout()); panel[0].add(panel[30],BorderLayout.SOUTH); panel[30].setLayout(new BorderLayout()); panel[28].add(panel[11],BorderLayout.NORTH); panel[28].add(panel[12],BorderLayout.WEST); panel[28].add(panel[13],BorderLayout.CENTER); panel[28].add(panel[14],BorderLayout.EAST); panel[28].add(panel[15],BorderLayout.SOUTH); panel[26].add(panel[1],BorderLayout.NORTH); panel[26].add(panel[2],BorderLayout.WEST); panel[26].add(panel[3],BorderLayout.CENTER); panel[26].add(panel[4],BorderLayout.EAST); panel[26].add(panel[5],BorderLayout.SOUTH); panel[27].add(panel[6],BorderLayout.NORTH); panel[27].add(panel[7],BorderLayout.WEST); panel[27].add(panel[8],BorderLayout.CENTER); panel[27].add(panel[9],BorderLayout.EAST); panel[27].add(panel[10],BorderLayout.SOUTH); panel[29].add(panel[16],BorderLayout.NORTH); panel[29].add(panel[17],BorderLayout.WEST); panel[29].add(panel[18],BorderLayout.CENTER); panel[29].add(panel[19],BorderLayout.EAST); panel[29].add(panel[20],BorderLayout.SOUTH); panel[30].add(panel[21],BorderLayout.NORTH); panel[30].add(panel[22],BorderLayout.WEST); panel[30].add(panel[23],BorderLayout.CENTER); panel[30].add(panel[24],BorderLayout.EAST); panel[30].add(panel[25],BorderLayout.SOUTH); } private void inizializzaPannelli() { //inizializzazione di tutti i pannelli panel = new JPanel[31]; for(int i=0;i<31;i++) { panel[i] = new JPanel(); panel[i].setBackground(Color.WHITE); } } private void setCenterAndSize3_4() //crea un frame della dimensioni tre quarti dello schermo { //Frame //Mi ricavo le dimensioni dello schermo Toolkit tk = frame.getToolkit(); altezzaSchermo=tk.getScreenSize().getHeight(); larghezzaSchermo=tk.getScreenSize().getWidth(); //Mi ricavo le dimensioni del frame //li faccio prima di un quarto dello schermo larghezzaFrame=larghezzaSchermo/2; altezzaFrame=altezzaSchermo/2; //adesso li aumento della metà di un quarto larghezzaFrame+=larghezzaFrame/2; altezzaFrame+=altezzaFrame/2; //imposto le dimensioni del frame frame.setSize((int)larghezzaFrame,(int)altezzaFrame); //Adesso ricavo la locazione del frame e lo localizzo posx = larghezzaSchermo/2 - larghezzaFrame/2; posy = altezzaSchermo/2 - altezzaFrame/2; frame.setLocation((int)posx, (int)posy); frame.setResizable(false); //Non ridimensionabile } //Aggiunge il componente al pannello nmPanel public Boolean addObject(int nmPanel,Component oggetto) { if(nmPanel<1 || nmPanel >25) return false; //oggetto non aggiunto panel[nmPanel].add(oggetto); return true; //oggetto aggiunto } //Setta il layout del pannello nmPanel public Boolean setLayoutPane(int nmPanel,LayoutManager type_Layout) { if(nmPanel<1 || nmPanel >25) return false; //L'ayout non aggiornato panel[nmPanel].setLayout(type_Layout); return true; //L'ayout Aggiornato } public boolean setBackground(int nmPanel,Color colore) { if(nmPanel<1 || nmPanel >25) return false; //colore stanza non aggiornato panel[nmPanel].setBackground(colore); return true; //colore Aggiornato } public void setVisible(Boolean flag) { frame.setVisible(flag); } }

Rispondi quotando