close

1. 監聽視窗大小變化

JFrame裡設置addWindowStateListener() 方法,可監聽視窗大小變化之事件,並依需求撰寫所需之程式。

 

◎程式範例:

importjava.awt.event.WindowEvent;

importjava.awt.event.WindowStateListener;

 

<……>

 

this.addWindowStateListener(newWindowStateListener () {

public voidwindowStateChanged(WindowEvent state) {

if(state.getNewState() == 1 || state.getNewState() == 7) {

System.out.println("視窗最小化");

} else if(state.getNewState() == 0) {

System.out.println("視窗恢復到原本的視窗大小");

} else if(state.getNewState() == 6) {

System.out.println("視窗最大化");

}

}

});

 

2. BorderLayout版面重覆疊放之衍伸問題

◎問題描述:

BorderLayout版面重覆疊放於Center之樣版後,隱藏最初之樣版,但因需求移除後放之樣版並將最初樣版顯示後,無法同步縮放大小之問題。

 

◎解決:

原本以為該問題是無設置監聽視窗大小變化之事件所造成,結果經實驗,是因為BorderLayout版面會把重覆疊放於Center之樣版保留給最後一個使用樣版,如要將其回復可同步縮放大小的話,只需重新設置即可(如:panelBg.add(panelMain, BorderLayout.CENTER);)。

 

 

 

 

arrow
arrow
    創作者介紹
    創作者 Elsa 的頭像
    Elsa

    Elsaの程式學習筆記

    Elsa 發表在 痞客邦 留言(0) 人氣()