gpt4 book ai didi

java - 问错误加载drawline

转载 作者:行者123 更新时间:2023-11-29 05:16:05 26 4
gpt4 key购买 nike

我想从数据库创建程序加载线。我一直在使用 double 在数据库中设置每个坐标。但是当我尝试从数据库加载并想在 jpanel 中画线时出现错误没有出现在我的 jpanel 中。如何解决?这是我的代码。

    ArrayList<Shape> linesList = new ArrayList<Shape>();
shape line = null;

public void loadline(){
while (rs.next()) {
double x1 = rs.getDouble("coorX"); //getting coordinate
double y1 = rs.getDouble("coorY");
double x2 = rs.getDouble("coorX2");
double y2 = rs.getDouble("coorY2");
line =new Line2D.Double(x1,y1,x2,y2);
linesList.add(line);
repaint();
revalidate();
}
}catch(Exception E){
JOptionPane.showMessageDialog(null, "error load data");
}
}catch(Exception e){
JOptionPane.showMessageDialog(null, "error sql");

}}

这是我的paint组件方法

 protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(birumuda);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
for(Shape content : linesList){
g2d.draw(content);
}
}

最佳答案

这应该抛出 NullPointerException。你在哪里初始化你的 g2d 变量?您的图形看起来做错了。您应该 1) 在后台线程中读取数据,并将其存储到一个集合中,可能是一个 ArrayList。完成后,在事件线程上通知 Swing,以便您可以在 JPanel 的 paintComponent 方法中绘制数据。查看painting tutorial有关 Swing 图形的更多信息。

关于java - 问错误加载drawline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32657139/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com