當前位置:首頁 » 編程語言 » java透明

java透明

發布時間: 2022-05-13 06:18:14

java窗口透明化

這個問題應該是你沒有導入com.sun.awt.awt.awt.AWTUtilities這個包,因為以com或者sun開頭的包不是javase基礎類庫中的包,所以你要是在使用它們的時候需要單獨設置它們,如果你使用的是myeclipse的話,你可以這樣進行配置
右鍵項目名稱----->Propreties------>Libraries------>展開JRE(單擊JRE System...前面的+號)------>雙擊Access Rule...------>單擊add------>把Forbidden變為Accessible 同時Rule Pattern中添加 com/**----->確定完畢了~~~~

② 在java中怎麼設置滾動面板為透明

設置顏色:
把pan - pan6的Background設為Null,這樣他們就變為透明的了,以後只需要改變inquestFrame的顏色就可以改變全部的顏色,代碼如下:
// 設置整體布局
JPanel pan = new JPanel();
pan.setLayout(new GridLayout(6, 1));
pan.add(pan1);
pan.add(pan2);
pan.add(pan3);
pan.add(pan4);
pan.add(pan5);
pan.add(pan6);
pan.setBackground(null);
pan1.setBackground(null);
pan2.setBackground(null);
pan3.setBackground(null);
pan4.setBackground(null);
pan5.setBackground(null);
pan6.setBackground(null);
r1.setBackground(null);
r2.setBackground(null);
inquestFrame.setBackground(Color.LIGHT_GRAY);
inquestFrame.setContentPane(pan);
inquestFrame.setSize(300, 250);
inquestFrame.setVisible(true);

設置圖片需要改的比較多,自己比較那不一樣吧:
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;

import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;

public class Inquest {
JFrame inquestFrame;
JLabel lab1, lab2, lab3, lab4, lab5, lab6;
JTextField text1, text2, text4, text5, text6;
JRadioButton r1, r2;
JButton inqButton;

public Inquest() {
inquestFrame = new JFrame("教育經歷管理系統-查詢窗口");
MyPanel pan1 = new MyPanel();
lab1 = new JLabel("請輸入編碼:");
text1 = new JTextField(10);
inqButton = new JButton(" 查詢");
inqButton.addActionListener(new ButtonHandler());
pan1.add(lab1);
pan1.add(text1);
pan1.add(inqButton);

MyPanel pan2 = new MyPanel();
lab2 = new JLabel("姓名:");
text2 = new JTextField(10);
pan2.add(lab2);
pan2.add(text2);

MyPanel pan3 = new MyPanel();
lab3 = new JLabel("性別:");
r1 = new JRadioButton("男");
r2 = new JRadioButton("女");
// 把兩個單選按鈕放到一個群組中,保持二選一
ButtonGroup group = new ButtonGroup();
group.add(r1);
group.add(r2);

pan3.add(lab3);
pan3.add(r1);
pan3.add(r2);
MyPanel pan4 = new MyPanel();
lab4 = new JLabel("單位:");
text4 = new JTextField(10);
pan4.add(lab4);
pan4.add(text4);

MyPanel pan5 = new MyPanel();
lab5 = new JLabel("職位:");
text5 = new JTextField(10);
pan5.add(lab5);
pan5.add(text5);

MyPanel pan6 = new MyPanel();
lab6 = new JLabel("年齡:");
text6 = new JTextField(10);
pan6.add(lab6);
pan6.add(text6);

// 設置整體布局
MyPanel pan = new MyPanel();
pan.setLayout(new GridLayout(6, 1));
pan.add(pan1);
pan.add(pan2);
pan.add(pan3);
pan.add(pan4);
pan.add(pan5);
pan.add(pan6);
pan.setBackground(null);
pan1.setBackground(null);
pan2.setBackground(null);
pan3.setBackground(null);
pan4.setBackground(null);
pan5.setBackground(null);
pan6.setBackground(null);
r1.setBackground(null);
r2.setBackground(null);

MyPanel pan0 = new MyPanel();
pan0.setPreferredSize(pan.getPreferredSize());
pan0.setLayout(null);
pan.setBounds(0, 0, pan.getPreferredSize().width, pan.getPreferredSize().height);
URL url = Inquest.class.getResource("Winter.jpg");
ImageIcon img = new ImageIcon(url);
JLabel lab = new JLabel(img);
lab.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
pan0.add(pan);
pan0.add(lab);
inquestFrame.setContentPane(pan0);
inquestFrame.pack();
inquestFrame.setVisible(true);

}

public static class MyPanel extends JPanel {
public void paint(Graphics g) {
paintChildren(g);
}
}

public void setBack() {
((JPanel) inquestFrame.getContentPane()).setOpaque(false);
// Winter.jpg這個圖片的位置要跟當前這個類是同一個包下
URL url = Inquest.class.getResource("Winter.jpg");
ImageIcon img = new ImageIcon(url);

JLabel background = new JLabel(img);
inquestFrame.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
}

class ButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {

// 生成SQL語句
String s = "select * from information where id=" + "'" + text1.getText() + "'";

String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:test";

// DB db = new DB(driver, url, "sa", "");
// ResultSet rs = db.query(s);
// try {
// while (rs.next()) {
// text2.setText(rs.getString(2));
// String sex = rs.getString(3);
// if (sex.trim().equals("男"))
// r1.setSelected(true);
// else
// r2.setSelected(true);
//
// text4.setText(rs.getString(4));
// text5.setText(rs.getString(5));
// text6.setText(rs.getString(6));
// }
// } catch (Exception e2) {
// e2.printStackTrace();
// }

}
}

public static void main(String args[]) {
new Inquest();
}

}

③ java 組件 透明 和非透明是什麼意思

透明不會顯示這個組件,但組件任然存在,只是不現實而已,既然不顯示定義顏色就沒什麼用。不透明會顯示組件。

④ java的按鈕顏色可以設置為透明的嗎

當然可以,Button透明背景設置方法:
方法1:JButton b1=new JButton();
b1.setOpaque(false);
b1.setColor(new Color(2,2,2)); //此顏色值隨便設置,只起佔位作用,但是必須加上此句,否則不會出現透明背景效果。
b1..setIcon(new ImageIcon("bin/filechooser/image/rec.gif"));
方法2:JButton b2=new JButton();
b2.setContentAreaFilled(false); //只須加上此句
b2.setIcon(new ImageIcon("bin/filechooser/image/rec.gif"));

⑤ java中怎麼設背景圖片透明

java不能設背景圖片透明,除非連窗體一起透明了。
背景圖片透明了,還要背景圖片幹啥?
還是說背景圖片周圍有一些不想要的顏色?
這個只能處理圖片,把需要的顏色留下,不需要的顏色刪除就行了。

⑥ Java中設置背景圖片透明的是哪個方法

要在JFrame上添加背景圖片,常見做法是加在layeredPane上面,並將contentPane設置成透明的即可。
// 將圖片添加到layeredPane
ImageIcon img = new ImageIcon("steve.jpg");
JLabel imgLabel = new JLabel(img);
frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight());
// 將contentPane設置成透明的

⑦ 覺著java語言中,「透明」的理解

簡單點理解,你就想像成方法

方法,你只要給我東西,至於具體方法裡面對這個東西(對象)是怎麼操作的,對於調用者透明。

調用者只知道,這個方法我可以調用,可以返回什麼,但是裡面具體怎麼操作(實現細節),不知道。

⑧ java,的組件如何將java的組件的背景設置透明

java swing中將組件的背景設置成透明的示例如下:


importorg.eclipse.swt.*;
importorg.eclipse.swt.graphics.*;
importorg.eclipse.swt.layout.FillLayout;
importorg.eclipse.swt.widgets.*;
importorg.eclipse.swt.events.*;
publicclassTalpha{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
finalDisplaydisplay=newDisplay();
finalShellshell=newShell(display);
shell.setBackground(display.getSystemColor(SWT.COLOR_BLUE));
Canvascanvas=newCanvas(shell,SWT.NO_BACKGROUND);
//使用paintlistener,保證每次均重新繪制。
canvas.addPaintListener(newPaintListener(){
publicvoidpaintControl(PaintEvente){
GCgc=e.gc;
//讀圖像
ImageDataimageData=newImageData("1.jpg");
//這里是建立從左到右的漸進Alpha。
byte[]alphaValues=newbyte[imageData.height*imageData.width];
for(intj=0;j<imageData.height;j++){
for(inti=0;i<imageData.width;i++){
alphaValues[j*imageData.width+i]=(byte)(255-255
*i/imageData.width);
}
}
imageData.alphaData=alphaValues;
Imageimage=newImage(display,imageData);
//繪制
gc.drawImage(image,0,0);//關鍵點是這里設置背景顏色
}
});
FillLayoutfillLayout=newFillLayout();
fillLayout.type=SWT.VERTICAL;
shell.setLayout(fillLayout);
shell.setSize(200,600);
shell.open();
while(!shell.isDisposed()){
if(!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}

⑨ java如何設置透明窗體

1打開Java開發工具Eclipse軟體,依次選擇「文件」、「新建」、「項目」,在「新建項目」窗口中選擇「Java項目」,然後點擊「下一步」按鈕。
2在出現的窗體中的「項目名稱」後自定義輸入項目名,然後點擊「完成」按鈕完成項目的創建。
3右擊創建的項目,在右鍵列表中依次選擇「新建」、「類」,在「新建類」窗體中輸入自定義類名,勾選相應復選框,點擊「完成」按鈕完成類的創建。
4首先,做一些初始化窗體的工作,導入javax.swing.JFrame類,實現JFrame的繼承,初始化構造方法頭並在main方法內實例化此類以便做測試。
5下面,在構造方法中創建窗體,導入javax.swing.JButton類,在窗體內加入按鈕,保持按鈕默認的布局方式,最後設置窗體顯示,運行程序查看初始效果。
6運行Java程序後,將出現初始化窗體界面,用戶需關閉窗體做下一步代碼的編寫。
7添加按鈕BTN的ActionListenr()單擊事件,在出現的錯誤中點擊錯誤處,然後自動導入ActionListener類,但是仍然出現錯誤,用戶需再次點擊錯誤處以添加必要的方法實現。
8當用戶解決兩次錯誤後,系統自動導入了所需包和加入了所需單擊事件的必要方法。
9新建setOpacity()方法並在按鈕的單擊事件中調用此方法,然後在此類中作為屬性成員加入JSlider滑塊控制項。
10在新建的setOpacity()方法中添加如下代碼,設置dialog窗體的大小、位置、大小不可改變等屬性,用戶可自定義設置屬性。
11創建JLabel,添加slider滑塊的滑動事件,並在事件中加入方法slider(),當然此方法需要新建,待會再新建,讓我們先把setOpacity()方法中的代碼添加完成。
12繼續在setOpacity()方法中添加代碼,在窗體dialog中加入panel控制項,再將lable和slider加入到panel中。
13在方法slider()中添加代碼,獲取slider的值以改變透明度值,設置滑鼠移入滑塊時的滑鼠指針樣式。
14運行Java程序,並點擊按鈕,然後出現調整透明度的窗體,用戶就可以設置窗體透明度。

⑩ java完全透明是多少

完全透明是0,完全不透明是255;參考下面我寫的靜態java圖片透明度處理方法吧
/**
* 設置圖片透明度(異常則返回源圖片)
* @param img 源圖片
* @param alf 透明度(范圍0-1)
* @return
*/
public static Image alphaImage(Image img, double alf) {
if (img == null) {
return img;
}
alf = alf < 0 ? 0 : alf > 1 ? 1 : alf;

try{
int imgW = img.getWidth(null);
int imgH = img.getHeight(null);

BufferedImage bi = new BufferedImage(imgW, imgH, 3);
bi.getGraphics().drawImage(img, 0, 0, null);

int tmp = (int)(alf * 255.0);
for(int i = 0; i < imgW; i++){
for(int j = 0; j < imgH; j++) {
int rgb = bi.getRGB(i, j);
Color c = new Color(rgb);
Color cc = new Color(c.getRed(), c.getGreen(), c.getBlue(), tmp);
bi.setRGB(i, j, cc.getRGB());
}
}
return bi;
}catch(Exception e){
return img;
}
}

熱點內容
校園網可以搭建伺服器地址 發布:2025-05-11 04:54:40 瀏覽:784
noip演算法 發布:2025-05-11 04:53:51 瀏覽:50
有什麼我的世界伺服器啟動器 發布:2025-05-11 04:50:41 瀏覽:295
寫shell腳本 發布:2025-05-11 04:37:41 瀏覽:935
電腦伺服器打開有什麼用 發布:2025-05-11 04:36:49 瀏覽:98
sqlserver2008查詢時間 發布:2025-05-11 04:15:28 瀏覽:386
安卓孤膽車神被封號怎麼解封 發布:2025-05-11 04:05:22 瀏覽:940
高壓洗車泡沫怎麼配置 發布:2025-05-11 04:00:47 瀏覽:547
騰訊輕量伺服器怎麼使用 發布:2025-05-11 03:52:46 瀏覽:174
4位密碼組合有多少種至少有一個0 發布:2025-05-11 03:44:03 瀏覽:338