Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Использование библиотеки chart2d


Автор: KAT 10.5.2004, 15:25
Если кто-то пользовался библиотекой chart2d, помогите, пожалуйста. Может, у кого-то есть нормальное описание этой библиотеки или свои какие-то наработки. Я делаю курсовик и у меня не получается пока нарисовать даже самый простой линейный график.

LLChart2D llChart2D = new LLChart2D();
Dataset dataset = new Dataset (1, 1, 1);
dataset.set (0, 0, 0, 10);
dataset.set (0, 0, 0, 20);
dataset.set (0, 0, 0, 30);
llChart2D.addDataset (dataset);

А потом в paint() делаю:
llChart2D.paintComponent(g);

Но при компиляции выдается
java.lang.NullPointerException и еще много чего мне непонятного.

Я только начала работать с джавой, так что пока мало разбираюсь. Буду очень благодарна за помощь.

Автор: simanyay 10.5.2004, 19:42
Для начала вот две ссылки на документацию по Chart2D:
http://chart2d.sourceforge.net/Chart2D_1.9.6/Tutorial/Tutorial.htm и http://chart2d.sourceforge.net/Chart2D_1.9.6/javadocs/index.html

Ну и приведи полный исходник, т.к. я думаю, что проблема не в самой библиотеке.

Автор: KAT 10.5.2004, 20:19
Спасибо. А эту документацию я уже читала, и делала все по ней. Но не получилось.
Вот исходник моего маленького апплета:

import net.sourceforge.chart2d.*;
import java.applet.*;
import java.awt.*;

public class Gr extends Applet
{
LLChart2D llChart2D = new LLChart2D();
Pdraw p1 = new Pdraw();

public void init()
{
Object2DProperties object2DProps = new Object2DProperties();
object2DProps.setObjectTitleText ("Title for this Object");
LegendProperties legendProps = new LegendProperties();
legendProps.setLegendExistence (false);
GraphProperties graphProps = new GraphProperties();
graphProps.setGraphBorderExistence(true);
MultiColorsProperties multiColorsProps = new MultiColorsProperties();
multiColorsProps.setMultiColorsPropertiesToDefaults();

Dataset dataset = new Dataset (1, 1, 1);
dataset.set (0, 0, 0, 10);
dataset.set (0, 0, 0, 20);
dataset.set (0, 0, 0, 30);

llChart2D.addDataset (dataset);
llChart2D.setObject2DProperties (object2DProps);
llChart2D.setLegendProperties (legendProps);
llChart2D.addGraphProperties (graphProps);
llChart2D.addMultiColorsProperties (multiColorsProps);

setLayout(new GridLayout(1, 2));
add(p1);

}

class Pdraw extends Panel
{
public void paint(Graphics g)
{
llChart2D.paintComponent(g);
}
}

}

А вот все, что мне выдается компилятором:
java.lang.NullPointerException
at net.sourceforge.chart2d.Chart2D.updateChart2D(Chart2D.java:151)
at net.sourceforge.chart2d.GraphChart2D.updateGraphChart2D(GraphChart2D.java:529)
at net.sourceforge.chart2d.LLChart2D.getPreferredSize(LLChart2D.java:112)
at net.sourceforge.chart2d.LLChart2D.updateImage(LLChart2D.java:250)
at net.sourceforge.chart2d.LLChart2D.paintComponent(LLChart2D.java:212)
at Gr$Pdraw.paint(Gr.java:49)
at sun.awt.RepaintArea.paint(RepaintArea.java:177)
at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:260)
at java.awt.Component.dispatchEventImpl(Component.java:3678)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Process terminated with exit code 0

Автор: simanyay 12.5.2004, 19:10
Я отправил тебе письмо. Посмотри.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)