我正在尝试学习 Java 的一些图形方面。我制作了一个列出点的文本文件,文件中的第一行确定有多少点。我需要获取文本文件中的点并将它们绘制在画布上。我查看了几个资源,但我只是不明白一切是如何协同工作的。我什至找不到提供所有代码并解释每个部分的位置以及如何调用它的教程。基本上,我对 JPanels、JFrames 以及基本上整个过程感到困惑。下面是我到目前为止编写的代码和文件外观的屏幕截图。
代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.Graphics.*;
import java.util.*;
import java.io.*;
public class drawPoints extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
this.setBackground(Color.WHITE);
g.setColor(Color.BLUE);
try{
FileInputStream fstream = new FileInputStream("Desktop/Assign2Test1.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
int i = 1;
while ((strLine = br.readLine()) != null){
final Point[] points = new Point[Integer.parseInt(br.readLine())];
final String[] split = strLine.split("\u0009");
points[i++] = new Point(Integer.parseInt(split[0]), Integer.parseInt(split[1]));
}
in.close();
}catch (Exception e){ System.err.println("Error: " + e.getMessage());
}
}
import javax.swing.*;
public class mainDrawPoint
{
public static void main(String args[])
{
JFrame f = new JFrame("Draw Points Application");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
drawPoints dP = new drawPoints();
f.add(dP);
f.setSize(500,500);
f.setVisible(true);
}
}
代码所做的就是将值放入一个数组中。
x 和 y 坐标由制表符分隔。任何帮助,将不胜感激!