【问题标题】:Trying to set border on a JPanel using a child textfield尝试使用子文本字段在 JPanel 上设置边框
【发布时间】:2018-09-06 14:21:38
【问题描述】:

我正在尝试通过使用子文本字段来设置 JPanel 的边框。 我尝试使用 getParent(),但设置边框的选项不存在。这是什么原因?

【问题讨论】:

  • 为什么不确保动作监听器有对面板的引用呢?顺便说一句 - 文本字段中边框上的信息是什么形式?如果它是在EmptyBorder 的构造函数中使用的数字(例如),那么使用JSpinnerSpinnerNumberModel 可能对用户更友好,如this answer 所示。

标签: java swing jpanel jtextfield


【解决方案1】:

getParent() 方法返回一个Container 对象。

setBorder(...) 方法仅为JComponent 对象定义。

因此,您需要将父 Container 转换为 JPanel。比如:

Container parent = textField.getParent();
JPanel panel = (JPanel)parent;
panel.setBorder( new LineBorder(Color.RED) );

【讨论】:

    猜你喜欢
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多