7

嗨,我准备了一个摆动框架,其中放置了两个文本字段。有没有办法让 jtextfield 的一侧(即右边界线)着色?请建议。我检查了很多东西,但我找不到。提前谢谢。

4

3 回答 3

9

在下面的示例中,我添加了 5 个像素的左侧边框:

JTextField jtf = new JTextField();        
jtf.setBorder(BorderFactory.createMatteBorder(0, 5, 0, 0, Color.BLACK));

这是右侧边框:

jtf.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 5, Color.BLACK));

我希望这就是你所追求的

于 2012-08-13T13:33:36.140 回答
9

我会在文本字段中添加一个边框,类似于:

Border oldBorder = jTextField.getBorder();
Border redBorder = BorderFactory.createMatteBorder(0, 0, 0, 5, Color.RED);
Border newBorder = BorderFactory.createCompoundBorder(redBorder, oldBorder);
jTextField.setBorder(newBorder);

这种方法保留旧边框并将其包裹在红色(部分)边框内。

于 2012-08-13T13:38:43.423 回答
4

您可以CustomBorder通过从类扩展Border并为组件创建自己的自定义边框来创建自己的类。通过调用setBorder()Component的实例来设置它,例如:

class MyBorder implements Border {

    @Override
    public void paintBorder(Component cmpnt, Graphics grphcs, int x, int y, int width, int height) {
        //draw your border here
    }

    @Override
    public Insets getBorderInsets(Component cmpnt) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean isBorderOpaque() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

}

参考:

于 2012-08-13T13:32:04.630 回答