Hallo,
ich kämpfe nun schon eine Weile damit, irgendetwas über einen angezeigten JInternalFrame zu zeichnen. Ich stelle mir vor, das ich mit meinem Mousezeiger einfache Markierungen auf mein PDF malen kann. Momentan habe ich nur die Idee, die aktuelle Seite als Bild abzuspeichern, dann wieder reinzuladen und mit paintComponent zu übermalen. Hat jemand ne bessere Idee, wie ich vorgehen soll?
Mit LayeredPane habe ich auch schon experimentiert, kann dort auch über nen normalen InternalFrame drübermalen, aber eben nicht über den von ICEpdf. Wundert euch nicht über das mit BasicInternalFrameUI... das hatte mir mal einer geraten um den InternalFrame quasi randlos zu machen. Das was da von factory.buildViewerPanel().getComponent(1) ist übrigens eine JSplitPane.
ich kämpfe nun schon eine Weile damit, irgendetwas über einen angezeigten JInternalFrame zu zeichnen. Ich stelle mir vor, das ich mit meinem Mousezeiger einfache Markierungen auf mein PDF malen kann. Momentan habe ich nur die Idee, die aktuelle Seite als Bild abzuspeichern, dann wieder reinzuladen und mit paintComponent zu übermalen. Hat jemand ne bessere Idee, wie ich vorgehen soll?
Code:
controller = new SwingController();
factory = new SwingViewBuilder(controller);
controller.openDocument(filePath);
JLayeredPane desktopPane = new JDesktopPane();
desktopPane.setPreferredSize(dim);
JInternalFrame contentInternalFrame = new JInternalFrame();
contentInternalFrame.setUI(new BasicInternalFrameUI(contentInternalFrame) {
@Override protected JComponent createNorthPane(JInternalFrame contentInternalFrame) { return null; }
@Override protected void installDefaults() {super.installDefaults(); frame.setBorder(null); }
});
contentInternalFrame.getContentPane().add(factory.buildViewerPanel().getComponent(1));
contentInternalFrame.setVisible(true);
desktopPane.add(contentInternalFrame, JLayeredPane.DEFAULT_LAYER);
try { contentInternalFrame.setMaximum(true); } catch (PropertyVetoException e) {}
this.add(desktopPane.getComponent(0));
Mit LayeredPane habe ich auch schon experimentiert, kann dort auch über nen normalen InternalFrame drübermalen, aber eben nicht über den von ICEpdf. Wundert euch nicht über das mit BasicInternalFrameUI... das hatte mir mal einer geraten um den InternalFrame quasi randlos zu machen. Das was da von factory.buildViewerPanel().getComponent(1) ist übrigens eine JSplitPane.