相关疑难解决方法(0)

Java Swing JtextField插图

我正在使用Netbeans GUI,我想在jTextField的开头添加3个像素的空间:

在此输入图像描述

我已经在GUI中尝试了setMargin,setInset,但它没有改变任何东西.

我有另一个问题,为什么右下边框不圆?这是我的代码:

Border roundedBorder = new LineBorder(new Color(210,210,210), 1, true);
researchTextField.setBorder(roundedBorder);
Run Code Online (Sandbox Code Playgroud)

非常感谢你,

问候

java swing border margin jtextfield

5
推荐指数
1
解决办法
1万
查看次数

自定义边框外的组件绘画

在这个自定义边框类中,我定义了一个RoundRectangle2D形状.此对象用于绘制边框.不幸的是,由于之前调用的paint方法,将剪辑设置为形状没有效果; 即使我发出一个.因此,组件将在其边界外部绘制,这是可以理解的不合需要的.JComponentpaintComponentpaintBorderGraphicsRoundRectangle2Drepaint

所以,我想知道:如何让组件专门在自定义边框内绘制?

我考虑的一种方法是BorderpaintComponent方法中获取组件的对象.然后将此对象转换为适当的类,其中我定义将影响剪辑的参数.但这似乎不是一个"声音"设计.


编辑 -

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.RenderingHints;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.border.AbstractBorder;

class JRoundedCornerBorder extends AbstractBorder 
{   
    private static final long serialVersionUID = 7644739936531926341L;
    private static final int THICKNESS = 2;

    JRoundedCornerBorder()
    {
        super();
    }

    @Override
    public void paintBorder(Component c, Graphics g, int x, …
Run Code Online (Sandbox Code Playgroud)

java swing border java-2d clip

5
推荐指数
2
解决办法
6821
查看次数

标签 统计

border ×2

java ×2

swing ×2

clip ×1

java-2d ×1

jtextfield ×1

margin ×1