在Java中更改文本的颜色
我正在尝试创建一个单独的CustomFont类,其中我可以使用不同的文本属性.所以我创建了一个新的类扩展Font,并在里面创建了一个扩展JComponent的私有类Drawing.我在paintComponent方法中更改了字体和文本的颜色和其他特征. 问题是paintComponent方法没有被调用.我确信我犯了一些错误. 这是代码:
最佳答案
添加到我的评论:
1)您不应该通过调用paintComponent(..)方法的super.XXX实现来尊重paint链,它应该是覆盖方法中的第一个调用,否则可能发生异常:
在上面的代码中注意@Override注释,所以我确信我重写了正确的方法.并且getX()和getY()已被替换为0,因为getX和getY引用了组件位置,但是当我们调用drawString时,我们为它提供了在容器内绘制的位置的参数(并且它必须在当然,边界/大小是容器. 2)你应该在绘制到图形对象时覆盖getPreferredSize并返回适合你的组件绘图/内容的Dimensions,否则在视觉上不会有任何可见的,因为组件大小将是0,0:
正如一个建议使用一些RenderHints和Graphics2D看起来很漂亮的文本:)请看这里更多: > Displaying Antialiased Text by Using Rendering Hints (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 浅谈java 面对对象(抽象 继承 接口 多态)
- java – Hibernate SqlFragment内存泄漏?
- Java“public static void main(string [] args)”是创建ma
- java – Restlet Protocol.FILE用法
- java – 使用dispatchevent生成mousemove事件?
- java – 使用非泛型实现覆盖泛型方法
- java – 是否有实用程序或API将SMS速记缩写转换为正确的句子
- java之类的构造方法
- springboot与mybatis整合实例详解
- Numpy中的三个常用正态分布函数randn,standard_normal, n