Classe finestra AWT

introduzione

La classe Windowè una finestra di primo livello senza bordo e senza barra dei menu. Usa BorderLayout come gestore di layout predefinito.

Dichiarazione di classe

Di seguito è riportata la dichiarazione per java.awt.Window classe:

public class Window
   extends Container
      implements Accessible

Costruttori di classi

SNCostruttore e descrizione
1

Window(Frame owner)

Costruisce una nuova finestra inizialmente invisibile con il Frame specificato come proprietario.

2

Window(Window owner)

Costruisce una nuova finestra inizialmente invisibile con la finestra specificata come proprietario.

3

Window(Window owner, GraphicsConfiguration gc)

Costruisce una nuova finestra inizialmente invisibile con il proprietario specificato Window e una GraphicsConfiguration di un dispositivo dello schermo.

Metodi di classe

SNMetodo e descrizione
1

void addNotify()

Rende questa finestra visualizzabile creando la connessione alla sua risorsa di schermo nativa.

2

void addPropertyChangeListener(PropertyChangeListener listener)

Aggiunge un PropertyChangeListener all'elenco dei listener.

3

void add Property ChangeListener(String property Name, Property Change Listener listener)

Aggiunge un PropertyChangeListener all'elenco dei listener per una proprietà specifica.

4

void addWindowFocusListener(WindowFocusListener l)

Aggiunge il listener del focus della finestra specificato per ricevere gli eventi della finestra da questa finestra.

5

void addWindowListener(WindowListener l)

Aggiunge il listener della finestra specificato per ricevere gli eventi della finestra da questa finestra.

6

void addWindowStateListener(WindowStateListener l)

Aggiunge il listener dello stato della finestra specificato per ricevere gli eventi della finestra da questa finestra.

7

void applyResourceBundle(ResourceBundle rb)

Deprecato. A partire da J2SE 1.4, sostituito da Component.applyComponentOrientation.

8

void applyResourceBundle(String rbName)

Deprecato. A partire da J2SE 1.4, sostituito da Component.applyComponentOrientation.

9

void createBufferStrategy(int numBuffers)

Crea una nuova strategia per il multi-buffering su questo componente.

10

void createBufferStrategy(int numBuffers, BufferCapabilities caps)

Crea una nuova strategia per il multi-buffering su questo componente con le capacità di buffer richieste.

11

void dispose()

Rilascia tutte le risorse dello schermo native utilizzate da questa finestra, i suoi sottocomponenti e tutti i suoi figli di proprietà.

12

AccessibleContext getAccessibleContext()

Ottiene l'oggetto AccessibleContext associato a questa finestra.

13

BufferStrategy getBufferStrategy()

Restituisce la BufferStrategy utilizzata da questo componente.

14

boolean getFocusableWindowState()

Restituisce se questa finestra può diventare la finestra focalizzata se soddisfa gli altri requisiti descritti in isFocusableWindow.

15

Container getFocusCycleRootAncestor()

Restituisce sempre null perché Windows non ha antenati; rappresentano il vertice della gerarchia dei componenti.

16

Component getFocusOwner()

Restituisce il componente figlio di questa finestra che ha il focus se questa finestra è focalizzata; altrimenti restituisce null.

17

Set<AWTKeyStroke> getFocusTraversalKeys(int id)

Ottiene una chiave di attraversamento dello stato attivo per questa finestra.

18

GraphicsConfiguration getGraphicsConfiguration()

Questo metodo restituisce la GraphicsConfiguration utilizzata da questa finestra.

19

List<Image> getIconImages()

Restituisce la sequenza di immagini da visualizzare come icona per questa finestra.

20

InputContext getInputContext()

Ottiene il contesto di input per questa finestra.

21

<T extends EventListener> T[] getListeners(Class<T> listenerType)

Restituisce un array di tutti gli oggetti attualmente registrati come FooListeners in questa finestra.

22

Locale getLocale()

Ottiene l'oggetto Locale associato a questa finestra, se è stata impostata la locale.

23

Dialog.ModalExclusionType getModalExclusionType()

Restituisce il tipo di esclusione modale di questa finestra.

24

Component getMostRecentFocusOwner()

Restituisce il componente figlio di questa finestra che riceverà il focus quando questa finestra è focalizzata.

25

Window[] getOwnedWindows()

