方法1:定义Border,然后给JTextField设置即可

摘自并整理:https://blog.csdn.net/u012093968/article/details/39316679

最好添加这句话g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON)告诉绘制API我们需要平滑一点,

否则绘制出来会有很多锯齿哟。

 package com.xxx.xxx.xxx;

 import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.RenderingHints; import javax.swing.border.Border; /**
 * Swing
 * 设置圆角边框(可以自定义边框的颜色)
 * 可以为button,文本框等人以组件添加边框
 * 使用方法:
 * JButton close = new JButton(" 关 闭 ");
 * close.setOpaque(false);// 设置原来按钮背景透明
 * close.setBorder(new RoundBorder());黑色的圆角边框
 * close.setBorder(new RoundBorder(Color.RED)); 红色的圆角边框
 * 
 * @author Monsoons
 */ public class RoundBorder implements Border {
private Color color; private int arcH = 15;
private int arcW = 15; public RoundBorder() {
this(Color.BLACK);
// 如果实例化时,没有传值
// 默认是黑色边框
} public RoundBorder(Color color) {
this.color = color;
} public Insets getBorderInsets(Component c) { // top:可以调节光标与边枉的距离, 间接影响高度
// left:可以调节光标与边枉的距离
// bottom:可以调节光标与边枉的距离, 间接影响高度
// right:可以调节光标与边枉的距离
return new Insets(10, 15, 10, 15);
} public boolean isBorderOpaque() {
return false;
} // 实现Border(父类)方法
@Override
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
// g.setColor(color);
// g.drawRoundRect(0, 0, c.getWidth() - 1, c.getHeight() - 1, arcH, arcW); Graphics2D g2d = (Graphics2D) g.create(); g2d.setColor(color);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.drawRoundRect(0, 0, c.getWidth() - 1, c.getHeight() - 1, arcH, arcW); g2d.dispose();
}
}

方法二: 重写JTextField,然后覆盖paintBorder方法

摘自:https://www.aliyun.com/jiaocheng/543166.html?spm=5176.100033.2.10.SPifa6

 /*Swing的圆角输入框
发布时间:2018-03-01 来源:网络 上传者:用户
关键字: 圆角 输入 Swing
发表文章
摘要:最近看了flyPig前辈的圆角高亮Buttonhttp://flypig.iteye.com/blog/389253,依葫芦画瓢,自己做了一个简单的圆角输入框。importjava.awt.Color;importjava.awt.FlowLayout;importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.Insets;importjava.awt.RenderingHints;importjava. 最近看了flyPig前辈的圆角高亮Buttonhttp://flypig.iteye.com/blog/389253,依葫芦画瓢,自己做了一个简单的圆角输入框。*/ import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.RoundRectangle2D;
import javax.swing.JFrame;
import javax.swing.JTextField; public class MyTextField extends JTextField {
private static final long serialVersionUID = -1946802815417758252L; public MyTextField(int columns) {
super(columns);
//
setMargin(new Insets(0, 5, 0, 5));
} @Override
protected void paintBorder(Graphics g) {
int h = getHeight();// 从JComponent类获取高宽
int w = getWidth();
Graphics2D g2d = (Graphics2D) g.create();
Shape shape = g2d.getClip();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setClip(shape);
g2d.drawRoundRect(0, 0, w - 2, h - 2, h, h);
g2d.dispose();
super.paintBorder(g2d);
} public static void main(String[] args) {
JFrame jf = new JFrame();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(300, 200);
jf.setLayout(new FlowLayout());
MyTextField text = new MyTextField(20);
jf.add(text);
jf.setVisible(true);
}
}

