【发布时间】:2011-01-17 21:37:37
【问题描述】:
代码是这样的:
JTextField txt = new JTextField();
txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red));
但是文本字段忽略了我对setBorder 的调用。
没有任何变化。
我将用JLabel 替换它(例如)
JLabel txt = new JLabel();
txt.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.red));
我会看到红色边框。
谁能告诉我为什么?或者更好地向我解释如何在JTextField 中添加边框?
【问题讨论】:
-
那“应该”工作。您使用的是 JTextField 还是扩展 JTextField 的自定义类?你还对 JTextField 做了什么?你是在别处设置边界吗?
-
需要两秒钟的时间来证明它是否存在。诚实的。要么你相信我的话,要么写一个小测试,然后自己看看。无论如何,其他信息是: uimanager 设置在 Windows UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");而且我不在扩展 JTextField 的类上工作。我正在使用 JTextField 本身。
-
"证明" 行为将取决于 PL&F、PL&F 版本、平台、平台版本以及可能的配置。没那么容易证明。如果您包含一个应该可编译的示例,那么尝试起来会更容易。
-
稍微注意格式化问题会有所帮助。特别是如果您建议人们自己编写测试程序。
-
我对其进行了测试,它使用“com.sun.java.swing.plaf.windows.WindowsLookAndFeel”工作! (Windows XP、Java 1.6.0_16)
标签: java swing jtextfield