java - 在 Java 中修改图形上下文

标签 java swing

我有一个尝试修改 JComponent 图形上下文的表单。例如,我使用的是

((Graphics2D) target.getGraphics()).setStroke(new BasicStroke(5));

现在,在我设置值并关闭表单后,更改不可见。我是否不允许修改 JComponent 的图形上下文?我还能如何修改笔划、颜色和变换?

谢谢

弗拉德

最佳答案

这种方法存在几个问题。首先,大多数组件在被要求重新绘制自身时都会自行设置这些内容。这意味着每次组件到达实际使用它的位置时,您的更改都会丢失。但是,在更基本的层面上,Graphics2D 对象并不是持久的。它们通常在每次重绘组件时实例化,这意味着您获得的 Graphics2D 对象与重绘时组件将使用的不同。

要实现这种事情,你需要做的就是要么自己重新实现特定的组件,要么实现一个会影响整套 Swing 组件的新外观和感觉。请查看以下链接以获取有关此内容的更多详细信息:

http://today.java.net/pub/a/today/2006/09/12/how-to-write-custom-look-and-feel.html

关于java - 在 Java 中修改图形上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/275927/

相关文章:

java - Jena RDF 文件解析问题

java - 将图片添加到 SUPER 并关闭旧窗口以打开新窗口

java - Java Swing 还在使用吗?

java - 如何调用以 Graphics g 作为参数的方法?

java - Spring MVC : Handling data in an One to many relationship?

java - 菜单布局+一些静态和可切换内容

java - #Tablesaw #Java 导出为 csv 时,表格将缩减为仅列表的最后一个元素

java - 如何通过箭头键禁用 JSpinner 的键盘控制?

Java 桌面通知 Ubuntu

java - 使用 JTWAIN 访问网络扫描仪