Restituisce un array contenente tutte le finestre che questa finestra possiede attualmente.

26

Window getOwner()

Restituisce il proprietario di questa finestra.

27

static Window[] getOwnerlessWindows()

Restituisce un array di tutte le finestre create da questa applicazione che non hanno proprietario.

28

Toolkit getToolkit()

Restituisce il toolkit di questo frame.

29

String getWarningString()

Ottiene la stringa di avviso visualizzata con questa finestra.

30

WindowFocusListener[] getWindowFocusListeners()

Restituisce un array di tutti i listener di focus della finestra registrati su questa finestra.

31

WindowListener[] getWindowListeners()

Restituisce un array di tutti i listener di finestre registrati su questa finestra.

32

static Window[] getWindows()

Restituisce un array di tutte le finestre, sia di proprietà che senza proprietario, create da questa applicazione.

33

WindowStateListener[] getWindowStateListeners()

Restituisce un array di tutti i listener di stato della finestra registrati in questa finestra.

34

void hide()

Deprecato. A partire dalla versione 1.5 di JDK, sostituito da setVisible (booleano).

35

boolean isActive()

Restituisce se questa finestra è attiva.

36

boolean isAlwaysOnTop()

Restituisce se questa finestra è una finestra sempre in primo piano.

37

boolean isAlwaysOnTopSupported()

Restituisce se la modalità sempre in primo piano è supportata per questa finestra.

38

boolean isFocusableWindow()

Restituisce se questa finestra può diventare la finestra focalizzata, cioè se questa finestra o uno dei suoi sottocomponenti può diventare il proprietario del focus.

39

boolean isFocusCycleRoot()

Restituisce sempre true perché tutte le finestre devono essere radici di un ciclo di attraversamento dello stato attivo.

40

boolean isFocused()

Restituisce se questa finestra è focalizzata.

41

boolean isLocationByPlatform()

Restituisce vero se questa finestra apparirà nella posizione predefinita per il sistema a finestre nativo la prossima volta che questa finestra sarà resa visibile.

42

boolean isShowing()

Controlla se questa finestra è visualizzata sullo schermo.

43

void pack()

Fa sì che questa finestra venga ridimensionata per adattarsi alle dimensioni e ai layout preferiti dei suoi sottocomponenti.

44

void paint(Graphics g)

Dipinge il contenitore.

45

boolean postEvent(Event e)

Deprecato. A partire dalla versione 1.1 di JDK, sostituito da dispatchEvent (AWTEvent).

46

protected void processEvent(AWTEvent e)

Elabora gli eventi in questa finestra.

47

protected void processWindowEvent(WindowEvent e)

Elabora gli eventi della finestra che si verificano su questa finestra inviandoli a qualsiasi oggetto WindowListener registrato.

48

protected void processWindowFocusEvent(WindowEvent e)

Elabora gli eventi di attivazione della finestra che si verificano in questa finestra inviandoli a qualsiasi oggetto WindowFocusListener registrato.

49

protected void processWindowStateEvent(WindowEvent e)

Elabora gli eventi di stato della finestra che si verificano in questa finestra inviandoli a qualsiasi oggetto WindowStateListener registrato.

50

void removeNotify()

Rende questo contenitore non visualizzabile rimuovendo la sua connessione alla sua risorsa della schermata nativa.

51

void removeWindowFocusListener(WindowFocusListener l)

Rimuove il listener di attivazione della finestra specificato in modo che non riceva più eventi di finestra da questa finestra.

52

void removeWindowListener(WindowListener l)

Rimuove il listener di finestra specificato in modo che non riceva più eventi di finestra da questa finestra.

53

void removeWindowStateListener(WindowStateListener l)

Rimuove il listener dello stato della finestra specificato in modo che non riceva più gli eventi della finestra da questa finestra.

54

void reshape(int x, int y, int width, int height)

Deprecato. A partire dalla versione 1.1 di JDK, sostituito da setBounds (int, int, int, int).

55

void setAlwaysOnTop(boolean alwaysOnTop)

Imposta se questa finestra deve essere sempre sopra le altre finestre.

56

void setBounds(int x, int y, int width, int height)

Sposta e ridimensiona questo componente.

57

void setBounds(Rectangle r)

Sposta e ridimensiona questo componente per conformarlo al nuovo rettangolo di delimitazione r.

