Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

DocumentPanel.java 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package org.apache.fop.viewer;
  2. import java.awt.*;
  3. import javax.swing.*;
  4. import org.apache.fop.layout.*;
  5. import org.apache.fop.render.awt.*;
  6. /**
  7. * Diese Komponente stellt im Dialog das Dokument dar.
  8. */
  9. public class DocumentPanel extends JComponent {
  10. static final int V_BORDER = 80;
  11. static final int H_BORDER = 70;
  12. protected AWTRenderer renderer;
  13. protected PreviewDialog previewDialog;
  14. protected AreaTree areaTree;
  15. protected int pageNumber = 0;
  16. protected int docWidth;
  17. protected int docHeight;
  18. protected Color myColor;
  19. protected int pageCount = 0;
  20. public DocumentPanel(AWTRenderer aRenderer, PreviewDialog p) {
  21. previewDialog = p;
  22. renderer = aRenderer;
  23. renderer.setComponent(this);
  24. myColor = previewDialog.getBackground();
  25. }
  26. public void updateSize(int aPageNumber, double aFactor) {
  27. if (areaTree == null)
  28. return;
  29. Page aPage = (Page)areaTree.getPages().elementAt(aPageNumber);
  30. docWidth = aPage.getWidth() / 1000;
  31. docHeight = aPage.getHeight() / 1000;
  32. // Ruft paintComponent auf.
  33. setSize((int)(aFactor * aPage.getWidth() / 1000.0 + 2*V_BORDER),
  34. (int)(aFactor * aPage.getHeight()/ 1000.0 + 2*H_BORDER));
  35. }
  36. public void setAreaTree(AreaTree tree) {
  37. areaTree = tree;
  38. updateSize(pageNumber, 1.0);
  39. getParent().getParent().doLayout();
  40. }
  41. public void paintComponent(Graphics g) {
  42. Color ownColor = g.getColor();
  43. g.setColor(myColor);
  44. g.fillRect(0, 0, getWidth(), getHeight());
  45. g.setColor(ownColor);
  46. g.translate(V_BORDER, H_BORDER);
  47. renderer.setGraphics((Graphics2D)g);
  48. if (areaTree != null) {
  49. try {
  50. renderer.render(areaTree, pageNumber);
  51. } catch(Exception ex) {
  52. ex.printStackTrace();
  53. }
  54. }
  55. g.translate(-V_BORDER, -H_BORDER);
  56. }
  57. public void setPageNumber(int number) {
  58. pageNumber = number;
  59. }
  60. public Dimension getPreferredSize() {
  61. return getSize();
  62. }
  63. public void setPageCount(int aPageCount) {
  64. pageCount = aPageCount;
  65. previewDialog.setPageCount(pageCount);
  66. }
  67. }