java – JTextField边距不适用于边框

前端之家收集整理的这篇文章主要介绍了java – JTextField边距不适用于边框前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个JTextField,我想要setMargin.但是当我设置任何边框时,它都不能正常工作.它的保证金功能不起作用.
这是我的代码;
import java.awt.Color;
import java.awt.Insets;
import java.io.IOException;

import javax.swing.BorderFactory;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class ImageField {

public static void main(String[] args) throws IOException {

    JTextField textField = new JTextField();
    textField.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY));
    textField.setMargin(new Insets(0,20,0));
    JOptionPane.showMessageDialog(null,textField,"",JOptionPane.PLAIN_MESSAGE);
    }
}

如果我告诉这一行,它是有效的

//textField.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY));

解决方法

保证金在Border方面存在一些问题,要解决此问题,您可以尝试使用 CompoundBorder将EmptyBorder设置为内边框,并将所需边框(在您的情况下为lineBorder)作为外边框.

这样的事情应该有效:

Border line = BorderFactory.createLineBorder(Color.DARK_GRAY);
Border empty = new EmptyBorder(0,0);
CompoundBorder border = new CompoundBorder(line,empty);
textField.setBorder(border);

猜你在找的Java相关文章