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