diff --git a/pom.xml b/pom.xml index 8a3457e..879188b 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ istlab.KisoJikkenNWP KisoJikkenNWP jar - 1.0-SNAPSHOT + 0.3 KisoJikkenNWP http://maven.apache.org @@ -49,11 +49,19 @@ - + + + org.codehaus.mojo @@ -82,6 +90,8 @@ jar-with-dependencies + ${project.artifactId}-${project.version}-launcher + false diff --git a/src/main/java/istlab/KisoJikken/Launcher.java b/src/main/java/istlab/KisoJikken/Launcher.java index b8a1d40..bcf36ed 100644 --- a/src/main/java/istlab/KisoJikken/Launcher.java +++ b/src/main/java/istlab/KisoJikken/Launcher.java @@ -5,10 +5,21 @@ import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.io.File; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.security.CodeSource; +import java.security.ProtectionDomain; import java.util.Arrays; import java.util.Hashtable; import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.event.MouseInputListener; @@ -16,18 +27,19 @@ import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; -public class Launcher extends JFrame implements MouseInputListener , KeyListener{ +public class Launcher extends JFrame implements MouseInputListener, KeyListener { public static Launcher theapp; + public static String version = "0.3"; // JPanel mainP; JTree tree; Hashtable file2editor; public Launcher(String[] args) { - super("Kiso NWP Launcher"); + super("Kiso NWP Launcher v"+version); setDefaultCloseOperation(EXIT_ON_CLOSE); // mainP = new JPanel(); - file2editor = new Hashtable(); + file2editor = new Hashtable(); theapp = this; File root; @@ -55,10 +67,42 @@ // ShellScriptPanel run11 = new ShellScriptPanel("run1-1.sh"); getContentPane().add(scrollpane, BorderLayout.CENTER); + // Menu + JMenuBar menuBar = new JMenuBar(); + JMenu menu = new JMenu("App"); + JMenuItem mi = new JMenuItem("show Version"); + mi.addActionListener(ae -> JOptionPane.showMessageDialog(this, "Kiso NWP Launcher v"+version)); + menu.add(mi); + + mi = new JMenuItem("download Latest"); + mi.addActionListener(ae -> downloadLatest()); + menu.add(mi); + + menuBar.add(menu); + setJMenuBar(menuBar); + // getContentPane().add(mainP, BorderLayout.WEST); setSize(400, 600); } + public void downloadLatest() { + try { + System.out.println(getApplicationPath(this.getClass())); + } catch (URISyntaxException e) { + e.printStackTrace(); + } + + } + + public static Path getApplicationPath(Class cls) throws URISyntaxException { + ProtectionDomain pd = cls.getProtectionDomain(); + CodeSource cs = pd.getCodeSource(); + URL location = cs.getLocation(); + URI uri = location.toURI(); + Path path = Paths.get(uri); + return path; + } + @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { @@ -66,14 +110,15 @@ } } - private void openEditor(){ + private void openEditor() { TreePath tp = tree.getSelectionModel().getSelectionPath(); - if (tp==null) return; + if (tp == null) + return; File node = (File) tp.getLastPathComponent(); Editor ed = file2editor.get(node); - if (ed==null) { + if (ed == null) { ed = new Editor(node); - file2editor.put(node,ed); + file2editor.put(node, ed); } else { ed.setVisible(true); ed.toFront(); @@ -81,7 +126,6 @@ System.out.println(node.toString()); } - @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub @@ -121,23 +165,23 @@ @Override public void keyTyped(KeyEvent e) { // TODO Auto-generated method stub - + } @Override public void keyPressed(KeyEvent e) { - if (e.getKeyCode()==32){ + if (e.getKeyCode() == 32) { openEditor(); } // TODO Auto-generated method stub - + } @Override public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub - + } } @@ -179,7 +223,8 @@ public Object getChild(Object parent, int index) { String[] children = ((File) parent).list(); Arrays.sort(children); - if ((children == null) || (index >= children.length)) return null; + if ((children == null) || (index >= children.length)) + return null; return new File((File) parent, children[index]); } @@ -187,7 +232,8 @@ public int getIndexOfChild(Object parent, Object child) { String[] children = ((File) parent).list(); Arrays.sort(children); - if (children == null) return -1; + if (children == null) + return -1; String childname = ((File) child).getName(); // if (childname.startsWith(".")) return -1; for (int i = 0; i < children.length; i++) { diff --git a/target/classes/Hello.java b/target/classes/Hello.java deleted file mode 100644 index aa4ed8a..0000000 --- a/target/classes/Hello.java +++ /dev/null @@ -1,8 +0,0 @@ -import javax.swing.JOptionPane; - -public class Hello { - public String toString() { - JOptionPane.showMessageDialog(null,"これはテストです"); - return "helloMiura"; - } -} \ No newline at end of file diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties index c523283..c22887b 100644 --- a/target/maven-archiver/pom.properties +++ b/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Tue Aug 30 16:36:05 JST 2022 +#Wed Sep 07 15:50:24 JST 2022 artifactId=KisoJikkenNWP groupId=istlab.KisoJikkenNWP -version=1.0-SNAPSHOT +version=0.3 diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index f4c28f3..15f432d 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,10 +1,14 @@ +/Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/istlab/KisoJikken/JCompiler.java +/Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/istlab/KisoJikken/ConsoleTest.java /Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/org/mdkt/compiler/CompilationException.java /Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/istlab/KisoJikken/ShellScriptPanel.java +/Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/istlab/KisoJikken/JTAConsole.java /Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/org/mdkt/compiler/SourceCode.java /Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/istlab/KisoJikken/Editor.java /Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/org/mdkt/compiler/InMemoryJavaCompiler.java /Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/org/mdkt/compiler/ExtendedStandardJavaFileManager.java /Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/istlab/KisoJikken/Launcher.java +/Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/istlab/KisoJikken/JExecutor.java /Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/istlab/KisoJikken/CCellRenderer.java /Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/istlab/KisoJikken/ScriptRunner.java /Users/miura/Nextcloud/binsh/Java/Maven/KisoJikkenNWP/src/main/java/istlab/KisoJikken/AutoCompleteDemo.java