Java Swing JtextField插图

Java Swing JtextField插图,java,swing,border,margin,jtextfield,Java,Swing,Border,Margin,Jtextfield,我正在使用Netbeans GUI,我想在jTextField的开头添加3个像素的空间: 我尝试过在GUI中使用setMargin和setInset,但它没有改变任何东西 我还有一个问题,为什么右下角的边框不是圆形的?这是我的密码: Border roundedBorder = new LineBorder(new Color(210,210,210), 1, true); researchTextField.setBorder(roundedBorder); 多谢各位 使用setMargi

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

我尝试过在GUI中使用setMargin和setInset,但它没有改变任何东西

我还有一个问题,为什么右下角的边框不是圆形的?这是我的密码:

Border roundedBorder = new LineBorder(new Color(210,210,210), 1, true);
researchTextField.setBorder(roundedBorder);
多谢各位

使用
setMargin(…)

应该有效

但是,如果您也在使用边界,那么这可能就是问题所在

尝试使用
CompoundBorder
,其中内边框是一个EmptyBorder(),外边框是另一个边框。例如:

Border rounded = new LineBorder(new Color(210,210,210), 1, true);
Border empty = new EmptyBorder(0, 3, 0, 0);
Border border = new CompoundBorder(rounded, empty);
textField.setBorder(border);
为什么右下边框不是圆形的

我不知道你的右下角为什么不圆。使用XP上的金属LAF,右边框(顶部和底部)显示为圆形,但左边框不为圆形。当我使用2个或更多的边框尺寸时,所有的角都显示为相等的圆角。

setMargin(Inset myInset)
适用于我:

import java.awt.Insets;
import javax.swing.*;

public class TextFieldFun {
   public static void main(String[] args) {
      JTextField textfield = new JTextField(20);
      JPanel panel = new JPanel();
      panel.add(textfield);

      textfield.setMargin(new Insets(0, 10, 0, 0));

      JOptionPane.showMessageDialog(null, panel);
   }
}