java 半透明的背景上放有鼠标监听事件的JLabel,JLabel所在的位置变成不透明
在java中在半透明的JPanel上面放了一个有鼠标事件监听的JLable,但是鼠标移动到JLabel上的时候,JLabel的背景就变成了JPanel的颜色的实色,怎么让...
在java中在半透明的JPanel上面放了一个有鼠标事件监听的JLable,但是鼠标移动到JLabel上的时候,JLabel的背景就变成了JPanel的颜色的实色,怎么让鼠标移动上的时候,JPanel还是半透明
展开
1个回答
2016-06-15
展开全部
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class Test {
private JFrame frame;
private JLabel label1;
private boolean flag=true;
public Test()
{
frame=new JFrame("标签测试");
label1=new JLabel("变红",JLabel.CENTER);
label1.setOpaque(true);
label1.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
if(flag)
{
label1.setBackground(Color.red);
flag=false;
}
else
{
label1.setBackground(Color.white);
flag=true;
}
}
}
);
frame.getContentPane().add(label1,BorderLayout.CENTER);
frame.setSize(300,300);
frame.setLocation(300,300);
frame.setVisible(true);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Test t=new Test();
}
}
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class Test {
private JFrame frame;
private JLabel label1;
private boolean flag=true;
public Test()
{
frame=new JFrame("标签测试");
label1=new JLabel("变红",JLabel.CENTER);
label1.setOpaque(true);
label1.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
if(flag)
{
label1.setBackground(Color.red);
flag=false;
}
else
{
label1.setBackground(Color.white);
flag=true;
}
}
}
);
frame.getContentPane().add(label1,BorderLayout.CENTER);
frame.setSize(300,300);
frame.setLocation(300,300);
frame.setVisible(true);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Test t=new Test();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询