当前位置:首页 » 编程语言 » 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 02:49:17 浏览:339
服务器少个阵列卡盘符怎么找出来 发布:2025-05-11 02:34:07 浏览:635
斗地主源码开发 发布:2025-05-11 02:24:07 浏览:366
云服务器怎么设置攻击 发布:2025-05-11 02:22:09 浏览:826
python嵌套for循环 发布:2025-05-11 01:51:44 浏览:228
安卓怎么取消后台限制 发布:2025-05-11 01:45:45 浏览:258
一键搭建sk5服务器 发布:2025-05-11 01:40:09 浏览:514
鸿业acs加密锁模拟器 发布:2025-05-11 01:38:49 浏览:938
神庙逃亡2安卓版怎么玩 发布:2025-05-11 01:38:05 浏览:163
凯杰都什么配置 发布:2025-05-11 01:38:04 浏览:472