Java TextArea绘制方法在哪里实现?

时间:2011-08-24 21:15:25

标签: java awt textarea paint

我正在寻找Java paint组件(java.awt.TextArea)的TextArea方法实现。

我已经阅读了该类及其超类(java.awt.TextComponent)的源代码,但是没有找到public void paint(Graphics g)方法实现,我认为这意味着该类将使用默认Component#paint(Graphics)实现,没有意义。我在这里错过了什么吗?如何绘制TextArea组件?

2 个答案:

答案 0 :(得分:2)

TextArea是一个AWT组件,而不是Swing组件。因此,它被称为重量级组件,这意味着它实际上是由底层平台/操作系统的本机组件(即Windows / Gnome / Motif组件,取决于操作系统)实现的,称为组件的对等方。因此,绘画由平台的本机小部件完成,而不是由组件完成。

答案 1 :(得分:1)

AWT Components是上一个千禧年的恐龙,只有back-compactible存在且仍然存在,请/更好的是将其更改为Todays JComponents,所有以“J”开头这里是JComponents with tutorials的列表,但对于Swing的JComponents,paintComponent(Graphics g)代替paint(Graphics g)

方法绘画仍然存在但是对于XxxXxxUI中最深的绘画,例如MetalButtonUI,但不是绘制图像/线条/文本...而只是试图避免similar examples from year 2000和另一个非常老例如,在Java6的Swing中,自定义绘图的实现真的是错误的,

这是您所需的tutorialJava6 API

关于此论坛的

有很多关于Painting Something in JComponents

的主题

编辑:如果你想画一些东西,那么寻找JLabel(通过defalut透明),2D Graphics最好JComponenthere的例子,以及仅使用paintComponent()方法