/** * ファイル名設定ダイアログ */ package jp.crwdev.app.gui; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.SpringLayout; @SuppressWarnings("serial") public class FilenameSettingDialog extends JDialog { /** OKボタン押下フラグ */ private boolean mIsOk = false; /** ファイル名 */ private String mFileName = ""; /** ファイル名入力フィールド */ JTextField mTextField = null; /** * コンストラクタ * @param defaultText ファイル名初期値 */ public FilenameSettingDialog(String defaultText){ super(); mIsOk = false; mFileName = defaultText; setTitle("保存ファイル/フォルダ名設定"); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); SpringLayout layout = new SpringLayout(); JPanel panel = new JPanel(layout); JButton okButton = new JButton("OK"); okButton.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent arg0) { mIsOk = true; mFileName = mTextField.getText(); if(!mFileName.isEmpty()){ dispose(); } } }); JButton cancelButton = new JButton("Cancel"); cancelButton.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent arg0) { mIsOk = false; dispose(); } }); JTextField text = new JTextField(20); text.setText(defaultText); mTextField = text; panel.add(text); panel.add(cancelButton); panel.add(okButton); layout.putConstraint(SpringLayout.WEST, text, 5, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.EAST, text, -5, SpringLayout.EAST, panel); layout.putConstraint(SpringLayout.NORTH, text, 5, SpringLayout.NORTH, panel); layout.putConstraint(SpringLayout.SOUTH, cancelButton, -5, SpringLayout.SOUTH, panel); layout.putConstraint(SpringLayout.SOUTH, okButton, -5, SpringLayout.SOUTH, panel); layout.putConstraint(SpringLayout.EAST, okButton, -5, SpringLayout.EAST, panel); layout.putConstraint(SpringLayout.EAST, cancelButton, -5, SpringLayout.WEST, okButton); Container c = getContentPane(); c.add(panel); setResizable(false); setSize(250, 102); } public boolean isOK(){ return mIsOk; } public String getFileName(){ return mFileName; } }