Difference between revisions of "MagicDraw in Docker"
Jump to navigation
Jump to search
Line 23: | Line 23: | ||
WORKDIR /home/root/java/ | WORKDIR /home/root/java/ | ||
ENTRYPOINT ["java", "-cp","bin","Gui"] | ENTRYPOINT ["java", "-cp","bin","Gui"] | ||
+ | </source> | ||
+ | == Gui.java == | ||
+ | <source lang='java'> | ||
+ | import javax.swing.*; | ||
+ | import java.awt.event.*; | ||
+ | |||
+ | /** | ||
+ | * | ||
+ | */ | ||
+ | public class Gui { | ||
+ | public static class MyAction implements ActionListener { | ||
+ | public void actionPerformed(ActionEvent ae){ | ||
+ | JOptionPane.showMessageDialog(null, "Thanks.", "GUI Test", 1); | ||
+ | } | ||
+ | } | ||
+ | public static void main(String args[]){ | ||
+ | JFrame frame = new JFrame("GUI Test"); | ||
+ | frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | ||
+ | frame.setSize(300,300); | ||
+ | JButton button1 = new JButton("Click me"); | ||
+ | frame.getContentPane().add(button1); | ||
+ | button1.addActionListener(new MyAction()); | ||
+ | |||
+ | frame.setVisible(true); | ||
+ | } | ||
+ | } | ||
</source> | </source> |
Revision as of 18:04, 3 April 2019
How to run MagicDraw in Docker container
see also https://community.nomagic.com/running-magicdraw-in-a-docker-container-t5895.html
The goal is to get an older MagicDraw 16.9 working in a container.
Prerequisites
You need to be able to run a Java 6 Swing GUI in a container. To get the GUI environment working might be tricky e.g. on MacOS see https://stackoverflow.com/questions/37826094/xt-error-cant-open-display-if-using-default-display
Dockerfile
FROM java:6
MAINTAINER Wolfgang Fahl (https://www.bitplan.com)
LABEL Description="Java GUI"
COPY src /home/root/java/src
WORKDIR /home/root/java
RUN mkdir bin
RUN javac -d bin src/Gui.java
WORKDIR /home/root/java/
ENTRYPOINT ["java", "-cp","bin","Gui"]
Gui.java
import javax.swing.*;
import java.awt.event.*;
/**
*
*/
public class Gui {
public static class MyAction implements ActionListener {
public void actionPerformed(ActionEvent ae){
JOptionPane.showMessageDialog(null, "Thanks.", "GUI Test", 1);
}
}
public static void main(String args[]){
JFrame frame = new JFrame("GUI Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,300);
JButton button1 = new JButton("Click me");
frame.getContentPane().add(button1);
button1.addActionListener(new MyAction());
frame.setVisible(true);
}
}