我想创建一个 JTextArea,它看起来像 JTextArea,行为像 JTextArea,响应像 JTextArea,说话像 JTextArea,移动像 JTextArea 等,但不是 JTextArea。
简而言之,我想创建一个 100% 基于 JTextArea 的自定义摆动组件。一旦我这样做了,我将能够更改 JTextArea 的其他硬编码属性并制作我自己的自定义 JTextArea。没有按我需要的方式设计的预定义摆动组件,但 JTextArea 是最接近的,这就是我选择它的原因。
我想更改 JTextArea 行之间的间距。不,我不想使用 JtextPane,我已经尝试过了,它不适用于我的程序,它计算它的位置不同,看起来也不同,并且应用 JtextArea 边框只会让事情变得更糟。
我不是在尝试扩展 JTextArea,而是在尝试创建一个自定义 JTextArea,就像在自定义 swing 组件中一样,使用更改的硬编码属性,这些属性通过 JTextAreas 方法无法配置。
但是,我不知道该怎么做。我一直在互联网上查找它,但只有一个关于从 strath 构建自己的组件的广泛指南......
弄清楚这将花费很多时间,并且不会真正解决我的问题。
我唯一要做的就是创建一个类(或几个类),其中包含构建 JTextArea 的所有内容。从 JTextComponent 级别开始,复制所有用于创建 JTextArea 的较低级别的类。我还想指出,我使用 Nibus 的外观和感觉,我认为可能需要包含一些类才能使自定义 JTextArea 在该 LAF 下正常运行。
我查看了 swing 的源代码,里面充满了一切。考虑到我对核心挥杆结构和机制一无所知,弄清楚在创建 JTextArea 时使用了哪些类或其部分将是一个耗时的噩梦。
这就是为什么我要求有知识的人至少列出我需要复制 JTextArea 的类,然后我会弄清楚如何组合它们。
因为,如果我现在开始学习挥杆核心机制,可能需要几天和几周的时间才能弄清楚,但是对于知道的人来说,只需几分钟就可以列出我需要集中精力的所有课程注意。
我想在这里走捷径。我不想完全理解摇摆,我只是想让这个东西工作。默认间距太低一个像素,我想做的就是让它高那个像素。我不想知道画家是如何将组件绘制到屏幕上的,我只想知道它是从哪里调用的以及它自称为什么......
感谢任何花时间的人。