java - JFrame更新问题

标签 java swing canvas jframe

我想出现两个不同的框架,每个框架都有不同的结果。我的代码是:

JFrame frame = new JFrame("Before the outage in Maximization");
MyCanvas canvas = new MyCanvas(initials.vaccesspoint,initials.vTerminal);
frame.setSize(initials.frameSize, initials.frameSize);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(canvas);
frame.setVisible(true);
Graphics graph = canvas.getGraphics();
canvas.paintComponent(graph);

在此之后,我编写了一些代码来更改最后一帧的索引,然后再次运行:

JFrame frame2 = new JFrame("Before the outage in Maximization");
MyCanvas canvas2 = new MyCanvas(initials.vaccesspoint,initials.vTerminal);
frame2.setSize(initials.frameSize, initials.frameSize);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame2.add(canvas2);
frame2.setVisible(true);
Graphics graph2 = canvas2.getGraphics();
canvas2.paintComponent(graph2);

然后它们出现两个框架,但它们具有相同的信息。这是错误的。请问有什么帮助吗?

最佳答案

这两行是相同的

MyCanvas canvas = new MyCanvas(initials.vaccesspoint,initials.vTerminal);
MyCanvas canvas2 = new MyCanvas(initials.vaccesspoint,initials.vTerminal);

所以我们必须假设某个地方的数据是不同的..

这些行不是必需的

Graphics graph = canvas.getGraphics();
canvas.paintComponent(graph);

Graphics graph2 = canvas2.getGraphics();
canvas2.paintComponent(graph2);

事实上,我想说这是一个坏主意。您无法控制绘制过程,而 Swing 可以控制。

关于java - JFrame更新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12299444/

相关文章:

java - 使用 customAdapter 后项目的错误位置

java - 在 Java 中加入路径

Java菜单问题

javascript - 如何在 HTML Canvas 中制作两个连接的开放弧(没有水平线)?

html - Canvas context.fillText() 与 context.strokeText()

java - 有没有办法在不重新绑定(bind)的情况下更新 RecyclerView 中的某些项目?

java - Red5:创建视频流的服务器端缩略图?

Java Swing 2D小游戏: how to modelize the view?

java - 如何预先显示系统上运行的任何软件或应用程序之外的任何消息

javascript - 将 Canvas 转换为图像不包括 Canvas 上的图像