changeset 258:ece9efbd0508

tweak
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Fri, 24 Jan 2020 19:36:04 +0900
parents 7543b2a0548e
children c24b6d841a8f
files src/main/java/christie/textEditor/ss2.java src/test/java/christie/example/RemoteTake/StartRemoteTake.java
diffstat 2 files changed, 90 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/christie/textEditor/ss2.java	Fri Jan 24 19:36:04 2020 +0900
@@ -0,0 +1,88 @@
+package christie.textEditor;
+
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.event.KeyEvent;
+
+import java.io.File;
+import java.io.IOException;
+
+import javax.swing.JDesktopPane;
+import javax.swing.JFileChooser;
+import javax.swing.JFrame;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
+import javax.swing.KeyStroke;;
+
+public class MainFrame extends JFrame{
+    private JDesktopPane desktop;
+
+    private JFileChooser fileChooser;
+
+    private static MainFrame instance;
+
+    private MainFrame(){
+        //タイトルを設定
+        super("テキストエディタ") ;
+        setSize(1024,768);
+        //ウィンドウを閉じたらアプリを終了する。
+        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
+        //メインウィンドウにコンポーネントを配置する領域とのこと。
+        Container container = this.getContentPane();
+
+        //メニューバーを初期化
+        JMenuBar menuBar = new JMenuBar();
+        //コンテナにメニューバーを配置する(ウインドウ上部に)
+        container.add(menuBar, BorderLayout.NORTH);
+        JMenu menuFile = new JMenu("ファイル");
+        menuBar.add(menuFile);
+        //開くメニューの作成
+        JMenuItem menuOpen = new JMenuItem(new MenuActionOpen());
+        //CTRT + oショートカットキーの設定
+        menuOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,KeyEvent.CTRL_DOWN_MASK));
+        //ファイルメニューに開くを追加する
+        menuFile.add(menuOpen);
+
+        desktop = new JDesktopPane();
+        container.add(desktop);
+
+        TextFrame textFrame = new TextFrame();
+
+        desktop.add(textFrame);
+        textFrame.setVisible(true);
+
+        //ファイル選択ダイアグの初期化
+        fileChooser = new JFileChooser();
+        //テキストファイル(*.txt)のみ表示するフィルターを追加
+        //fileChooser.addChoosableFileFilter(new TextFileFilter());
+    }
+
+    void openFile(){
+        //ファイルを開くダイアログを表示する
+        int result = fileChooser.showOpenDialog(this);
+        //ファイル選択時の処理
+        if (JFileChooser.APPROVE_OPTION == result) {
+            File selectedFile = fileChooser.getSelectedFile();
+            System.out.println(selectedFile);
+            try{
+                TextFrame textFrame = new TextFrame(selectedFile);
+                //JDesktopPaneにテキストウィンドウを追加
+                this.desktop.add(textFrame);
+                textFrame.setVisible(true);
+            }catch(IOException e){
+                JOptionPane.showMessageDialog(this, "IOExeption: ファイルを開くのに失敗しました。");
+            }
+        }
+    }
+
+    public static MainFrame getInstance(){
+        if (instance == null){
+            instance = new MainFrame();
+        }
+        return instance;
+    }
+
+}
--- a/src/test/java/christie/example/RemoteTake/StartRemoteTake.java	Fri Jan 24 19:34:26 2020 +0900
+++ b/src/test/java/christie/example/RemoteTake/StartRemoteTake.java	Fri Jan 24 19:36:04 2020 +0900
@@ -13,9 +13,11 @@
         CodeGearManager cgm = createCGM(10000);
         new StartRemoteTake(cgm);
 
+
         cgm.createRemoteDGM("remote", "localhost", 10001hg );
         cgm.setup(new CreateRemoteTakeTest());
 
+
         CodeGearManager cgm2 = createCGM(10001);
         cgm2.createRemoteDGM("remote", "localhost", 10000);
         cgm2.setup(new CreateRemoteTakeTest());