1

在我的应用程序中,我需要JTextArea在面板上的某个位置上绘图,并且需要能够放大和缩小它。

paintComponent对于定位它,我可以使用绝对定位,但缩放带来了挑战——我可以通过调整方法轻松地缩小它:

@Override
public void paintComponent(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
    g2.scale(0.5,0.5);
    super.paintComponent(g2);
}

但是按比例放大不起作用 - 因为我使用setBounds显式设置组件的边界,所以部分按比例放大的组件最终不会被绘制。我该如何解决?

编辑:有点解释。

我维护的应用程序是一种图形编辑器,我需要添加一个功能,即在工作区添加注释之类的东西,以便用户可以直接在该工作区键入文本。与大多数图形编辑器一样,工作区域可以移动和放大/缩小,因此用户输入文本的文本区域也应该移动和缩放。

4

1 回答 1

2

如果文本组件在缩放时必须保持可编辑状态,您可以将使用的(粗略)比例缩放到比例因子,如此Font所示。

图片

于 2012-10-07T17:01:37.063 回答