首页编程java编程java面板透明导入什么包,java中怎样让panel完全透明,只显示上面的图片

java面板透明导入什么包,java中怎样让panel完全透明,只显示上面的图片

编程之家2023-10-1294次浏览

本篇文章给大家谈谈java面板透明导入什么包,以及java中怎样让panel完全透明,只显示上面的图片对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

java面板透明导入什么包,java中怎样让panel完全透明,只显示上面的图片

java中怎样让panel完全透明,只显示上面的图片

import javax.swing.*;

public class baiduzhidao1{

public static void main(String args[]){

java面板透明导入什么包,java中怎样让panel完全透明,只显示上面的图片

ImageIcon img= new ImageIcon("1.jpg");/*负责显示图像的JLable对象j1*/

JLabel jl= new JLabel(img);

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

java面板透明导入什么包,java中怎样让panel完全透明,只显示上面的图片

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怎么给窗体边框四周添加阴影和半透明

java swing是提供了设置阴影和透明度的方法的,示例如下:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import com.sun.awt.AWTUtilities;

导入 AWTUtilities可能会提示:访问限制:由于对必需的库 C:\Program Files\Java\jre6\lib\rt.jar具有一定限制,因此无法访问类型 AWTUtilities,请到eclipse进行设置:窗口》首选项》java》编译器》错误警告选择代码样式》访问外层不可访问成员》把错误修改成功警告

public class Ceshi extends JFrame

{

public Ceshi()

{

JLabel label=new JLabel("这是一个标签!");

label.setOpaque(false);

label.setHorizontalAlignment(JLabel.CENTER);

add(label);

setSize(600,400);

setLocationRelativeTo(null);

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

//Opacity最大值为1.0f,也就是什么也不透明,取值不能大于1.0f

AWTUtilities.setWindowOpacity(this,0.5f);

setVisible(true);

}

public static void main(String[] args)

{

new Ceshi();

}

}

java swing 的jPanel背景颜色能否设置为透明,代码怎么写

设置颜色:

把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中怎样让panel完全透明,只显示上面的图片问题对您有所帮助,还望关注下本站哦!

什么是java标识符?什么是java的合法标识符java主函数为什么可以访问非静态,java中main方法里面调用非静态方法。