Swingr的JTextField、JPasswordField设置圆角输入框的更多相关文章

  1. iOS之分别使用代码和storyboard、xib为控件设置圆角(以按钮为例)

    首先我们看一下代码是如何给按钮设置圆角的: 我们再来看看如何在storyboard或xib中给按钮设置圆角: 1.在storyboard或xib中添加按钮后,设置标题和背景色,做好约束: 2.点击 S ...

  2. iOS UIView设置圆角

    UIView设置圆角 1.比较简单的情况,UIView四个角都是圆角: UIView *aView = [[UIView alloc] init]; aView.frame = CGRectMake( ...

  3. iOS设置圆角矩形和阴影效果

    1.设置圆角矩形 //设置dropview属性 _dropView.backgroundColor=[[UIColor whiteColor] colorWithAlphaComponent:0.8] ...

  4. iOS之用xib给控件设置圆角、边框效果

    xib中为各种控件设置圆角 通过代码的方式设置 @interface ViewController () @property (weak, nonatomic) IBOutlet UIView *my ...

  5. Java 图片设置圆角(设置边框,旁白)

    /** * 图片设置圆角 * @param srcImage * @param radius * @param border * @param padding * @return * @throws ...

  6. iOS图片设置圆角

    一般我们在iOS开发的过程中设置圆角都是如下这样设置的. imageView.clipsToBounds = YES; [imageView.layer setCornerRadius:]; 这样设置 ...

  7. iOS设置圆角的常用方法

    //第一种方法:最常用的方法,但是性能最差 UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100 ...

  8. iOS设置圆角的方法及指定圆角的位置

    在iOS开发中,我们经常会遇到设置圆角的问题, 以下是几种设置圆角的方法: 第一种方法: 通过设置layer的属性 代码: UIImageView *imageView = [[UIImageView ...

  9. WPF 圆角输入框

    今天打算来做一个圆角的输入框 默认输入框: 这个输入框不好看,并且在XP 跟 WIN 7  WIN10 效果 都不太一样 我们今天不用模板的方式,而是 最简单的方式 来实现 圆角 输入框: ----- ...

随机推荐

  1. linux下使用fstat来计算文件的大小

    #include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <fcntl.h ...

  2. Qt之事件处理机制

    思维导读 一.事件简介 QT程序是事件驱动的, 程序的每个动作都是由内部某个事件所触发.QT事件的发生和处理成为程序运行的主线,存在于程序整个生命周期. 常见的QT事件类型如下: 键盘事件: 按键按下 ...

  3. git之commit改用第三方编辑器

    git commit -m "***"方式提交注释,有限制,可通过调用第三方编辑器来编辑更好的注释 1 使用window自带的记事本 git config --global cor ...

  4. CF884D:Boxes And Balls

    浅谈\(Huffman\)树:https://www.cnblogs.com/AKMer/p/10300870.html 题目传送门:https://codeforces.com/problemset ...

  5. grafana 4.0.2 + openfalcon query 1.4.3

    转:http://blog.csdn.net/vbaspdelphi/article/details/53884282 grafana 4.0.2 加上官方app自带的openfalcon插件, 可以 ...

  6. MSDN 学习网站

    -MSDN中文网站http://msdn.microsoft.com/zh-cn/-MSDN Webcast 中文网络广播http://msdn.microsoft.com/zh-cn/dd79616 ...

  7. SpringBoot自动化配置之三:深入SpringBoot:自定义EnableAutoConfiguration

    前言 上面几篇文章介绍了SpringFramework的一些原理,这里开始介绍一下SpringBoot,并通过自定义一些功能来介绍SpringBoot的原理.SpringBoot在SpringFram ...

  8. net.sf.json.JSONObject 和org.json.JSONObject

    参考 net.sf.json.JSONObject 和org.json.JSONObject 的差别

  9. 【转】href="#"与"javascript:void(0);"的区别

    在工作中,如果我们想把a标签中的链接置成空链接,我们一般会用两种方法: 1 <a href="#" target="_blank"></a&g ...

  10. [转]RabbitMQ三种Exchange模式(fanout,direct,topic)的性能比较

    RabbitMQ中,所有生产者提交的消息都由Exchange来接受,然后Exchange按照特定的策略转发到Queue进行存储 RabbitMQ提供了四种Exchange:fanout,direct, ...