58

void setCursor(Cursor cursor)

Imposta l'immagine del cursore su un cursore specificato.

59

void setFocusableWindowState(boolean focusableWindowState)

Imposta se questa finestra può diventare la finestra focalizzata se soddisfa gli altri requisiti descritti in isFocusableWindow.

60

void setFocusCycleRoot(boolean focusCycleRoot)

Non fa nulla perché Windows deve essere sempre le radici di un ciclo di attraversamento del focus.

61

void setIconImage(Image image)

Imposta l'immagine da visualizzare come icona per questa finestra.

62

void setIconImages(List<? extends Image> icons)

Imposta la sequenza di immagini da visualizzare come icona per questa finestra.

63

void setLocationByPlatform(boolean locationByPlatform)

Imposta se questa finestra deve apparire nella posizione predefinita per il sistema a finestre nativo o nella posizione corrente (restituita da getLocation) la prossima volta che la finestra viene resa visibile.

64

void setLocationRelativeTo(Component c)

Imposta la posizione della finestra rispetto al componente specificato.

65

void setMinimumSize(Dimension minimumSize)

Imposta la dimensione minima di questa finestra su un valore costante.

66

void setModalExclusionType(Dialog.ModalExclusionType exclusionType)

Specifica il tipo di esclusione modale per questa finestra.

67

void setSize(Dimension d)

Ridimensiona questo componente in modo che abbia larghezza d.width e altezza d.height.

68

void setSize(int width, int height)

Ridimensiona questo componente in modo che abbia larghezza larghezza e altezza altezza.

69

void setVisible(boolean b)

Mostra o nasconde questa finestra a seconda del valore del parametro b.

70

void show()

Deprecato. A partire dalla versione 1.5 di JDK, sostituito da setVisible (booleano).

71

void toBack()

Se questa finestra è visibile, invia questa finestra in secondo piano e potrebbe far perdere il focus o l'attivazione se è la finestra attiva o attiva.

72

void toFront()

Se questa finestra è visibile, porta questa finestra in primo piano e può renderla la finestra focalizzata.

Metodi ereditati

Questa classe eredita i metodi dalle classi seguenti:

  • java.awt.Window

  • java.awt.Container

  • java.awt.Component

  • java.lang.Object

Esempio di finestra

Crea il seguente programma java usando qualsiasi editor di tua scelta, diciamo D:/ > AWT > com > tutorialspoint > gui >

AwtContainerDemo.java
package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;

public class AwtContainerDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;
   private Label msglabel;

   public AwtContainerDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      AwtContainerDemo  awtContainerDemo = new AwtContainerDemo();          
      awtContainerDemo.showFrameDemo();
   }

   private void prepareGUI(){
      mainFrame = new Frame("Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);
   
      msglabel = new Label();
      msglabel.setAlignment(Label.CENTER);
      msglabel.setText("Welcome to TutorialsPoint AWT Tutorial.");

      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }
   
   private void showWindowDemo(){
      headerLabel.setText("Container in action: Window");   
      final MessageWindow window = 
         new MessageWindow(mainFrame,
         "Welcome to TutorialsPoint AWT Tutorial.");

      Button okButton = new Button("Open a Window");
      okButton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            window.setVisible(true);
            statusLabel.setText("A Window shown to the user.");                
         }
      });
      controlPanel.add(okButton);
      mainFrame.setVisible(true);  
   }

   class MessageWindow extends Window{
      private String message; 

      public MessageWindow(Frame parent, String message) { 
         super(parent);               
         this.message = message; 
         setSize(300, 300);       
         setLocationRelativeTo(parent);
         setBackground(Color.gray);
      }

      public void paint(Graphics g) { 
         super.paint(g);
         g.drawRect(0,0,getSize().width - 1,getSize().height - 1); 
         g.drawString(message,50,150); 
      } 
   }
}

Compilare il programma utilizzando il prompt dei comandi. Vai aD:/ > AWT e digita il seguente comando.

D:\AWT>javac com\tutorialspoint\gui\AwtContainerDemo.java

Se non viene visualizzato alcun errore, significa che la compilazione è riuscita. Esegui il programma utilizzando il seguente comando.

D:\AWT>java com.tutorialspoint.gui.AwtContainerDemo

Verificare il seguente output