DiagnosisInspector 作成
新しい iMac になったら,画面がものすごく広くなったため(20": 1680x1050→ 27": 2560x1440),カルテの左側エリアにかなり余裕ができた。そこで,診断名を表示する DiagnosisInspector.java を作った。 インスペクタを開くときに,診断をサーバから読み込んで表示する。サーバとの通信はそのときだけで,その後は DiagnosisDocument から情報を受け取って表示するしくみ。
Macintosh の画面 | Windows XP の画面 |
client/DiagnosisInspector.java
client/DiagnosisDocument.java
public static final String MAIN_DIAGNOSIS = "主病名"; public static final String SUSPECTED_DIAGNOSIS = "疑い病名"; : // DiagnosisInspector DiagnosisInspector diagnosisInspector; : private void initialize() { : // PatientInspector に新しく作った DiagnosisInspector と連絡 diagnosisInspector = ((ChartImpl) getContext()).getDiagnosisInspector(); } : public void start() { : // DiagnosisInspector に自分を教える diagnosisInspector.setDiagnosisDocument(this); : public void getDiagnosisHistory(Date past) { : // 最後に有効期限(disUseDate)が99999999以外に設定されていたら移行病名としてセット for (Object rd : list) checkIkouByomei((RegisteredDiagnosisModel) rd); // 新しく作った DiagnosisInspector を update diagnosisInspector.update(); } : class DiagnosisPutTask extends DBTask> { : protected void succeeded(List
list) { : // DiagnosisInspector に連絡 diagnosisInspector.update(); }
client/ChartImpl.java
/** * 病名インスペクタを返す */ public DiagnosisInspector getDiagnosisInspector() { return inspector.getDiagnosisInspector(); }
project/ProjectStub.java
public String getFifthInspector() { return prefs.get("fifthInspector", PatientInspector.INSPECTOR_ITEMS[5]); // 病名 } public void setFifthInspector(String fifthInspector) { prefs.put("fifthInspector", fifthInspector); }
client/PatientInspector.java
private boolean bDiagnosis; private boolean bFile; public static String[] INSPECTOR_ITEMS = new String[]{ "メモ", "カレンダー", "文書履歴", "アレルギー", "身長体重", "病名", "関連文書", "なし" }; // 病名インスペクタ private DiagnosisInspector diagnosisInspector; public DiagnosisInspector getDiagnosisInspector() { return diagnosisInspector; } // 関連文書インスペクタ → ついでに作った private FileInspector fileInspector; public FileInspector getFileInspector() { return fileInspector; } : private void initComponents() { String diagnosisTitle = "病名"; String fileTitle = "関連文書"; String fifthInspector = Project.getPreferences().get("fifthInspector", INSPECTOR_ITEMS[5]); //"病名" diagnosisInspector = new DiagnosisInspector(context); fileInspector = new FileInspector(context); diagnosisInspector.getPanel().setPreferredSize(new Dimension(prefW, 100)); fileInspector.getPanel().setPreferredSize(new Dimension(prefW, 100)); : layoutRow(container, fifthInspector); if (!bDiagnosis) { tabbedPane.addTab(diagnosisTitle, diagnosisInspector.getPanel()); } if (!bFile) { tabbedPane.addTab(fileTitle, fileInspector.getPanel()); } : private void layoutRow(JPanel content, String itype) { : else if (itype.equals(INSPECTOR_ITEMS[5])) { // "病名" diagnosisInspector.getPanel().setBorder(BorderFactory.createTitledBorder("病名")); content.add(diagnosisInspector.getPanel()); bDiagnosis = true; } else if (itype.equals(INSPECTOR_ITEMS[6])) { // "関連文書" fileInspector.getPanel().setBorder(BorderFactory.createTitledBorder("関連文書")); content.add(fileInspector.getPanel()); bFile = true; }
client/KarteSettingPanel.java
private static int INSPECTOR_LENGTH = 5; : initComponents() { : label = new JLabel("4番目:", SwingConstants.RIGHT); gbb.add(label, 0, row, 1, 1, GridBagConstraints.EAST); gbb.add(inspectorCompo[row], 1, row, 1, 1, GridBagConstraints.WEST); row++; label = new JLabel("ボトム:", SwingConstants.RIGHT); gbb.add(label, 0, row, 1, 1, GridBagConstraints.EAST); gbb.add(inspectorCompo[row], 1, row, 1, 1, GridBagConstraints.WEST); row++; : private void bindModelToView() { inspectorCompo[4].setSelectedItem(model.getFifthInspector()); : private void bindViewToModel() { model.setFifthInspector((String) inspectorCompo[4].getSelectedItem()); : class KarteModel { private String fifthInspector; : public void populate(ProjectStub stub) { setFifthInspector(stub.getFifthInspector()); : public void restore(ProjectStub stub) { stub.setFifthInspector(getFifthInspector()); : public String getFifthInspector() { return fifthInspector; } public void setFifthInspector(String fifthInspector) { this.fifthInspector = fifthInspector; }
« SaveDialog の改造 | トップページ | FileInspector の作成 »
「OpenDolphin」カテゴリの記事
- Java 17 への移行(7) - OpenDolphin client の対応 (2023.02.04)
- Java 17 への移行(6) - Hibernate 6 でやらかす(2023.02.03)
- Java 17 への移行(5) - OpenDolphin server の対応(2023.02.02)
- Java 17 への移行(4) - OpenSearch の準備 [ubuntu 編](2023.02.01)
- Java 17 への移行(3) - OpenSearch の準備 [mac 編](2023.01.31)