方法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. (转)msys2使用教程

    一.安装 官方下载地址 http://www.msys2.org/ 指定好安装路径(一般D根目录即可),一路下一步就好. 二.配置国内镜像.设置窗体修改颜色 使用[清华大学开源软件镜像站]中的地址,修 ...

  2. 用VMware vSphere搭建虚拟化平台

    核心组件 vSphere是一款可以独立安装和运行在祼机上的系统,因此与其他我们以往见过的VMware Workstation 软件不同的是它不再依存于宿主操作系统之上.在ESXi安装好以后,我们可以通 ...

  3. BZOJ - 3631 松鼠的新家 (树链剖分)

    题目链接 树链剖分基础题,路径权值修改+差分 #include<bits/stdc++.h> using namespace std; typedef long long ll; ; in ...

  4. grep---Linux下文本处理五大神器之五

    转自:http://www.cnblogs.com/dong008259/archive/2011/12/12/2285264.html grep是linux中很常用的一个命令,主要功能就是进行字符串 ...

  5. LeetCode 293. Flip Game

    原题链接在这里:https://leetcode.com/problems/flip-game/description/ 题目: You are playing the following Flip ...

  6. qq群文件管理

    一.怎样登录QQ群空间查看.管理群文件 1)登录自己的QQ,打开主面板!小编在这里以访问自己的群“我们的六班”为例.2)鼠标移动到主面板中“我们的六班”群图标处,右建单击——选择“访问QQ群空间”—— ...

  7. bzoj 3629 [JLOI2014]聪明的燕姿——约数和定理+dfs

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3629 如果要搜索,肯定得质因数分解吧:就应该朝这个方向想. **约数和定理: 对于任意一个大 ...

  8. linux 在vi文件中添加行号

    方法一: 1.显示当前行行号,在VI的命令模式下输入 :nu 2.显示所有行号,在VI的命令模式下输入 :set nu 方法二: 使用vi编辑~/.vimrc文件,在该文件中加入一行"set ...

  9. 浅析Java中的深拷贝和浅拷

      浅析Java中的深拷贝和浅拷贝 原文链接: http://blog.csdn.net/tounaobun/article/details/8491392 假如说你想复制一个简单变量.很简单: in ...

  10. [转]ubuntu 网络配置 作者:Yudar

    检查网络配置命令:ifconfig 一.通过配置文件配置 新手没怎么用过Ubuntu,所以走了不少弯路,网上找了很多方法,大都没对我起到帮助作用,所以把自己的配置方法写一写. Ubuntu上连了两块网 ...