Das Notes Forum
Lotus Notes / Domino Sonstiges => Java und .NET mit Notes/Domino => Thema gestartet von: D. Roth. am 17.01.04 - 18:58:26
-
Hallo zusammen,
ich eine Notes Dokument eine Bubble Chart anzeigen.
Das geht soweit ich weiß mit Notes nicht. Also hab ich mir gedacht es gibt bestimmt ein Java Applet dafür. Aber nach langem suchen hab ich nichts gefunden.
So, und nun will ich das Applet selber programmieren.
Aber ich hab überhaupt keine Idee wo ich anfangen soll.
könnt ihr mir ein paar Tipps oder Code Zeilen senden?
Merci
Daniel
???
-
Aber ich hab überhaupt keine Idee wo ich anfangen soll.
meinst du "wie funktionieren Applets und Notes zusammen" oder "wie erstelle ich überhaupt ein Applet"?
-
http://www.google.de/search?hl=de&ie=UTF-8&oe=UTF-8&q=Bubble+Chart+Java+open+Source&spell=1
(link per copy und paste in Browseradressfenster kopieren)
Ohne dass ich dafür Experte wäre, aber JFreeChart (2. Eintrag) wird nicht schlecht bewertet.
Gruß Axel
-
Schon mal Vielen Dank !!
Hab ein Bubble Chart Applet mit FreeChart erstellt. Nun hab ich das Problem das es im Notes Client R5 nicht angezeigt werden kann.
Liegt es vielleicht daran das Notes R5 JDK 1.1 hat und vielleicht JFreeChart eine höhere Version braucht?
package noteschart;
import org.jfree.data.XYZDataset;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
//import org.jfree.data.CategoryDataset;
//import org.jfree.data.XYZDataset;
//import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
//import org.jfree.ui.RefineryUtilities;
import org.jfree.chart.axis.NumberAxis;
//import org.jfree.data.AbstractSeriesDataset;
import org.jfree.data.XYZDataset;
//import java.awt.*;
import javax.swing.*;
//AppletBase
/**
*
*/
public class BubbleChart extends JApplet {
/**
* Constructs the demo applet.
*/
public BubbleChart() {
}
//Initialize the applet
public void init(){
String text;
XYZDataset data1 =new SampleXYZDataset();
JFreeChart chart1 =createChart(data1);
ChartPanel chartPanel = new ChartPanel(chart1);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
chartPanel.setVerticalZoom(true);
chartPanel.setHorizontalZoom(true);
add(chartPanel);
}
/**
* Creates a chart.
*
* @param dataset the dataset.
*
* @return The chart.
*/
private JFreeChart createChart(XYZDataset dataset) {
JFreeChart chart = ChartFactory.createBubbleChart(
"Bubble Demo",
"X",
"Y",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false
);
XYPlot plot = chart.getXYPlot();
plot.setForegroundAlpha(0.65f);
// increase the margins to account for the fact that the auto-range doesn't take into
// account the bubble size...
NumberAxis domainAxis = (NumberAxis) plot.getDomainAxis();
domainAxis.setLowerMargin(0.15);
domainAxis.setUpperMargin(0.15);
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setLowerMargin(0.15);
rangeAxis.setUpperMargin(0.15);
return chart;
}
}
-
Liegt es vielleicht daran das Notes R5 JDK 1.1 hat und vielleicht JFreeChart eine höhere Version braucht?
vermutlich. mit welcher jdk-Version kompilierst du denn? 1.1.8 ist für Notes geeignet. Bei allen höheren Versionen kannst du glaube ich den target-Schalter von javac entsprechend setzen (da hab ich allerdings keine Erfahrung)
Wenn du mit jdk 1.1.8 arbeitest hast du ein weiteres Problemchen: da sind die JFC bzw. Swing nicht integriert und du musst dir noch das passende Swing-Package von sun besorgen.
Außerdem kennt Notes 5 deine importierten Packages(javax.swing und org.jfree) nicht von Haus aus.
hast du die Notes schon bekannt gemacht?
Das kannst du z.B. über impoprtieren der Packages in deinem CreateApplet-Dialog in Notes (ich habe die Erfahrung gemacht, dass das eine üble Performance ergibt). Oder du verteilst die benötigten Packages an alle Clients und machst sie Notes bekannt, indem du ihren Speicherort in die Variable JavaUserClasses in der Notes.ini schreibst
Und nochwas sehe ich gerade: Normalerweise musst du Applets in Notes von der Klasse AppletBase aus lotus.domino.* ableiten. Ob das auch so ist, wenn du keine Notes-Klassen verwendest, weiß ich nicht, es ist aber auch eine denkbare Fehlerquelle. Mehr dazu findest du in der Designerhilfe unter dem Begriff AppletBase
Hmm, sind etwas viele Fehlerquellen geworden. Frag einfach nach, wenn du zu irgeneinem Punkt noch was wissen willst
-
Wie kann ich die swing jar im LN bekannt machen.
-
Das kannst du z.B. über impoprtieren der Packages in deinem CreateApplet-Dialog in Notes (ich habe die Erfahrung gemacht, dass das eine üble Performance ergibt). Oder du verteilst die benötigten Packages an alle Clients und machst sie Notes bekannt, indem du ihren Speicherort in die Variable JavaUserClasses in der Notes.ini schreibst
-
Also irgendwie funtzt das ganze nicht ich werd noch wahnsinning kann mir vieleicht jemand helfen. Oder hat es schon jemand zum laufen bekommen ?
-
Ich habe sowas noch nie versucht. Ich glaube, es ist ziemlich hardcore.
Swing gibt es eigentlich erst seit Java2.
Alle vernünftigen neueren gui-graphik mässigen Geschichten benötigen Swing, die Java2D API. Ok evtl auch swt, aber das benötigt auf jeden Fall auch Java2.
Mit Domino5 muss man es mit irgendwelchen early access versions von Swing versuchen. Ich glaube, damit ist das eigentliche Swing in Java2 gar nicht abwärtskompatibel. Sun achtet normalerweise stark auf Abwärtskompatibilität.
JFreeChart wurde für Java2 programmiert. Zu versuchen das mit Java1.1 zu versuchen, ist so ähnlich wie einen Elephanten auf einen See mit 2 cm dick*n Eis zu schicken.
Java und all diese openSource, J2EE und weiss der Geier was für Zusatzdinger sind konzeptionell sehr modular aufgebaut. Da sollte man schon darauf achten, eine höhere oder gleiche Version zu nehmen wie in der Doku angegeben.
Alles andere bringt nur Ärger.
Gruß Axel
-
Eine Möglichkeit wäre es einen Java Client zu verteilen.
Dafür bräuchten alle User aber zumindest eine JVM (kostet ja nix).
Dann würdest du natürlich nach wie vor mit dem Problem konfrontiert sein, wie du die Clients verteilst.
Das ginge aber über Java Web Start.
Mit Notes6 wäre das ein wesentlich geringeres Problem.
Die Widerstände auf User-Seite auf Notes6 zu portieren, kann ich immer weniger verstehen.
Vermutlich schicken die ihre Abteilungen eher auf Websphere Schulungen mit EJB Entity Beans. Nix gegen Websphere, aber da handelt man sich ganz neue interessante Diskussionen ein.
Gruß Axel
-
Also irgendwie funtzt das ganze nicht ich werd noch wahnsinning kann mir vieleicht jemand helfen. Oder hat es schon jemand zum laufen bekommen ?
was funktioniert denn nicht?
was funktioniert schon?
welche Fehlermeldungen erhältst du?
usw.?
-
@Thomas: Du hast recht. Solche grobkörnigen Fragen sind wirklich kaum zu beantworten.
Im Installations-Guide von JFreeChart steht should run on any implementation of the Java2 Platform (jdk1.2.2 or later).
Ich weiss aus Erfahrung, dass man solche Angaben sehr ernst nehmen sollte. Die meisten open-Source packages sind heute nur noch für Java2 verfügbar.