`
tntxia
  • 浏览: 1510905 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Swing上一个很让误解的地方

阅读更多

今天在修改我一个Calendar的Swing项目,在实现一个功能,就是做标志的时候,如果原来的颜色是蓝色的话,再点一下就变成了透明,(因为Calendar的背景是一张海贼王的图片),如果不是蓝色的话,那点一下就变成蓝色。

 

原来我的代码是:

for(int i=0;i<42;i++){
			final DateLabel label = new DateLabel("   ",JLabel.CENTER);
			calendarPanel.add(label);
			dateLabels[i] = label;
			label.addMouseListener(new MouseListener(){
				public void mousePressed(MouseEvent e){
					if(markFlag){
						if(label.getBackground().equals(Color.BLUE)){
							
							label.setOpaque(false);
						}else{
							label.setOpaque(true);
							label.setBackground(Color.BLUE);
						}
					}
					
			    }
				public void mouseReleased(MouseEvent e){
			        
			    }
			    public void mouseEntered(MouseEvent e){
			        
			    }
			    public void mouseExited(MouseEvent e){
			        
			    }
			    public void mouseClicked(MouseEvent e){
	
			    }
			});
			
		}

  

 运行后,发现Label的背景色变成蓝色后,无法变回透明,于是试着改成这样。

 

for(int i=0;i<42;i++){
			final DateLabel label = new DateLabel("   ",JLabel.CENTER);
			calendarPanel.add(label);
			dateLabels[i] = label;
			label.addMouseListener(new MouseListener(){
				public void mousePressed(MouseEvent e){
					if(markFlag){
						if(label.getBackground().equals(Color.BLUE)){
							label.setBackground(Color.WHITE);
							label.setOpaque(false);
						}else{
							label.setOpaque(true);
							label.setBackground(Color.BLUE);
						}
					}
					
			    }
				public void mouseReleased(MouseEvent e){
			        
			    }
			    public void mouseEntered(MouseEvent e){
			        
			    }
			    public void mouseExited(MouseEvent e){
			        
			    }
			    public void mouseClicked(MouseEvent e){
	
			    }
			});
			
		}

 

结果发现行了。,狂晕,为什么把背景色变成透明,还要再定义背景的颜色呢(PS:我用的已经是JDK1.6了)

分享到:
评论

相关推荐

    SWING做一个IP输入框

    java SWING做一个IP输入框,功能很好

    Swing实现一个简单的计算器

    这个示例展示了如何使用 Swing 来实现一个简单的计算器。我们使用了多种 Swing 组件、布局管理器和事件监听来实现这个示例。这个示例展示了 Swing 的一些优点,例如易于使用的组件和灵活的布局管理。

    Eclipse下写Swing的一个例子

    标题 "Eclipse下写Swing的一个例子" 暗示我们将讨论如何在Eclipse中实现一个Swing GUI程序。Eclipse是一款广泛使用的开源IDE,支持多种编程语言,包括Java。下面我们将分步介绍如何在Eclipse中创建、配置和运行Swing...

    一个简单Swing窗体

    Swing是Java编程语言中用于构建图形用户界面(GUI)的一个工具包,它是Java Foundation Classes (JFC)的一部分。在本项目"一个简单Swing窗体"中,开发者使用Swing来创建了一个基本的交互式窗口,具备点击事件的统计...

    swing 一个简单布局

    Swing 是 Java 用于构建图形用户界面(GUI)的一个库,它是 Java Foundation Classes (JFC) 的一部分。在 Swing 中,布局管理器是至关重要的,它们负责自动安排组件的位置和大小,以适应不同屏幕尺寸和分辨率。在这...

    swing教程 swing教程

    Swing 是 Java 的一个图形用户界面(GUI)工具包,用于创建跨平台的 GUI 应用程序。Swing 是 Java Foundation Classes(JFC)的一个组件,提供了大量的轻量级 GUI 组件,可以用来创建复杂的 GUI 界面。 Swing 的...

    Swing插件下载,swing下载,java-swing下载,swing-plugin

    Swing是Java编程语言中用于构建图形用户界面(GUI)的一个强大的工具包,它是Java Foundation Classes (JFC)的一部分。Swing提供了丰富的组件库,包括按钮、文本框、菜单、滚动面板等,允许开发者创建功能完备且具有...

    swing计算器,swing计算器 swing计算器

    Swing计算器是一款基于Java...对于初学者来说,这是一个很好的实践项目,可以帮助理解Swing组件的使用以及事件驱动编程的基本概念。同时,通过不断改进和扩展,可以提升到更复杂的计算器功能,如科学计算、记忆功能等。

    一个基于java Swing开发的ATM机例子

    总结来说,这个基于Java Swing的ATM机例子是一个很好的学习实践项目,它涵盖了GUI设计、事件处理、数据管理、错误处理等多个方面的基础知识,对于初学者来说,是一个很好的起点,能够帮助他们快速理解和掌握Java ...

    java swing是一把刀

    Java Swing 是Java平台上用于构建图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC) 的一部分。在本文中,我们将深入探讨Java Swing,并基于标题"Java Swing是一把刀"来理解它如何在程序员手中成为...

    java的课程作业,用swing写一个小游戏.zip

    java的课程作业,用swing写一个小游戏.zipjava的课程作业,用swing写一个小游戏.zip java的课程作业,用swing写一个小游戏.zipjava的课程作业,用swing写一个小游戏.zip java的课程作业,用swing写一个小游戏.zip...

    swing小黑点移动

    在Swing中,我们可以通过编程实现组件的动画效果,例如让一个小黑点在窗口上移动。这个过程涉及到Java GUI编程的一些核心概念,包括组件、布局管理器、事件处理以及定时器。 首先,Swing是Java AWT(Abstract ...

    java swing漂亮界面 超酷 javaswing教程

    Java AWT中的Graphics类和Swing中的JComponent类结合使用,可以让开发者直接在组件上绘制图形,实现个性化的设计。 在“Java Swing教程”中,我们会详细讲解如何使用这些组件、布局管理器、事件处理和外观定制,...

    swing-layout-1.0.3

    swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3...

    90个java-swing基础例子.zip

    Java Swing 是Java GUI(图形用户界面)库的一部分,主要用于创建桌面应用程序。...对于初学者来说,这是一个很好的学习资源,而对于有经验的开发者来说,它也可以作为快速查找特定功能示例的参考。

    自己做的一个Swing的小东西

    Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,主要用于创建桌面应用程序。这个小项目是你利用Swing实现的一个功能,它展现了Swing在构建用户界面时的强大能力...

    用swing实现的一个秒表

    在Java编程领域,Swing库是用于构建...如果你是初学者,这是一个很好的实践项目,可以帮助你巩固Swing相关的编程技能。同时,对于有经验的开发者,这个项目的源码也是一个学习其他开发者设计模式和最佳实践的好资源。

    一个小小的Swing拼图游戏

    总的来说,Swing拼图游戏是一个结合了图像处理、布局管理、事件处理和游戏逻辑的项目,对Java GUI编程有很好的实践价值。开发者可以通过这个项目深入理解和掌握Swing组件的使用,以及如何创建具有交互性的桌面应用。

Global site tag (gtag.js) - Google Analytics