У меня есть вопрос другого новичка, который, надеюсь, кто-то может помочь.
Я пытаюсь передать массив из одного класса в другой, чтобы использовать его для создания гистограммы. Я знаю, что могу передать массив в качестве параметра, но я получаю некоторые ошибки и в основном немного потерян.
Основной код для классов для диаграммы ниже. Предположим, я хочу передать «anArray» из «AnotherClass», кто-нибудь может сказать мне, как именно я должен передать его?
Я пытался передать его в качестве параметра JBChart & chartComponent, но я думаю, мне нужно, чтобы он был в paintComponent? Поскольку у него уже есть «Графика g» в качестве параметра, я довольно запутался. Во всяком случае, любой из этих двух, и я получаю ошибки nullPointer (хотя я знаю, что я тоже могу делать что-то не так).
Вот основной код для классов диаграммы. Любые идеи очень ценятся:
public class JBChart extends JFrame {
public JBChart() {}
public void buildChart()
{
ChartComponent component = new ChartComponent();
chartFrame.add(component);
chartFrame.setVisible(true);
}
}
public class ChartComponent extends JComponent {
public ChartComponent() {}
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
}
-
-EDIT-
Это первые несколько строк одной из трассировок стека (надеюсь, этого достаточно?): -
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at ChartComponent.<init>(ChartComponent.java:43) at JBChart.<init>(JBChart.java:32)
at JavaBallGUI.displayBarChart(JavaBallGUI.java:273)
at JavaBallGUI.actionPerformed(JavaBallGUI.java:310)
-
Линия, на которую он указывает:
for (int i = 0; i < teamObjects.length; i++)
{
if (teamObjects[i] != null)
{
teamName = teamObjects[i].getTeamName();
System.out.println(teamName);
}
}