EOS 2  1.1.0
Einfache Objektbasierte Sprache
DiagramFrame.java
gehe zur Dokumentation dieser Datei
1 package de.lathanda.eos.gui.diagram;
2 
3 import static de.lathanda.eos.gui.icons.Icons.*;
4 
5 import java.awt.BorderLayout;
6 import java.awt.event.WindowEvent;
7 import java.awt.event.WindowListener;
8 
9 import javax.swing.JFrame;
10 
11 import de.lathanda.eos.base.util.GuiToolkit;
12 import de.lathanda.eos.common.gui.BackgroundCompiler;
13 import de.lathanda.eos.common.gui.ClipBoard;
14 
20 public class DiagramFrame extends JFrame implements WindowListener {
21  private static final long serialVersionUID = -2735991664797231612L;
23  Diagram diagram;
24 
30  public DiagramFrame(Diagram diagram, BackgroundCompiler bc) {
31  super(diagram.getTitle());
32  this.diagram = diagram;
33  this.bc = bc;
34  diagram.init(bc);
35  initComponents();
36  }
37 
41  private void initComponents() {
42 
43  diagramToolbar = new javax.swing.JToolBar();
44  btnClipboard = GuiToolkit.createButton(CLIPBOARD, null, evt -> btnClipboardActionPerformed(evt));
45  scroll = new javax.swing.JScrollPane();
46  scroll.setPreferredSize(GuiToolkit.scaledDimension(400, 400));
47  scroll.setViewportView(diagram);
48 
49  setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
50  addWindowListener(this);
51 
52  diagramToolbar.setFloatable(false);
53  diagramToolbar.setRollover(true);
54  diagramToolbar.add(btnClipboard);
55 
56  getContentPane().add(diagramToolbar, BorderLayout.NORTH);
57  getContentPane().add(scroll, BorderLayout.CENTER);
58 
59  pack();
60  }
61 
66  private void btnClipboardActionPerformed(java.awt.event.ActionEvent evt) {
67  ClipBoard.pushImage(diagram.export(300f));
68  }
69 
70  private javax.swing.JButton btnClipboard;
71  private javax.swing.JToolBar diagramToolbar;
72  private javax.swing.JScrollPane scroll;
73 
74  @Override
75  public void windowActivated(WindowEvent we) {
76  }
77 
78  @Override
79  public void windowClosed(WindowEvent we) {
80  }
81 
82  @Override
83  public void windowClosing(WindowEvent we) {
84  diagram.deinit(bc);
85  setVisible(false);
86  dispose();
87  }
88 
89  @Override
90  public void windowDeactivated(WindowEvent we) {
91  }
92 
93  @Override
94  public void windowDeiconified(WindowEvent we) {
95  }
96 
97  @Override
98  public void windowIconified(WindowEvent we) {
99  }
100 
101  @Override
102  public void windowOpened(WindowEvent we) {
103  }
104 
105 }
static Dimension scaledDimension(int width, int height)
static JButton createButton(Image image, String tooltip, ActionListener action)
DiagramFrame(Diagram diagram, BackgroundCompiler bc)
abstract BufferedImage export(float dpi)
abstract void init(BackgroundCompiler bc)
abstract void deinit(BackgroundCompiler bc)
Impressum