AWT Window類


視窗(Window )類是一個沒有邊框和選單欄的頂層視窗。它使用BorderLayout作為預設的布局管理器。

類的宣告

以下是宣告的java.awt.Window類:

public class Window
   extends Container
      implements Accessible

類別建構函式

S.N. 建構函式與說明
1 Window(Frame owner) 
Constructs a new, initially invisible window with the specified Frame as its owner.
2 Window(Window owner) 
Constructs a new, initially invisible window with the specified Window as its owner.
3 Window(Window owner, GraphicsConfiguration gc) 
Constructs a new, initially invisible window with the specified owner Window and a GraphicsConfiguration of a screen device.

類方法

S.N. 方法及說明
1 void addNotify() 
Makes this Window displayable by creating the connection to its native screen resource.
2 void addPropertyChangeListener(PropertyChangeListener listener) 
Adds a PropertyChangeListener to the listener list.
3 void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) 
Adds a PropertyChangeListener to the listener list for a specific property.
4 void addWindowFocusListener(WindowFocusListener l) 
Adds the specified window focus listener to receive window events from this window.
5 void addWindowListener(WindowListener l) 
Adds the specified window listener to receive window events from this window.
6 void addWindowStateListener(WindowStateListener l) 
Adds the specified window state listener to receive window events from this window.
7 void applyResourceBundle(ResourceBundle rb) 
Deprecated. As of J2SE 1.4, replaced by Component.applyComponentOrientation.
8 void applyResourceBundle(String rbName) 
Deprecated. As of J2SE 1.4, replaced by Component.applyComponentOrientation.
9 void createBufferStrategy(int numBuffers) 
Creates a new strategy for multi-buffering on this component.
10 void createBufferStrategy(int numBuffers, BufferCapabilities caps) 
Creates a new strategy for multi-buffering on this component with the required buffer capabilities.
11 void dispose() 
Releases all of the native screen resources used by this Window, its subcomponents, and all of its owned children.
12 AccessibleContext getAccessibleContext() 
Gets the AccessibleContext associated with this Window.
13 BufferStrategy getBufferStrategy() 
Returns the BufferStrategy used by this component.
14 boolean getFocusableWindowState() 
Returns whether this Window can become the focused Window if it meets the other requirements outlined in isFocusableWindow.
15 Container getFocusCycleRootAncestor() 
Always returns null because Windows have no ancestors; they represent the top of the Component hierarchy.
16 Component getFocusOwner() 
Returns the child Component of this Window that has focus if this Window is focused; returns null otherwise.
17 Set<AWTKeyStroke> getFocusTraversalKeys(int id) 
Gets a focus traversal key for this Window.
18 GraphicsConfiguration getGraphicsConfiguration() 
This method returns the GraphicsConfiguration used by this Window.
19 List<Image> getIconImages() 
Returns the sequence of images to be displayed as the icon for this window.
20 InputContext getInputContext() 
Gets the input context for this window.
21 <T extends EventListener> T[] getListeners(Class<T> listenerType) 
Returns an array of all the objects currently registered as FooListeners upon this Window.
22 Locale getLocale() 
Gets the Locale object that is associated with this window, if the locale has been set.
23 Dialog.ModalExclusionType getModalExclusionType() 
Returns the modal exclusion type of this window.
24 Component getMostRecentFocusOwner() 
Returns the child Component of this Window that will receive the focus when this Window is focused.
25 Window[] getOwnedWindows() 
Return an array containing all the windows this window currently owns.
26 Window getOwner() 
Returns the owner of this window.
27 static Window[] getOwnerlessWindows() 
Returns an array of all Windows created by this application that have no owner.
28 Toolkit getToolkit() 
Returns the toolkit of this frame.
29 String getWarningString() 
Gets the warning string that is displayed with this window.
30 WindowFocusListener[] getWindowFocusListeners() 
Returns an array of all the window focus listeners registered on this window.
31 WindowListener[] getWindowListeners() 
Returns an array of all the window listeners registered on this window.
32 static Window[] getWindows() 
Returns an array of all Windows, both owned and ownerless, created by this application.
33 WindowStateListener[] getWindowStateListeners() 
Returns an array of all the window state listeners registered on this window.
34 void hide() 
Deprecated. As of JDK version 1.5, replaced by setVisible(boolean).
35 boolean isActive() 
Returns whether this Window is active.
36 boolean isAlwaysOnTop() 
Returns whether this window is an always-on-top window.
37 boolean isAlwaysOnTopSupported() 
Returns whether the always-on-top mode is supported for this window.
38 boolean isFocusableWindow() 
Returns whether this Window can become the focused Window, that is, whether this Window or any of its subcomponents can become the focus owner.
39 boolean isFocusCycleRoot() 
Always returns true because all Windows must be roots of a focus traversal cycle.
40 boolean isFocused() 
Returns whether this Window is focused.
41 boolean isLocationByPlatform() 
Returns true if this Window will appear at the default location for the native windowing system the next time this Window is made visible.
42 boolean isShowing() 
Checks if this Window is showing on screen.
43 void pack() 
Causes this Window to be sized to fit the preferred size and layouts of its subcomponents.
44 void paint(Graphics g) 
Paints the container.
45 boolean postEvent(Event e) 
Deprecated. As of JDK version 1.1 replaced by dispatchEvent(AWTEvent).
46 protected void processEvent(AWTEvent e) 
Processes events on this window.
47 protected void processWindowEvent(WindowEvent e) 
Processes window events occurring on this window by dispatching them to any registered WindowListener objects.
48 protected void processWindowFocusEvent(WindowEvent e) 
Processes window focus event occuring on this window by dispatching them to any registered WindowFocusListener objects.
49 protected void processWindowStateEvent(WindowEvent e) 
Processes window state event occuring on this window by dispatching them to any registered WindowStateListener objects.
50 void removeNotify() 
Makes this Container undisplayable by removing its connection to its native screen resource.
51 void removeWindowFocusListener(WindowFocusListener l) 
Removes the specified window focus listener so that it no longer receives window events from this window.
52 void removeWindowListener(WindowListener l) 
Removes the specified window listener so that it no longer receives window events from this window.
53 void removeWindowStateListener(WindowStateListener l) 
Removes the specified window state listener so that it no longer receives window events from this window.
54 void reshape(int x, int y, int width, int height) 
Deprecated. As of JDK version 1.1, replaced by setBounds(int, int, int, int).
55 void setAlwaysOnTop(boolean alwaysOnTop) 
Sets whether this window should always be above other windows.
56 void setBounds(int x, int y, int width, int height) 
Moves and resizes this component.
57 void setBounds(Rectangle r) 
Moves and resizes this component to conform to the new bounding rectangle r.
58 void setCursor(Cursor cursor) 
Set the cursor image to a specified cursor.
59 void setFocusableWindowState(boolean focusableWindowState) 
Sets whether this Window can become the focused Window if it meets the other requirements outlined in isFocusableWindow.
60 void setFocusCycleRoot(boolean focusCycleRoot) 
Does nothing because Windows must always be roots of a focus traversal cycle.
61 void setIconImage(Image image) 
Sets the image to be displayed as the icon for this window.
62 void setIconImages(List<? extends Image> icons) 
Sets the sequence of images to be displayed as the icon for this window.
63 void setLocationByPlatform(boolean locationByPlatform) 
Sets whether this Window should appear at the default location for the native windowing system or at the current location (returned by getLocation) the next time the Window is made visible.
64 void setLocationRelativeTo(Component c) 
Sets the location of the window relative to the specified component.
65 void setMinimumSize(Dimension minimumSize) 
Sets the minimum size of this window to a constant value.
66 void setModalExclusionType(Dialog.ModalExclusionType exclusionType) 
Specifies the modal exclusion type for this window.
67 void setSize(Dimension d) 
Resizes this component so that it has width d.width and height d.height.
68 void setSize(int width, int height) 
Resizes this component so that it has width width and height height.
69 void setVisible(boolean b) 
Shows or hides this Window depending on the value of parameter b.
70 void show() 
Deprecated. As of JDK version 1.5, replaced by setVisible(boolean).
71 void toBack() 
If this Window is visible, sends this Window to the back and may cause it to lose focus or activation if it is the focused or active Window.
72 void toFront() 
If this Window is visible, brings this Window to the front and may make it the focused Window.

繼承的方法

這個類繼承的方法從以下類:

  • java.awt.Window

  • java.awt.Container

  • java.awt.Component

  • java.lang.Object

Window 範例

選擇使用任何編輯器建立以下java程式 D:/ > AWT > com > yiibai > gui >

AwtContainerDemo
package com.yiibai.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); 
      } 
   }
}

編譯程式,使用命令提示字元。進入到D:/> AWT,然後鍵入以下命令。

D:AWT>javac comyiibaiguiAwtContainerDemo.java

如果沒有錯誤出現,這意味著編譯成功。使用下面的命令來執行程式。

D:AWT>java com.yiibai.gui.AwtContainerDemo

驗證下面的輸出

AWT Window