在組件上顯示圖象(轉)
首先要說明的是,在組件上方便的顯示圖象是 swing 比 AWT 優越的特性之一,暫時我還沒看到如何
在 AWT
中實現這一方法,如果你知道,請來信告訴我。
在 swing 中,button, lable 等組件都可輕易的用圖象來改變它的外觀,以 button
為例,當創建一
個 button 對象的時候通常是這樣的:
JButton button = new JButton("Click
me");
這樣就創建了一個 button 對象,上面顯示的文字是 Click me.
現在我們來稍做改動:
ImageIcon
buttonIcon = new ImageIcon("button.gif", "a background of button");
JButton
button = new JButton(buttonIcon);
這兩行代碼就達到了目的,在 button 上顯示了圖象
button.gif,注意我們用的是 ImageIcon 類,而
不是 Image 類。ImageIcon 中的第二個參數是對 ImageIcon
對象的描述,這個參數以后可能會被
assistive 技術用到。
如果想在 button
上同時顯示文字和圖象,還可以這樣:
JButton button = new JButton("Click me",
buttonIcon);
另外,還可以定義圖象在 組件上的位置,如:
JButton button = new JButton("Click
me", buttonIcon, JButton.CENTER);
最后,在順便的講一下如何改變你的 applet/application
上角的那個小圖標,怎么樣,看那杯咖啡厭煩了把?
讓我們來換上自己的圖標吧,我用的是setIconImage方法。
在
applet中,定義了一個image對象后就可以直接以它為參數來使用 setIconImage() 方法了,
而在 application 中,還需要由
ImageIcon 類轉換到 Image 對象去??赡苁俏冶?,不知道如何在application中
有什么簡單的辦法可以直接使用 Image
類,誰知道請寫信給我,十分感謝。
URL imgURL =
getClass().getResource("title.gif");
ImageIcon icon = new ImageIcon(imgURL);
setIconImage(icon.getImage()); [@more@]