Swing

Informazioni sulla memoria in Java

Ogni applicazione Java ha associata un istanza della classe Runtime che può essere utilizzata per vari motivi. Uno di questi è controllare lo stato della memoria.

I metodi che ci interessano sono tre:

public long freeMemory()
public long maxMemory()
public long totalMemory()

Continua >

Creare un modello personalizzato per una JTable

In Java, ogni tabella utilizza un modello per gestire i dati rappresentati.
Il modello in questione deve implementare i metodi definiti nell’interfaccia javax.swing.table.TableModel. Qualora non venisse specificato un modello, la classe JTable crea un’istanza di javax.swing.table.DefaultTableModel

Table model

Continua >

Java: introduzione alla classe JFileChooser

La classe javax.swing.JFileChooser consente un semplice ed immediato meccanismo per selezionare file e directory.
Il più semplice modo per istanziare questa classe è usare il costruttore:

JFileChooser(String currentDirectoryPath)

specificando il percorso di una directory, che verrà mostrata quando verrà aperto il file chooser.

Per indicare il tipo di file che deve essere scelto (file, directory o entrambi), utilizziamo il metodo

public void setFileSelectionMode(int mode)

dove mode è un dei seguenti valori:

  • JFileChooser.FILES_ONLY
  • JFileChooser.DIRECTORIES_ONLY
  • JFileChooser.FILES_AND_DIRECTORIES

Se invece vogliamo abilitare/disabilitare la selezione multipla, utilizziamo il metodo:

public void setMultiSelectionEnabled(boolean b)

Continua >

Primo esempio sulla classe JTable

La classe javax.swing.JTable rappresenta una tabella bidimensionale per rappresentare dati. E’ possibile customizzare il comportamento di una JTable, modificando il rendering e la modalità di editing, ad esempio. La classe fornisce comunque delle funzionalità di default.

Continua >

Aggiungere un’icona nella system tray in Java

Java 1.6 ha introdotto la possibilità di utilizzare una nuova classe, TrayIcon, appartenente al package java.awt, che consente, alla propria applicazione, di aggiungere una icon nella system tray.

La classe TrayIcon possiede tre costruttori:

TrayIcon(Image image)
TrayIcon(Image image, String tooltip)
TrayIcon(Image image, String tooltip, PopupMenu popup)

Nell’esempio che segue utilizzeremo il terzo costruttore, in modo da ottenere un’immagine, una stringa che rappresenterà il tooltip e un menù.

Continua >

Java: utilizzare un’icona in una JLabel

La classe javax.swing.JLabel consente di mostrare un breve testo e/o un’immagine.
Per istanziare una label con un testo e un’icona, possiamo utilizzare il seguente costruttore:

JLabel(String text, Icon icon, int horizontalAlignment)

La classe javax.swing.Icon è un’interfaccia implementata, ad esempio, da javax.swing.ImageIcon. Possiamo dunque utilizzare un oggetto di questa classe per assegnare un’icona ad una label:

Continua >

Java: intercettare l’evento generato dalla rotellina del mouse

Intercettare l’evento generato quando si utilizza la rotellina centrale del mouse è possibile utilizzando l’apposita classe java.awt.event.MouseWheelListener e il relativo evento java.awt.event.MouseWheelEvent.
Per poter mettersi in ascolto di questo evento, è necessaria una classe che definisca il metodo

public void addMouseWheelListener(MouseWheelListener l)

In particolare, questo metodo è definito dalla classe java.awt.Component, quindi è necessario che la classe in considerazione erediti dalla classe Component.

Continua >

Java: JList con elementi personalizzati

La libreria Swing consente al programmatore di decidere come ogni elemento (detto cella) di una JList deve essere mostrato. Per far sì che questo sia possibile, è necessario definire un renderer personalizzato e farlo settare alla JList con il metodo:

void setCellRenderer(ListCellRenderer cellRenderer)

Il renderer personalizzato verrà creato implementando l’interfaccia javax.swing.ListCellRenderer e il relativo metodo

Component getListCellRendererComponent(JList list, Object value,
    int index, boolean isSelected, boolean cellHasFocus)

Continua >

Java: la classe JToolBar

La classe javax.swing.JToolBar consente all’utente di avere sempre a disposizione una barra mediante la quale attivare funzionalità comuni.
Solitamente, vengono aggiunte delle azioni alla tool bar, rappresentate in maniera grafica, ma è anche possibile aggiungere altri componenti, come text box e label.

Di seguito, istanzieremo un oggetto JToolBar utilizzando il costruttore di default e aggiungeremo i componenti con il metodo:

public JButton add(Action a)

Essendo javax.swing.Action un’interfaccia, creeremo una classe che estenderà javax.swing.AbstractAction, una classe che implementa Action.

Continua >