# HG changeset patch # User ichikitakahiro # Date 1579602980 -32400 # Node ID fddd6f6e7693ffe35218dcfe14684ad6abdac481 # Parent 87f7afd6cbd9e128259e9271c39a76a114d6dec3 tweak diff -r 87f7afd6cbd9 -r fddd6f6e7693 src/main/java/christie/remotingTextEditor/StartManToManSession.java.orig --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/remotingTextEditor/StartManToManSession.java.orig Tue Jan 21 19:36:20 2020 +0900 @@ -0,0 +1,34 @@ +package christie.remotingTextEditor; + +import christie.codegear.CodeGearManager; +import christie.codegear.StartCodeGear; +import christie.topology.manager.StartTopologyManager; +import christie.topology.manager.TopologyManagerConfig; + +public class StartManToManSession extends StartCodeGear { + + public StartManToManSession(CodeGearManager cgm) { + super(cgm); + } + + public static void main(String[] args){ + int TopologyManagerPort = 10100; + int TopologyNodePort = 10101; + + String[] managerArg = {"--localPort", String.valueOf(TopologyManagerPort), "--confFile", "scripts/Log/manToMan.dot"}; + + TopologyManagerConfig topologyManagerConfig = new TopologyManagerConfig(managerArg); + new StartTopologyManager(topologyManagerConfig); + + + for (int i = 0; i <= 1; i++){ + String[] nodeArg = {"--managerPort", String.valueOf(TopologyManagerPort), + "--managerHost", "localhost", + "--localPort", String.valueOf(TopologyNodePort + i), + }; + + NodeStart.main(nodeArg); + + } + } +} diff -r 87f7afd6cbd9 -r fddd6f6e7693 src/main/java/christie/remotingTextEditor/StartManToManSession.java.rej --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/remotingTextEditor/StartManToManSession.java.rej Tue Jan 21 19:36:20 2020 +0900 @@ -0,0 +1,16 @@ +*************** +*** 13,19 **** + + public static void main(String[] args){ + //ポート番号10000~1000xはone上では他のライブラリに使われている。(Net.javaにつかわれている?) +- int TopologyManagerPort = 10100; + int TopologyNodePort = 10101; + + String[] managerArg = {"--localPort", String.valueOf(TopologyManagerPort), "--confFile", "scripts/Log/manToMan.dot"}; +--- 13,18 ---- + + public static void main(String[] args){ + //ポート番号10000~1000xはone上では他のライブラリに使われている。(Net.javaにつかわれている?) + int TopologyNodePort = 10101; + + String[] managerArg = {"--localPort", String.valueOf(TopologyManagerPort), "--confFile", "scripts/Log/manToMan.dot"}; diff -r 87f7afd6cbd9 -r fddd6f6e7693 src/main/java/christie/textEditor/main.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/textEditor/main.java Tue Jan 21 19:36:20 2020 +0900 @@ -0,0 +1,8 @@ +package christie.textEditor; + +public class main { + public static void main(String[] args) { + mainFrame mF = mainFrame.getInstance(); + mF.setVisible(true); + } +} diff -r 87f7afd6cbd9 -r fddd6f6e7693 src/main/java/christie/textEditor/mainFrame.java.orig --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/textEditor/mainFrame.java.orig Tue Jan 21 19:36:20 2020 +0900 @@ -0,0 +1,86 @@ +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); + //ウィンドウを閉じたらアプリを終了する。 + 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_0,KeyEvent.CTRL_DOWN_MASK)); + //ファイルメニューに開くを追加する + menuFile.add(menuOpen); + + desktop = new JDesktopPane(); + container.add(desktop); + + textFrame tF = new textFrame(); + desktop.add(tF); + tF.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(); + try{ + textFrame tF = new textFrame(selectedFile); + //JDesktopPaneにテキストウィンドウを追加 + desktop.add(tF); + tF.setVisible(true); + }catch(IOException e){ + JOptionPane.showMessageDialog(this, "IOExeption: ファイルを開くのに失敗しました。"); + } + } + } + + public static mainFrame getInstance(){ + if (instance == null){ + instance = new mainFrame(); + } + return instance; + } + +} diff -r 87f7afd6cbd9 -r fddd6f6e7693 src/main/java/christie/textEditor/menuActionOpen.java.orig --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/textEditor/menuActionOpen.java.orig Tue Jan 21 19:36:20 2020 +0900 @@ -0,0 +1,17 @@ +package christie.textEditor; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; + +class menuActionOpen extends AbstractAction{ + + @Override + public void actionPerformed(ActionEvent e){ + mainFrame.getInstance().openFile(); + } + + menuActionOpen(){ + super("開く"); + } +} diff -r 87f7afd6cbd9 -r fddd6f6e7693 src/main/java/christie/textEditor/textFrame.java.orig --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/christie/textEditor/textFrame.java.orig Tue Jan 21 19:36:20 2020 +0900 @@ -0,0 +1,68 @@ +package christie.textEditor; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; + +import javax.swing.JInternalFrame; +import javax.swing.JTextArea; + + + +public class textFrame extends JInternalFrame{ + private JTextArea textArea; + + private static String DEFAULT_CHARACTER_CODE = "Shift_JIS"; + + public textFrame(){ + this("新規テキスト"); + } + + public textFrame(String title){ + //JInternalFrameのコンストラクタの呼び出しを実行 + super(title, true, true, true , true); + //サイズの指定 + this.setSize(800,600); + // JTextArea(テキスト入力のコンポーネントを追加する。) + textArea = new JTextArea(); + this.add(textArea); + } + + public textFrame(File file) throws IOException { + this(file.getName()); + this.openFile(file); + } + + void openFile(File file) throws IOException{ + FileInputStream fiStream = null; + ByteArrayOutputStream baoStream = null; + try { + fiStream = new FileInputStream(file); + baoStream = new ByteArrayOutputStream(); + //読み込みデータ格納用配列 + byte[] byteData = new byte[1]; + int ret = fiStream.read(byteData); + //ファイルの最後まで繰り返す。 + while (ret != -1) { + baoStream.write(byteData); + ret = fiStream.read(byteData); + } + //バイト配列を文字列に変換 + String text = new String(baoStream.toByteArray(), DEFAULT_CHARACTER_CODE); + //テキストGUIに読み込んだファイルの内容を設定 + textArea.setText(text); + //タイトルを開いたファイル名へ変更 + this.setTitle(file.getName()); + }finally{ + if(fiStream != null){ + fiStream.close(); + } + if(baoStream != null){ + baoStream.close(); + } + } + } +}