java核心技術卷 之框架屬性

           JFrame類本身只包含若干個改變框架外觀的方法。當然,通過繼承,從JFrame的各個 超類中繼承了許多用於處理框架大小和位置的方法I其中最重要的有下面幾個:

 setLocation和setBounds方法用於設置框架的位置

setlconlmage用於告訴窗口系統在標題欄、任務切換窗口等位置顯示哪個圖標。

setTitle用於改變標題欄的文字。

setResizable利用—個boolean確定框架的大小是否允許用戶改變

JFrame類的繼承層次:


        組件類的很多方法是以獲取/設置方法對形式出現的。例如,Frame類的下列力法: 

public String getTitle()

public void setTitle(String title) 

        這樣的一個獲取/設置方法對被稱爲一種屬性。屬性包含屬性名和類型。將get或set之後的第一個字母改爲小寫字母就以得到相應的厲性名例如,Frame類有一個名爲title且類型爲String的屬性。

        爲了得到屏幕的大小,需要按照下列步驟操作調用Toolkit類的靜態方法getDcfaultToolkit 得到一個Toolkit對象(Toolkit類包含很多與本地窗口系統打交道的方法)。然後,凋用 getScrecnSize方法,這個方法以Dimension對象的形式返回屏幕的大小。Dimension對象同時用公冇實例變量width和height保存着屏幕的寬度和高度。下而是相關的代碼: 

Toolkit kit = Toolkit.getDefaultToolkit(); 

Dimension screenSize = kit.getScreenSize(); 

int screenWidth = screenSize.width; 

int screenHeight = screenSize.height; 

下面,將框架大小設定爲上面取值的50%,然後,告知窗口系統定位框架: 

setSize(screenWidth / 2, screenHeight / 2); 

setLocationByPlatfonn(true);

下面是示例程序:

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

/**
 * Created by IBM on 2017/9/8.
 */
public class SizeFrameTest {
    public static void main(String[]args){
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                SizeFrameTest.SizedFrame frame=new SizeFrameTest().new SizedFrame();
                frame.setTitle("sizedFrame");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);//顯示框架
            }
        });
    }
    class  SizedFrame extends JFrame{
        public SizedFrame(){
            //爲了得到屏幕的大小,需要按照下列步驟操作調用Toolkit類的靜態方法getDcfaultToolkit得到一個Toolkit對
            // 象(Toolkit炎包含很多與本地窗N系統打交道的力法)。然後,凋用getScrecnSiz方法,這個方法以Dimension
            // 對象的形式返回屏幕的大小。Dimension對象同時用公有實例變量width和height保存着屏幕的寬度和高度
            Toolkit kit=Toolkit.getDefaultToolkit();//
            Dimension screenSize=kit.getScreenSize();
            int screenHeight=screenSize.height;
            int screenWidth=screenSize.width;

            //下面,將框架大小設定爲上面取值的50%,然後,告知窗口系統定位框架:
            setSize(screenWidth/2,screenHeight/2);
            setLocationByPlatform(true);

            Image img=new ImageIcon("bookBorrowtb.jpg").getImage();
            setIconImage(img);
        }
    }

}

運行結果:


api

java.awt. Component 1.0

• boolean isVisible()

• void setVisible(boolean b)

獲取或設置visible屈性。組件最初是可見的,但JFrame這樣的頂層組件例外。

• void setSize(int width, int height) 1.1

使用給定的寬度和高度,重新設置組件的大小。

• void setLocation( int x , int y) 1.1

將組件移到一個新的位罝上。如果這個組件不是頂層組件,x和y座標(或者p.x和p.y) 是容器座標;否則是屏幕座標(例如:aJFrame)。

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

移動並重新設置組件的大小。

• Dimension getSize( ) 1.1

• void setSi ze(Dimensiond) 1.1

獲取或設置當前組件的size屬性。

java.awt. Window 1.0
• void toFront()
將這個窗門顯示在其他窗口前面。
• void toBack()
將這個窗口移到桌面窗口棧的後,並重新排列所有的可見窗口
• boolean i sLocati onByPlatform() 5.0 

• void setLocationByPlatform(boolean b) 5.0
獲取或設置locationByPlatform厲性。這個屬性在窗口顯示之前被設置,由平臺選擇一 個合適的位置。

java.awt,Frame 1.0
• boolean i sResizable()
• void setResizable(boolean b)
獲取或設罝resizable屬性。這個屬性設罝後,用戶可以重新設置框架的大小。
• String getTitle()
• void setTitle(String s)
獲取或設置title屬性,這個屬性確走框架標題欄中的文字。
Image getlconlmage()

void setIconImage(Image image)

獲取或設置iconImage屬性,這個屬性確定框架的圖標。窗口系統可能會將圖標作爲框架裝飾或其他部位的一部分顯示。

• boolean isUndecorated( ) 1.4
• void setUndecorated( boolean b) 1. 4

獲取或設置undecorated屬性。這個屬件設置後,框架顯示中將沒有標題欄或關閉按鈕這樣的裝飾。在框架顯示之前,必須凋用這個方法。 

•int getExtendedState() 1.4

• void setExtendedState(int state ) 1.4

獲取或設置窗門狀態。狀態是下列值之一。 

Frame. NORMAL 

Frame.IC0NIFIE0 

Frame. MAXIMIZE0.H0RIZ

Frame.MAXIMIZEDVERT 

Frame. f4AXIMIZEDJ0TH

java.awtToolkit 1.0
• static Toolkit getDefaultToolki t()
返回默認的工具筘。
• Dimension getScreenSize()

返冋用戶屏幕的尺寸。 

javax.swing.lmageIcon 1.2

• Imagelcon(String filename)
構造一個圖標,K:閣像存儲在一個文件中。
• Image getlmage()

獲得該圖標的圖像。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章