public EventAdapter(JTextField tf, JTable tbl) { boolean autoIme = Project.getBoolean("autoIme", true); if (autoIme) { tf.addFocusListener(AutoKanjiListener.getInstance()); } else { tf.addFocusListener(AutoRomanListener.getInstance()); } tf.addActionListener(EventAdapter.this); tbl.getSelectionModel().addListSelectionListener(EventAdapter.this); tbl.addMouseListener(EventAdapter.this); }
/** GUIコンポーネントを初期化する。 */ private JPanel createComponent() { // content JPanel content = new JPanel(); content.setLayout(new GridLayout(0, 1)); // 文書Title JPanel p = new JPanel(new FlowLayout(FlowLayout.LEFT)); titleCombo = new JComboBox(TITLE_LIST); titleCombo.setPreferredSize(new Dimension(220, titleCombo.getPreferredSize().height)); titleCombo.setMaximumSize(titleCombo.getPreferredSize()); titleCombo.setEditable(true); p.add(new JLabel("タイトル:")); p.add(titleCombo); content.add(p); // ComboBox のエディタコンポーネントへリスナを設定する titleField = (JTextField) titleCombo.getEditor().getEditorComponent(); titleField.addFocusListener(AutoKanjiListener.getInstance()); titleField .getDocument() .addDocumentListener( new DocumentListener() { @Override public void insertUpdate(DocumentEvent e) { checkTitle(); } @Override public void removeUpdate(DocumentEvent e) { checkTitle(); } @Override public void changedUpdate(DocumentEvent e) { checkTitle(); } }); // 診療科、印刷部数を表示するラベルとパネルを生成する JPanel p1 = new JPanel(new FlowLayout(FlowLayout.LEFT)); departmentLabel = new JLabel(); p1.add(new JLabel("診療科:")); p1.add(departmentLabel); p1.add(Box.createRigidArea(new Dimension(11, 0))); // Print printCombo = new JComboBox(PRINT_COUNT); printCombo.setSelectedIndex(1); p1.add(new JLabel("印刷部数:")); p1.add(printCombo); content.add(p1); // AccessRightを設定するボタンとパネルを生成する patientCheck = new JCheckBox("患者に参照を許可する"); clinicCheck = new JCheckBox("診療歴のある病院に参照を許可する"); // --------------------------- // CLAIM 送信ありなし // --------------------------- sendClaimAction = new AbstractAction(CHK_TITLE_NO_SEND_AT_TMP) { @Override public void actionPerformed(ActionEvent e) { if (claimDateEditable) { if (sendClaim.isSelected()) { setClaimDate(getClaimDate()); } else { dateField.setText(""); } } } }; sendClaim = new JCheckBox(); sendClaim.setAction(sendClaimAction); JPanel p5 = new JPanel(new FlowLayout(FlowLayout.LEFT)); p5.add(sendClaim); content.add(p5); // minagawa^ CLAIM送信日 claimDateEditable = enterParams.getEnterOption() != SaveParamsM.SCHEDULE_SCHEDULE; // 予定画面からは変更できない claimDateEditable = (claimDateEditable && enterParams.isSendEnabled()); // 送信が許可されれいる claimDateEditable = (claimDateEditable && enterParams.getClaimDate() != null); // パラメータが設定されている if (claimDateEditable) { dateField = new JTextField(12); dateField.setEditable(false); dateField.setToolTipText("右クリックでカレンダーがポップアップします"); // 1ヶ月前まで int[] range = {-1, 0}; // 今日以前でないと駄目 SimpleDate[] acceptRange = new SimpleDate[2]; acceptRange[0] = null; acceptRange[1] = new SimpleDate(new GregorianCalendar()); PopupListener pl = new PopupListener(dateField, range, acceptRange); JPanel p2 = new JPanel(new FlowLayout(FlowLayout.LEFT)); p2.add(new JLabel("送信日:")); p2.add(dateField); content.add(p2); } // minagawa& // --------------------------- // 検体検査オーダー送信ありなし // --------------------------- // s.oh^ 2014/11/04 仮保存時のオーダー出力 // sendLabtest = new JCheckBox("検体検査オーダー(仮保存の場合はしない)"); sendLabtest = new JCheckBox( Project.getBoolean(Project.SEND_TMPKARTE_LABTEST) ? "検体検査オーダー" : "検体検査オーダー(仮保存の場合はしない)"); // s.oh$ if (Project.getBoolean(Project.SEND_LABTEST)) { JPanel p6 = new JPanel(new FlowLayout(FlowLayout.LEFT)); p6.add(sendLabtest); content.add(p6); } // OK button okButton = new JButton(SAVE); okButton.setToolTipText("診療行為の送信はチェックボックスに従います。"); okButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 戻り値のSaveparamsを生成する value = viewToModel(false); if (value != null) { close(); } } }); okButton.setEnabled(false); // Cancel Button String buttonText = (String) UIManager.get("OptionPane.cancelButtonText"); cancelButton = new JButton(buttonText); cancelButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { value = null; close(); } }); // 仮保存 button tmpButton = new JButton(TMP_SAVE); tmpButton.setToolTipText(TOOLTIP_NO_SEND); tmpButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 戻り値のSaveparamsを生成する value = viewToModel(true); if (value != null) { close(); } } }); tmpButton.setEnabled(false); return content; }