在TextArea的边框和文本内部获取像素

时间:2018-01-16 04:21:01

标签: java javafx javafx-8

enter image description here

我希望获取并修改文本区域内包含的文本与文本区域边框之间的像素数。提供更具描述性的视觉效果:

enter image description here

其中蓝线的长度是我想要的。当我在我的应用程序中收到文本区域的填充和边距时,我得到了0px。我假设这是TextArea相对于外部的填充/边距,而不是相对于Ttext区域的内部。

非常感谢。

1 个答案:

答案 0 :(得分:0)

java设置insets的{​​{1}},您可以使用textarea

  

public void setMargin(Insets m)

     

设置文本之间的边距   组件的边界及其文本。文本组件的默认边框   object将使用此值来创建适当的边距。但是,如果一个   非默认边框是在文本组件上设置的,它是Border   对象有责任创建适当的边距空间(否则   这个属性实际上会被忽略)。这导致重绘   组件。 PropertyChange事件(" margin")将发送给所有人   听众。

     

参数: m - 边框与文字之间的空格

例如:

setMargin()

更多关于insetssetMargin()

或者另一种方法是添加JTextArea txtArea = new JTextArea("Hello world!"); txtArea.setMargin( new Insets(15,15,15,15) ); ,然后像这样设置compound border

insets

请参阅this answer