最近写了个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);
}
}
分享到:
相关推荐
`JOptionPane`是Swing中最常用的弹出框类,它提供了一些预定义的对话框样式,如信息对话框、警告对话框、错误对话框、询问对话框和输入对话框。这些对话框可以显示文本消息、图标、单选按钮、复选框和输入字段等。...
4. **错误提示**:当用户输入的数据违反了设定的限制时,可以通过`Toolkit.getDefaultToolkit().beep()`来发出系统声音提醒用户,通过`beep`属性控制是否启用这一功能。 5. **初始化方法**:`init`方法在所有构造...
同时,异常处理也是重要的部分,以确保在出现错误时能够恢复或给出恰当的提示。 标签“java swing 下载”表明该应用的核心功能是文件下载,结合Swing技术实现用户友好的界面。在实际项目中,可能还需要考虑其他特性...
10. **异常处理**: 在实际开发中,必须考虑到可能出现的错误和异常,如数据库连接失败、数据格式错误等,通过try-catch语句进行捕获和处理,提供友好的错误提示。 这个项目是一个很好的学习实践,涵盖了Swing GUI...
7. **异常处理与错误提示**:良好的用户体验需要系统能够优雅地处理可能出现的错误,如输入验证、网络中断或数据库操作失败等,给出清晰的错误提示。 8. **安全性**:考虑到隐私和数据安全,系统应具备一定的安全...
在Swing中,有时候我们需要实现一种特殊的效果,那就是“气泡浮动提示窗口”,这种窗口通常用作快速信息提示或者新闻预览,它会在用户界面上以非侵入性的方式短暂出现,然后消失。本篇文章将详细介绍如何在Java ...
这一步骤可能涉及到异步编程和错误处理,以确保交互的流畅性。 此外,为了增强用户体验,项目可能还包含了其他特性,如音视频通话、文件传输等。这些功能的实现可能需要用到额外的库或框架,如Java Media Framework...
Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。本项目“Swing做的高仿QQ登陆界面”旨在为初学者提供一个学习Swing GUI设计和实现简单...
- **重要性**: 在计算机科学领域,UI设计的好坏直接影响着用户体验,优秀的UI能够提高用户操作效率,减少错误发生概率。 - **发展趋势**: 随着技术的进步,UI设计也变得越来越重要,很多大学都开设了专门的研究UI...
- 提供清晰的错误提示,如用户名不存在或密码错误,以及友好的交互体验,如自动聚焦第一个输入框。 10. **测试与调试**: - 开发完成后,需进行单元测试和集成测试,确保所有功能正常运行,同时使用调试工具排查...
1. **Java Swing基础**:Swing提供了一系列组件,如按钮(JButton)、文本框(JTextField)、密码框(JPasswordField)、标签(JLabel)等,用于构建用户界面。这些组件都是轻量级的,运行在Java虚拟机上,相对AWT...
3. **错误提示框**:报告错误,可能包含“确定”和“重试”按钮,有时还包括“详细信息”链接,以查看具体错误信息。 4. **询问提示框**:询问用户是否执行某操作,常有“是”、“否”或“取消”选项。 在不同的...
6. **对话框(JOptionPane)**:Swing提供了一种简单的对话框机制,用于提示用户信息、询问用户或者获取用户输入。在系统中,可能会用到这些对话框来进行确认操作、显示错误信息等。 7. **布局管理器**:Swing提供...
这可能通过JOptionPane弹出框实现,它能以警告或错误的形式显示信息。 8. **可见性控制(Visibility Control)**:在登录成功后,可能会显示用户信息或者跳转到新的界面。这可以通过设置组件的可见性(setVisible()...
- 在编程中,应适当地捕获并处理可能出现的异常,提供友好的错误提示。 10. **国际化支持**: - Java Swing支持资源bundle,实现多语言环境下的应用,便于国际化。 综上所述,这个美化版窗口模板不仅展示了Java ...
4. **自动完成和智能提示**:在编写Swing代码时,提供方法、变量和类的自动完成建议,减少错误和提高编码速度。 5. **调试工具**:帮助开发者在Eclipse内直接调试Swing应用程序,查看组件状态,设置断点,检查变量...
同时,捕获可能发生的SQL异常,如连接失败或操作失败,以提供友好的错误提示。 最后,为了提高用户体验,可以添加一些额外的功能,如记住密码、自动填充、验证码等。此外,Swing的布局管理器可以帮助我们更好地组织...
- Swing组件:Swing提供了多种组件,如JFrame(窗口)、JLabel(标签)、JButton(按钮)、JTextField(文本框)和JPasswordField(密码框),这些都是构建登录界面的基础元素。 - Layout Manager(布局管理器):...
一个完整的程序通常需要考虑错误处理,比如在用户输入无效时间时抛出异常并给出提示。同时,良好的程序结构,如模块化设计,可以使代码更易读、易维护。 **总结** 通过这个“Java Swing编写的红绿灯游戏”,我们...
Swing 还提供了一些实用工具类,如 JFileChooser 用于打开和保存文件对话框,JOptionPane 用于显示信息、警告或错误消息。 总之,"Swing 各种实例"涵盖了 Java GUI 开发的许多关键方面。通过学习和实践这些实例,...