Mercurial > hg > Database > Christie
view src/main/java/christie/textEditor/mainFrame.java.orig @ 230:fddd6f6e7693
tweak
author | ichikitakahiro <e165713@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 21 Jan 2020 19:36:20 +0900 |
parents | |
children |
line wrap: on
line source
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; } }