当我运行这个代码时,我看不到椭圆形,我只能看到一个空白的框架。我知道我可以使用PaintComponent(Graphics g)
方法,但我很想知道为什么我的代码不能工作。
public class Check {
public static void main(String[] args) {
Check c = new Check();
c.init();
}
public void init() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(3);
JPanel panel = new JPanel();
frame.setSize(new Dimension(800, 600));
frame.setTitle("Test");
frame.setVisible(true);
frame.getContentPane().add(panel);
Graphics2D g = (Graphics2D)panel.getGraphics();
g.setColor(Color.BLUE);
g.fillOval(50, 50, 50, 50);
}
所有Swing代码都应该在事件调度线程(EDT)上执行。这确保代码是单线程的。有关更多信息,请阅读关于并发的Swing教程。本教程还包括一节关于自定义绘画
您应该阅读。
在您的示例中,代码并没有按照您认为的顺序执行,因为一些绘制代码被放置在EDT上,并且在绘制椭圆形之后重新绘制框架。
import java.awt.*;
import javax.swing.*;
public class Check {
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
Check c = new Check();
c.init();
}
});
}
public void init() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(3);
JPanel panel = new JPanel();
frame.setSize(new Dimension(800, 600));
frame.setTitle("Test");
frame.getContentPane().add(panel);
frame.setVisible(true);
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
Graphics2D g = (Graphics2D)panel.getGraphics();
g.setColor(Color.BLUE);
g.fillOval(50, 50, 50, 50);
}
});
}
}
这就是为什么永远不要使用getgraphics()
的另一个原因。它只是暂时的绘制,一旦Swing确定某个组件需要重新绘制,它就会丢失。只需尝试调整框架大小,看看会发生什么。
我需要一些帮助,情况是我能够返回新的CSV文件,但无法将绘图图返回到另一个页面,并且我在不同的场景下分离了。有人能指出我应该对代码做什么吗?或者给我一些提示,提前谢谢! 应用程序。派克
我正在尝试用numpy、matplotlib和tkinter创建生活游戏。我计划首先询问用户游戏板上有多少行和列,以及一个单元格活产卵的概率。输入这些信息后,用户将按“生成”按钮开始游戏。但是,只要按下按钮,就会弹出错误:“AttributeError:‘numpy.ndarray’object has no attribute‘set\u canvas’”。我不知道为什么FigureCanvas
我的老师给了我这个 在一个n边正多边形中,所有边都有相同的长度,所有角都有相同的度数。设计一个名为正多边形的类,它包含:一个名为n的私有int数据栏,它定义了多边形中默认值为3的边的数量。一个名为side的私有双数据栏,它存储了默认值为1的边的长度。一个名为X的私有双数据栏,它定义了默认值为0的多边形中心的x坐标。一个名为Y的私有双数据栏,它定义了默认值为0的多边形中心的y坐标。创建具有指定边数、
问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我想用Java绘制图形(节点和边)。但是,由于我不知道该怎么做,因此在开始之前我想寻求一些建议。 我应该怎么做? 使用Graphics2D包,对吗? 节点的标签怎么样?我应该使用诸如drawString之类的东西并手动处理所有“
从TensorArray读取: 使用: 问题: 回溯(最近一次调用last):RLU培训中第130行的文件“\main.py”。train()文件“C:\Users\user\Documents\Projects\rl toolkit\rl_training.py”,第129行,在train self中_rpm,赛尔夫。批量大小,自行确定。梯度步数,记录步数b=self。在call result=
演示代码和显示颜色差异的在线Jupyter笔记本位于:https://anaconda.org/walter/pandas_seaborn_color/notebook 当我使用dataframe方法绘制条形图时,颜色是错误的。Seaborn改进了matplotlib的调色板。matplotlib中的所有绘图自动使用新的Seaborn调色板。但是,数据帧中的条形图将恢复为非Seaborn颜色。这种