$darkmode
DENOPTIM
JmolPanel.java
Go to the documentation of this file.
1/*
2 * DENOPTIM
3 * Copyright (C) 2022 Marco Foscato <marco.foscato@uib.no>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Affero General Public License as published
7 * by the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Affero General Public License for more details.
14 *
15 * You should have received a copy of the GNU Affero General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19package denoptim.gui;
20
21import java.awt.Dimension;
22import java.awt.Graphics;
23import java.util.Hashtable;
24import java.util.Map;
25
26import javax.swing.JPanel;
27
28import org.jmol.adapter.smarter.SmarterJmolAdapter;
29import org.jmol.api.JmolViewer;
30import org.jmol.viewer.Viewer;
31
32public class JmolPanel extends JPanel
33{
34
38 private static final long serialVersionUID = 1699908697703788097L;
39
40 protected JmolViewer viewer;
41
42 private final Dimension hostPanelSize = new Dimension();
43
44 public JmolPanel() {
45 Map<String, Object> info = new Hashtable<String, Object>();
46 info.put("display", this);
47 info.put("adapter", new SmarterJmolAdapter());
48 info.put("isApp", false);
49 info.put("silent", "");
50 viewer = new Viewer(info);
51 }
52
53//------------------------------------------------------------------------------
54
55 @Override
56 public void paint(Graphics g) {
57 getSize(hostPanelSize);
58 viewer.renderScreenImage(g, hostPanelSize.width, hostPanelSize.height);
59 }
60
61//------------------------------------------------------------------------------
62
63 public void dispose() {
64 viewer.dispose();
65 }
66
67//------------------------------------------------------------------------------
68
69}
final Dimension hostPanelSize
Definition: JmolPanel.java:42
void paint(Graphics g)
Definition: JmolPanel.java:56
static final long serialVersionUID
Version UID.
Definition: JmolPanel.java:38