導航:首頁 > 編程語言 > java按鈕透明

java按鈕透明

發布時間:2022-07-17 00:14:05

『壹』 java 怎麼讓JLabel和JPanel透明

import javax.swing.*;

import java.awt.*;

public class BackGround extends JFrame {
Container content;
Toolkit toolkit;
JLabel bkLabel = new JLabel(); // 背景圖片標簽
JLabel horseLabel = new JLabel();
JButton bButton;
int screenWidth, screenHeight, WIDTH, HEIGHT;
ImageIcon backImage, bImage;
BackGround() {
content = getContentPane();
toolkit = Toolkit.getDefaultToolkit();
screenWidth = toolkit.getScreenSize().width;
screenHeight = toolkit.getScreenSize().height;
bImage = new ImageIcon("pic/logo.jpg");
//我的笨方法
JLabel image_lab = new JLabel(new ImageIcon("D:\\pic\\logo.jpg"));
//編譯的時候會幫你把文件拷貝到classes目錄下面去
//同時要達到LZ的效果很簡單,兩個Panel。直接覆蓋的話,如果覆蓋面板小於底層面板,當滑鼠移動到底層面板區域。則顯示了,所以建議加上 //setEnabled(false);這樣做LZ你不覺得復雜了嗎?你直接在我的image_lab 上載入組件不行嗎?或者你先都把組件隱藏了,等用戶觸發事件再顯//示也可以啊。
//
backImage = new ImageIcon("pic/background.gif");
bkLabel.setIcon(backImage);
bkLabel.setOpaque(true);
WIDTH = backImage.getIconWidth();
HEIGHT = backImage.getIconHeight();
content.add(bkLabel, -1); // 添加背景圖片
bButton = new JButton(bImage);
JPanel panel2 = new JPanel();
panel2.setOpaque(false); // 設置panel2背景透明
panel2.setPreferredSize(new Dimension(40, 40));
panel2.add(bButton);
content.add(panel2);
validate();
setBounds(300, 200, WIDTH, HEIGHT);
setLocation((screenWidth - WIDTH) / 2, (screenHeight - HEIGHT) / 2);
setSize(WIDTH, HEIGHT);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}

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

『貳』 JAVA 怎麼才能把按鈕變成透明

setOpaque()方法設置透明連字也看不到;
//建議你用JLabel,你可以這樣寫,

JLabel b= new JLabel("123");
b.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
//........
}

})

『叄』 java 中JButton設置為透明的

		JButtonb=newJButton("test");
b.setContentAreaFilled(false);
con.add(b);
con.setBackground(Color.red);

『肆』 java怎麼把JButoon設置為透明

仔細看文檔,
應該用
setContentAreaFilled(false)

setBorderPainted(false),
而不要用
setOpaque(false)。
因為
setContentAreaFilled()
方法只是「可能」造成組件的不透明屬性發生更改。
===================================================================
public
void
setContentAreaFilled(boolean
b)
設置
contentAreaFilled
屬性。如果該屬性為
true,則按鈕將繪制內容區域。如果希望有一個透明的按鈕,比如只是一個圖標的按鈕,那麼應該將此屬性設置為
false。不要調用
setOpaque(false)。contentAreaFilled
屬性的默認值為
true。
此方法可能造成組件的不透明屬性發生更改。
調用此方法的具體行為在各個組件和各個
L&F
之間是各不相同的。
參數:
b
-
如果為
true,則應該填充內容;如果為
false,則不填充內容區域

『伍』 Java 如何實現透明窗口

我的電腦->屬性>高級>環境變數>系統變數中添加以下幾個變數.path(變數): (值) %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%java_home%\bin;C:\Program Files\Microsoft SQL Server\80\Tools\BINN(要是這個變數名你的有的話,你在它裡面適當位置添加%java_home%參照我的配置值進行設置.classpath : %java_home%\lib\tools.jar;%java_home%\jre\lib\rt.jar;這個是添加的java_home: C:\Program Files\Java\jdk1.5.0這個是JAVA的安裝路徑,你的安裝在那裡就適當的修改父路徑.配置好了環境變數就能運行JAVA了。至於JAVA詳細的怎麼用,你可以在網上搜下.以上不知道對你有沒有幫助.

『陸』 java我在按鈕上貼加了圖片背景但圖片原來透明的部分顯示為灰色了,要怎麼解決

把按鈕的背景色設為透明,你看到的灰色是按鈕默認的背景色。

『柒』 JAVA SWING如何讓一個按鈕半透明

Java Swing視頻教程:

『捌』 在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中怎樣讓panel完全透明,只顯示上面的圖片

import javax.swing.* ;
public class 1 {
public static void main(String args[]){

ImageIcon img = new ImageIcon("1.jpg"); /*負責顯示圖像的JLable對象j1*/
JLabel jl = new JLabel(img);

JPanel j = new JPanel() ; /*在JFrame上add上面板j*/
JFrame jf = new JFrame() ;
jf.setContentPane(j) ;

j.add(jl) ; /*在面板j上add上JLable對象j1*/

JPanel jjj = new JPanel() ; /*創建一個透明的面板放在JLable對象j1上負責放控制項,此例中放置了一個按鈕*/
jl.add(jjj) ;
jjj.setSize(200, 100) ; /*這里注意要設置大小*/
jjj.setOpaque(false) ; /*將負責放置控制項的面板設置成透明,詳細請查API*/
jjj.add(new JButton("確定")) ; /*添加按鈕*/

jf.setVisible(true) ;
jf.setSize(500, 300) ;
}
}
容器從頂層開始順序如下:
jf(JFrame對象實例) --> j (JPanel對象實例,無須設置透明) --> j1(JLable對象實例,負責顯示圖片)
--> jjj(JPanel對象實例,負責放置控制項,需要設置成透明才不會讓自身的底色覆蓋了上層圖片)

閱讀全文

與java按鈕透明相關的資料

熱點內容
重生之北美建國 瀏覽:128
每天工作4小時的程序員 瀏覽:461
香港學生犯罪電影 瀏覽:867
0855aa 瀏覽:504
哪裡買小電影軟體 瀏覽:856
無法連接伺服器上不了怎麼處理 瀏覽:247
android怎樣讀 瀏覽:615
螺紋底經演算法 瀏覽:781
西門子plc編程官網 瀏覽:611
寶寶吃進口燕窩溯源碼 瀏覽:319
重生國民黨殘軍稱王小說 瀏覽:531
鐵路停時演算法 瀏覽:698
姜恩惠主演的電影 瀏覽:987
保存密碼刪除文件夾 瀏覽:321
島國電影app 瀏覽:547
從命令模式切換為編輯模式 瀏覽:94
南京噪音小壓縮機配件 瀏覽:433
編程改變角色的速度 瀏覽:317
獵殺k線主圖源碼 瀏覽:173
ros單片機節點 瀏覽:670