java中如何改变状态栏_如何创建状态栏
Sketcher程序的一個局限性在于,你不能直接得到有關當前所選圖元的類型和顏色的反饋信息。對于顯示各種應用程序參數的狀態來說,應用Windows的狀態欄是一種通用、便捷的方式。
我們可以構造自己的StatusBar類,它將定義一個狀態欄。理想的方法是設計一個通用的狀態欄,然后再為Sketcher定制它,但實際上我們將采用一種簡單方法,即為Sketcher設計一個特定的狀態欄類。JPanel類描述了窗格,所以它是構造StatusBar,類的合適的基類。我們可以使用JLabel類作為定義狀態欄窗格的基類,為了突出顯示再加一個凹形的邊框。
我們從在Skether的底部構造一個具有兩個窗格的狀態欄開始,這兩個窗格分別顯示了當前圖元的類型和顏色。此后我們就可以準確地知道將要繪制的圖元。我們先定義一個StatusBar類,用它來描述應用程序窗口中的狀態欄,然后在Statusl3ar類中再定義一個StatusPane類。、
這是一個StatusBar類的最初定義:
//class defining a status bar
import?javax.swing.*;
如何工作因為StatusBar實現了Constants接口,所以所有描述可用圖元類型和顏色的變量都可以使用。StatusBar的框架版木有兩個StatusPane類烈的數據成員,它們分別明來顯示當前的顏色和圖元的類型。StatusPane最初顯示的信息作為String對象傳遞給構造函數。
在StatusBar的構造數中,我們通過調用SetColorPane()和setTypePane()方法更新每個窗格上的顯示信息。這樣做就確保了StatnsPane對象最初將顯示我們為應用程序定義的默認顏色以及圖元類型。在需要更新狀態欄時,就要凋用這些方法中的某一個或幾個。當我們結束了StatusPane的細節內容后,也就完成了setColorPane()和setTypePanse()的定義。
StatusBar窗格有一個在構造函數中設置的F1owLayout管理器。狀態欄中的窗格僅顯示少量的文本,因此我們從J1abe1類派生了StatusPane類,這樣一來狀態欄下的窗格就是一種特殊的Jlahel.這就意味著我們可以調用從Jlahel繼承過來的setText()方法為自己的StatusPane設置文木。當這些文木加到狀態欄時,StatusPane對象將左對齊,這是由 StatusBar構造函數中調用sETLayout()方法的第一個自變量決定的。布局管理器將會在狀態欄的窗格之間的水平方向留出10個像素的間隔,在組件之間的垂直方向留出3個像素的間隔。狀態欄的邊框是一條暗灰色的線,它是利用BorderFactory方法添加的。
在StatusFane類中惟一的數據成員是Font類型的對象font.我們為窗格文本定義了大小為10磅的標準Serif字體。在構造函數中,我們將背景顏色設置為淺灰色,前景顏色設置為暗灰色以及標準字體。我們還調用了繼承過來的方法setHorizontalAlignment(),將對齊方式用CENTER設置為中心對齊,這是在基類JLahel中定義的。
如果我們可以保持每個窗格的寬度固定不變,在更改文本內容時,就更改以防止來回跳躍。因此我們可以用setPreferredSize()方法將窗格的尺寸設置為最長文本所需的最小值。最后在StatusPane的構造函數中通過調用繼承過來的setText()方法設置窗格的文本。
總結
以上是生活随笔為你收集整理的java中如何改变状态栏_如何创建状态栏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java spring框架怎么学_JAV
- 下一篇: java多线程对数组求和_java 多线