明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

如何制作透明組件。

[摘要]懶得寫說明了,大家應(yīng)該能看懂。這是一個(gè)透明面板的例子,可仿此法制作其它透明組件。有問題給我來信。8-)希望與大家分享經(jīng)驗(yàn)。package com.borland.samples.welcome;import java.awt.*;public class MyPanel extends Panel...
懶得寫說明了,大家應(yīng)該能看懂。這是一個(gè)透明面板的例子,可仿此法制作其它透明組件。有問題給我來信。8-)

希望與大家分享經(jīng)驗(yàn)。

package com.borland.samples.welcome;

import java.awt.*;
public class MyPanel extends Panel {
private Image bi; // offscreen image
private Graphics big; // Graphics for the offscreen image
public void update(Graphics g) {
paint(g);
}
public void paint(Graphics g) {
if (bi == null) { // you can't do this from the constructor
bi = createImage(getSize().width,getSize().height);
big = bi.getGraphics();
}
Rectangle area = g.getClipBounds(); // this is the area that needs to be (re)painted (no need to repaint everything)
big.setClip(area);
big.clearRect(area.x, area.y, area.width, area.height); // fills the area with the background color// the next statement will call the paint methods for the other panels/components you have added to this panel// and draw them to the offscreen image
super.paint(big);// now draw the offscreen image to the panel
g.drawImage(bi,area.x, area.y, area.x+area.width, area.y+area.height,area.x, area.y, area.x+area.width, area.y+area.height,this);
}
}