当我在点击第一个“张三”按钮时弹出一个Jdialog后,让Jdialog下面的所有组件锁定,呈现出半透明状态,但是有一个问题是
点击的这个“张三”按钮呈现出发亮状态,没有被半透明层覆盖住,其他的Jbutton覆盖住了。
我的Jbutton按钮都在Jpanel上面放着。
希望swing专家们给点意见。这种原因是怎么遭成的。
图片见附件! 提前谢谢同志们了。
“张三按钮”所在的Jpanel 代码如下:
public class PhoneTeamPanel extends javax.swing.JPanel {
//背景图片
public String img;
//背景图片的x坐标
int x;
//背景图片的y坐标
int y;
AddressDialog dialog ;
/** Creates new form PhoneTeamPanel */
public PhoneTeamPanel(final JFrame frame,String img, int x, int y) {
this.img = img;
this.x = x;
this.y = y;
initComponents();
//设置电话分组用户姓名
setPhoneGroupPeopleName(peopleName,"张三");
dialog = new AddressDialog(frame, true);
peopleName.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
//frame set
((JPanel)frame.getContentPane()).setBackground(new Color(231, 231,231, 130));
((JPanel)frame.getContentPane()).setOpaque(true);
((JPanel)frame.getContentPane()).repaint();
((JPanel)dialog.getContentPane()).setOpaque(false);
ImageIcon imgIc = new ImageIcon(ImagesPath.NUMBERFUCTION_BG);
JLabel backLabel = new JLabel(imgIc);
backLabel.setBounds(0,0, imgIc.getIconWidth(), imgIc.getIconHeight());
dialog.setBounds(240, 230,imgIc.getIconWidth(), imgIc.getIconHeight());
dialog.getLayeredPane().add(backLabel,new Integer(Integer.MIN_VALUE));
dialog.setUndecorated(true);
dialog.setVisible(true);
}
});
// dialog.setDefaultLookAndFeelDecorated(true);
}
//JButton的标题
JLabel buttonLabel;
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
peopleName = new javax.swing.JButton();
setBackground(new java.awt.Color(255, 255, 255));
setOpaque(false);
setPreferredSize(new java.awt.Dimension(600, 310));
setRequestFocusEnabled(false);
peopleName.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/phoneGroup_peopleNameB.png"))); // NOI18N
peopleName.setBorderPainted(false);
peopleName.setFocusPainted(false);
peopleName.setPreferredSize(new java.awt.Dimension(85, 39));
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JButton peopleName;
/*
*绘制Panel背景
*/
public void paintComponent(Graphics g) {
ImageIcon imgbg = new ImageIcon(img);
g.drawImage(imgbg.getImage(), x, y, null);
}
}
Jframe 构造器中 PhoneTeamPanel 类的代码:
PhoneTeamPanel ptp = new PhoneTeamPanel(this,ImagesPath.PHONEGROUP_BG, 3,13);
ptp.setBounds(3, 15, frameWidth, frameHeight);
this.getLayeredPane().add(ptp);
PhoneTeamPanel 类放到了Jframe的LayeredPane层上了。当点击PhoneTeamPanel上张三按钮后把
((JPanel)frame.getContentPane()).setBackground(new Color(231, 231,231, 130));
ContentPane层的背景设置为半透明为130的半透明效果。问题是为什么没有把张三这个Jbutton覆盖住呢?
- 大小: 17.2 KB
分享到:
相关推荐
Swing邮件客户端是一种基于Java Swing库开发的桌面应用程序,它允许用户发送电子邮件,类似于流行的Foxmail客户端。Swing是Java的一个图形用户界面(GUI)工具包,提供了丰富的组件和功能,使得开发者可以创建出美观且...
Java Swing JButton 按钮的实现示例 Java Swing JButton 按钮是 Java 中最常用的 GUI 组件之一,用于在用户界面中提供交互方式。JButton 按钮可以根据需要自定义外观和行为,下面将对 JButton 按钮的实现示例进行...
在Java的Swing库中,`JTable`是用于创建数据网格视图的重要组件,它允许用户以表格的形式查看和操作数据。而`JButton`则是一个常用的按钮控件,通常用于触发某些动作或事件。将`JButton`添加到`JTable`中可以为用户...
### Java Swing 中 JButton 的使用详解 在 Java Swing 中,`JButton` 是一个非常重要的组件,用于创建按钮。本文将详细介绍 `JButton` 的基本用法、如何设置按钮的图标、文本位置、快捷键以及如何处理按钮点击事件...
在`JButton`上设置快捷键,我们需要使用`KeyStroke`类来定义键盘组合,并将其与`Action`绑定,然后将`Action`添加到`JButton`。 以下是一步一步的实现过程: 1. **创建KeyStroke对象**:使用`KeyStroke....
【Swing + Socket + 多线程 至尊QQ 客户端安装包】是一个集成Swing图形界面、Socket通信和多线程技术的QQ类聊天应用。Swing是Java提供的一个用于创建桌面应用程序的GUI(图形用户界面)库,它提供了丰富的组件和样式...
总的来说,这篇博客文章可能会详细解释如何通过扩展Swing的JLabel和JButton类,以及利用Java的事件处理机制,来实现组件的自定义功能和视觉效果。这包括但不限于改变组件的外观、添加动态效果以及实现更复杂的用户...
在这个特定的项目中,"Java Swing组件写的游戏客户端" 暗示了一个基于Java Swing开发的游戏客户端应用,它允许用户在本地计算机上与游戏服务器交互,进行游戏体验。 1. **Swing组件基础**: - JFrame:这是Swing...
在这个FTP客户端中,Swing被用来设计和构建用户界面,包括按钮、文本框、进度条等元素,使得用户可以直观地进行FTP操作。 **2. MVC(Model-View-Controller)设计模式** MVC是一种软件设计模式,常用于构建可维护和...
总的来说,这个Swing数据库客户端项目是一个实用的示例,展示了Java Swing和JDBC在构建桌面应用中的应用,同时也为开发者提供了一个实践和改进的平台。对于希望提升Java GUI编程和数据库应用开发技能的人来说,这是...
Java动画、图形和极富客户端效果是Java编程中极具吸引力的一部分,它们为用户提供了丰富的交互性和视觉体验。在Java平台上,这些效果主要通过JavaFX和Swing库来实现。JavaFX是Oracle公司推出的下一代GUI框架,它提供...
Java动画、图形和极富客户端效果的开发是一个深入探索Java平台高级GUI特性的主题,尤其集中在Java Swing组件库上。这些源代码文件,如frc-chapter15.zip至frc-chapter18.zip等,提供了丰富的示例,旨在帮助开发者...
【java swing客户端贪吃蛇小游戏】是一款基于Java Swing开发的经典娱乐项目,它将我们熟知的贪吃蛇游戏移植到了桌面环境中。Swing是Java提供的一个用于构建用户界面的图形库,它允许开发者创建丰富的、跨平台的应用...
《rain12306-java swing实现12306客户端》是一款基于Java Swing技术开发的12306火车票预订系统,它无需依赖任何服务端组件,完全由客户端程序独立完成用户登录、余票查询及个人订单管理等功能。这款软件展示了Java ...
【标题】:“像QQ的javaSwing客户端提醒软件,开机提醒” 这个项目是基于Java Swing开发的一款客户端提醒软件,设计灵感来源于腾讯QQ的信息提示功能。Java Swing是Java平台中的一个图形用户界面(GUI)工具包,它允许...
java swing JButton 圆角按钮 带变色(有注释,简单易懂适用于初学者 程序可直接运行)
Java Swing 聊天室客户端源码是一个典型的Java GUI应用程序示例,主要使用了Swing库来构建用户界面。Swing是Java Foundation Classes (JFC)的一部分,提供了丰富的组件库,用于创建美观、功能强大的桌面应用程序。...
根据给定的信息,本文将详细解释如何在Java Swing框架中创建具有圆角效果的自定义按钮。这将涉及Swing的基本概念、自定义组件的方法以及如何实现特定的视觉效果。 ### Swing简介 Swing是Java平台的一个图形用户...
Swing 是 Java GUI 开发的重要库,它提供了一组组件和工具来创建桌面应用程序。"最全面的Swing文本编辑器"是一个利用Java Swing构建的高级文本编辑器,旨在提供比标准记事本更丰富的功能,如插入图片、鼠标绘图等。...
JButton是Swing库中的一个组件,用于创建可点击的按钮。你可以使用JButton来触发操作或执行特定任务。