`
yedaya
  • 浏览: 21193 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Swing 动态错误提示框

阅读更多

最近写了个swing 动态提示错误的提示框,本来想放在项目中的,被否掉了,拿出来共享一下,共同提高:

 

package errborder;

import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.Timer;
import javax.swing.border.AbstractBorder;

public class BlinkErrorBorder extends AbstractBorder implements ActionListener{
	private int thickness = 5;
	private float alpha = thickness;
	private Color color = Color.RED;
	private Timer timer ;
	private AlphaComposite composite;
	private final float[] blinkArray = new float[]{1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
												  -1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f};
	
	public BlinkErrorBorder(Color color, int thickness){
		this.color = color;
		this.thickness = thickness;
		this.alpha = thickness;
		composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f);	
		timer = new Timer(120, this);
	}
	
	public void startBlink(){
		timer.start();
	}
	
	public void stopBlink(){
		timer.stop();
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frame = new JFrame();
		BlinkErrorBorder err = new BlinkErrorBorder(Color.RED,3);
		JTextField text = new JTextField();
		text.setBorder(err);
		err.startBlink();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		frame.getContentPane().add(text);
		frame.setSize(400,400);
		frame.setVisible(true);
	}
	
	 public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
		Graphics2D g2d = (Graphics2D) g.create();
		g2d.setColor(color);
		
		for(int i = 0; i < thickness; i++)  {
			composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, (thickness-i)/alpha);
			g2d.setComposite(composite);
			g2d.drawRoundRect(x+i, y+i, width-i-i-1, height-i-i-1, thickness, thickness);
		}		
		c.repaint();
	 }
	 public Insets getBorderInsets(Component c)       {
	        return new Insets(thickness, thickness, thickness, thickness);
	 }
	 
	 int tempI = 0;
	@Override
	public void actionPerformed(ActionEvent e) {
		alpha = alpha+blinkArray[tempI];
		tempI++;
		tempI = tempI%(blinkArray.length);		
	}

}

 

分享到:
评论

相关推荐

    swing弹出框

    `JOptionPane`是Swing中最常用的弹出框类,它提供了一些预定义的对话框样式,如信息对话框、警告对话框、错误对话框、询问对话框和输入对话框。这些对话框可以显示文本消息、图标、单选按钮、复选框和输入字段等。...

    swing 山寨版验证框架

    4. **错误提示**:当用户输入的数据违反了设定的限制时,可以通过`Toolkit.getDefaultToolkit().beep()`来发出系统声音提醒用户,通过`beep`属性控制是否启用这一功能。 5. **初始化方法**:`init`方法在所有构造...

    java swing url下载器

    同时,异常处理也是重要的部分,以确保在出现错误时能够恢复或给出恰当的提示。 标签“java swing 下载”表明该应用的核心功能是文件下载,结合Swing技术实现用户友好的界面。在实际项目中,可能还需要考虑其他特性...

    基于swing框架的桌面学生管理

    10. **异常处理**: 在实际开发中,必须考虑到可能出现的错误和异常,如数据库连接失败、数据格式错误等,通过try-catch语句进行捕获和处理,提供友好的错误提示。 这个项目是一个很好的学习实践,涵盖了Swing GUI...

    java写的swing框架的图书管理系统

    7. **异常处理与错误提示**:良好的用户体验需要系统能够优雅地处理可能出现的错误,如输入验证、网络中断或数据库操作失败等,给出清晰的错误提示。 8. **安全性**:考虑到隐私和数据安全,系统应具备一定的安全...

    java Swing 气泡浮动提示窗口代码

    在Swing中,有时候我们需要实现一种特殊的效果,那就是“气泡浮动提示窗口”,这种窗口通常用作快速信息提示或者新闻预览,它会在用户界面上以非侵入性的方式短暂出现,然后消失。本篇文章将详细介绍如何在Java ...

    javaswing仿QQ

    这一步骤可能涉及到异步编程和错误处理,以确保交互的流畅性。 此外,为了增强用户体验,项目可能还包含了其他特性,如音视频通话、文件传输等。这些功能的实现可能需要用到额外的库或框架,如Java Media Framework...

    Swing做的高仿QQ登陆界面

    Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。本项目“Swing做的高仿QQ登陆界面”旨在为初学者提供一个学习Swing GUI设计和实现简单...

    swing初学者入门教程

    - **重要性**: 在计算机科学领域,UI设计的好坏直接影响着用户体验,优秀的UI能够提高用户操作效率,减少错误发生概率。 - **发展趋势**: 随着技术的进步,UI设计也变得越来越重要,很多大学都开设了专门的研究UI...

    Swing登录界面

    - 提供清晰的错误提示,如用户名不存在或密码错误,以及友好的交互体验,如自动聚焦第一个输入框。 10. **测试与调试**: - 开发完成后,需进行单元测试和集成测试,确保所有功能正常运行,同时使用调试工具排查...

    基于Java swing的ATM

    1. **Java Swing基础**:Swing提供了一系列组件,如按钮(JButton)、文本框(JTextField)、密码框(JPasswordField)、标签(JLabel)等,用于构建用户界面。这些组件都是轻量级的,运行在Java虚拟机上,相对AWT...

    消息提示框控件

    3. **错误提示框**:报告错误,可能包含“确定”和“重试”按钮,有时还包括“详细信息”链接,以查看具体错误信息。 4. **询问提示框**:询问用户是否执行某操作,常有“是”、“否”或“取消”选项。 在不同的...

    swing宠物管理系统(有文档).rar

    6. **对话框(JOptionPane)**:Swing提供了一种简单的对话框机制,用于提示用户信息、询问用户或者获取用户输入。在系统中,可能会用到这些对话框来进行确认操作、显示错误信息等。 7. **布局管理器**:Swing提供...

    java swing登录页面代码

    这可能通过JOptionPane弹出框实现,它能以警告或错误的形式显示信息。 8. **可见性控制(Visibility Control)**:在登录成功后,可能会显示用户信息或者跳转到新的界面。这可以通过设置组件的可见性(setVisible()...

    使用JavaSwing重写的美化版窗口模板

    - 在编程中,应适当地捕获并处理可能出现的异常,提供友好的错误提示。 10. **国际化支持**: - Java Swing支持资源bundle,实现多语言环境下的应用,便于国际化。 综上所述,这个美化版窗口模板不仅展示了Java ...

    eclipse swing 插件

    4. **自动完成和智能提示**:在编写Swing代码时,提供方法、变量和类的自动完成建议,减少错误和提高编码速度。 5. **调试工具**:帮助开发者在Eclipse内直接调试Swing应用程序,查看组件状态,设置断点,检查变量...

    用Java开发的登录注册框架 (Swing + MySQL)

    同时,捕获可能发生的SQL异常,如连接失败或操作失败,以提供友好的错误提示。 最后,为了提高用户体验,可以添加一些额外的功能,如记住密码、自动填充、验证码等。此外,Swing的布局管理器可以帮助我们更好地组织...

    基于java Swing的登陆界面

    - Swing组件:Swing提供了多种组件,如JFrame(窗口)、JLabel(标签)、JButton(按钮)、JTextField(文本框)和JPasswordField(密码框),这些都是构建登录界面的基础元素。 - Layout Manager(布局管理器):...

    java Swing 编写的红绿灯游戏

    一个完整的程序通常需要考虑错误处理,比如在用户输入无效时间时抛出异常并给出提示。同时,良好的程序结构,如模块化设计,可以使代码更易读、易维护。 **总结** 通过这个“Java Swing编写的红绿灯游戏”,我们...

    swing 各种实例

    Swing 还提供了一些实用工具类,如 JFileChooser 用于打开和保存文件对话框,JOptionPane 用于显示信息、警告或错误消息。 总之,"Swing 各种实例"涵盖了 Java GUI 开发的许多关键方面。通过学习和实践这些实例,...

Global site tag (gtag.js) - Google Analytics