java平移变换_java – 如何平移和缩放JComponents?

我正在尝试为图形编程构建用户界面.我想使用JUNG来处理绘图的图形方面.我不想使用Graphics2D绘制所有小部件,而是希望尽可能多地使用Swing小部件来利用Swing的事件架构.

我希望能够平移,缩放,旋转绘制图形的画布,但仍然能够操作Swing小部件,只要它们足够大就可以看到.我还希望根据我选择的JUNG布局算法自动布局小部件.

如何组合Graphics2D图纸和Swing组件?

我知道JComponents会使用paint()方法来绘制自己.我无法理解的是如何创建可受Graphics2D转换影响的Swing对象,并仍保留其所有事件处理.我不能只显示组件的图像.组件必须是活动的.

我已经尝试了子类化小部件并将AffineTransform添加到传递给父级paint方法的图形对象.它会旋转小部件,但裁剪似乎已关闭.

有什么建议?目前,如果可以,我想避免添加另一个库.

解决方法:

例如,JDigit extends JButton并覆盖paintComponent()以缩放到其封闭Container的大小.对于速度,组件使用预渲染的字形,但deriveFont()仅略慢.通过实现Icon界面可以获得类似的结果.此example将按钮网格缩放为几个预定大小,此example完全放弃组件,缩放图形上下文和所有内容.

标签:java,swing,jung

来源: https://codeday.me/bug/20190902/1789903.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值