Home Programmazione Java 2D - Guida completa Capitolo 11: I bordi con Border e BorderFactory di Swing.

Page Rank Check    





Ultimi articoli

Capitolo 11: I bordi con Border e BorderFactory di Swing.
Guide di programmazione - Java 2D - Guida completa
Scritto da RedBaron85   
Sabato 30 Gennaio 2010 18:40

Guida alla programmazione delle GUI, interfacce grafiche in Java 2D - 11: i bordi con Border e BorderFactory di Swing


Capitolo 11: I bordi con Border e BorderFactory di Swing.

JFrame

E' possibile impostare un 'bordo' per ogni componente Swing.

Tale pratica risulta spesso utile per distinguere pannelli differenti inseriti in un JFrame o per evidenziare aree particolari (ad es., un pannello contenente un gruppo di RadioButton logicamente connessi).

 

Per creare un bordo si fa ricorso alla classe BorderFactory, che mette a disposizione dei metodi statici che restituiscono degli oggetti Border.

Esistono diversi tipi di bordi, ciascuno con un proprio aspetto; per una trattazione completa si rimanda alle API ufficiali di Border.

 

Basterà quindi invocare il metodo:

setBorder(Border b)   :   void

di JComponent (classe di Swing che estende Container ed è estesa dalle componenti GUI di Swing) per impostare il bordo di un oggetto.

 

 

La porzione di codice che segue definisce una classe eseguibile che mostra a video un JFrame contenente 5 pannelli JPanel, disposti sul JFrame col Layout BorderLayout, ciascuno dei quali è provvisto del proprio bordo colorato.

Ecco il codice:

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;


public class ProvaBordi extends JFrame
{
private JPanel pannello1, pannello2, pannello3, pannello4, pannello5;
private Border bordo1, bordo2, bordo3, bordo4, bordo5;


public ProvaBordi()
{
this.setTitle("JFrame con 5 pannelli dotati di bordi colorati; BorderLayout.");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Toolkit mioToolkit = Toolkit.getDefaultToolkit();
Dimension dimensioniSchermo = mioToolkit.getScreenSize();

int larghezzaFrame, altezzaFrame;
larghezzaFrame = (int) (dimensioniSchermo.getWidth()/2);
altezzaFrame = (int) (dimensioniSchermo.getHeight()/2);

this.setSize(larghezzaFrame, altezzaFrame);

// NOTA IMPORTANTE: l'origine del sistema di riferimento dello schermo (punto (0,0)) è situata IN ALTO A SINISTRA; valori y positivi 'scendendo', x positivi proseguendo 'verso destra'.
this.setLocation(((int)dimensioniSchermo.getWidth()/4), ((int)dimensioniSchermo.getHeight()/4));

// Istanzio i pannelli
pannello1 = new JPanel();
pannello2 = new JPanel();
pannello3 = new JPanel();
pannello4 = new JPanel();
pannello5 = new JPanel();

// Istanzio i bordi colorati, di tipo "Line Border" con spessore di bordo 5
bordo1 = BorderFactory.createLineBorder(Color.red, 5);
bordo2 = BorderFactory.createLineBorder(Color.yellow, 5);
bordo3 = BorderFactory.createLineBorder(Color.green, 5);
bordo4 = BorderFactory.createLineBorder(Color.magenta, 5);
bordo5 = BorderFactory.createLineBorder(Color.cyan, 5);

// Imposto i bordi colorati per i pannelli
pannello1.setBorder(bordo1);
pannello2.setBorder(bordo2);
pannello3.setBorder(bordo3);
pannello4.setBorder(bordo4);
pannello5.setBorder(bordo4);

// Recupero il contentPane, imposto il layout GridLayout e aggiungo al JFrame i 5 pannelli.
Container contentPane = this.getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.add(pannello1, BorderLayout.NORTH);
contentPane.add(pannello2, BorderLayout.SOUTH);
contentPane.add(pannello3, BorderLayout.EAST);
contentPane.add(pannello4, BorderLayout.WEST);
contentPane.add(pannello5, BorderLayout.CENTER);
}


public static void main(String[] args)
{
ProvaBordi pb = new ProvaBordi();
pb.setVisible(true);
}
}

Tags:     programmazione      guide      manuali      corso      j2d      java 2d      gui      interfacce      capitolo 11      bordi      border      border factory      factory      borderfactory      swing
Ultimo aggiornamento Domenica 22 Gennaio 2012 18:35
 

Ti è piaciuto questo articolo ? Condividilo !



RedBaron85.com Forum community banner

Non hai trovato quello che cercavi ?
Ricerca personalizzata
Copyright © 2012 RedBaron85.com: Informatica, CG 2D e 3D, Blender, Python, Java 2D e 3D, 3D Studio e altro ancora!. Tutti i diritti riservati.
Joomla! è un software libero rilasciato sotto licenza GNU/GPL.

Milanese Francesco - Partita IVA: 04950350878

AltroArticoliblog utentiBlueprintsContestenglishProgrammazioneModelliElencoNewsTexturesTutorialsVideotutorials