【发布时间】:2021-09-29 08:52:44
【问题描述】:
我有以下代码:
private void gardenJPanelMouseClicked(java.awt.event.MouseEvent evt) {
Graphics g = this.gardenJPanel.getGraphics();
Graphics2D draw = (Graphics2D) g;
int x = evt.getX();
int y = evt.getY();
draw.setStroke(new BasicStroke(pointStroke));
draw.drawLine(x, y, x, y);
}
以下代码完美地利用了 JPanel。唯一的问题是切换选项卡时 JPanel 上的图形会重置。切换选项卡时如何防止 JPanel 重置为空白?我想不通这个问题。
【问题讨论】:
-
在组件上执行自定义绘画时,您应该重写paintComponent方法,否则每次刷新面板时都会丢失更改。官方 java 教程有一个关于如何使用自定义绘画的优秀部分:docs.oracle.com/javase/tutorial/uiswing/painting/index.html
-
@sorfiend 你能提供一个例子来说明如何用我的代码覆盖它吗?我看到了,我非常困惑。我不知道如何使用 GUI 生成器来做到这一点。请帮忙。
-
@sorfiend 我正在使用 Net Beans。另外,我需要为此使用 JPanel。
-
@sorfiend 请看我下面的回复。我需要有关如何使用 GUI 生成器执行此操作的帮助。