/** GUI コンポーネントを初期化する。 */ private void initComponents() { view = new NLabTestImportView(); setUI(view); String[] columnNames = new String[] {"ラボ", "患者ID", "カナ", "カルテ・カナ", "性別", "カルテ・性別", "検体採取日", "項目数", "登録"}; String[] propNames = new String[] { "laboCode", "patientId", "patientName", "karteKanaName", "patientSex", "karteSex", "sampleDate", "numOfTestItems", "result" }; int[] columnWidth = new int[] {50, 120, 120, 120, 50, 70, 120, 50, 80}; tableModel = new ListTableModel<NLaboImportSummary>(columnNames, 30, propNames, null); view.getTable().setModel(tableModel); view.getTable().setRowHeight(ClientContext.getHigherRowHeight()); view.getTable().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); view.getTable().setTransferHandler(new NLaboTestFileTransferHandler(this)); // カラム幅を変更する for (int i = 0; i < columnWidth.length; i++) { view.getTable().getColumnModel().getColumn(i).setPreferredWidth(columnWidth[i]); } // レンダラを設定する view.getTable().setDefaultRenderer(Object.class, new NLaboTestImporter.LabTestRenderer()); // カウント値0を設定する updateCount(); }
/** GUI コンポーネントを初期化する。 */ private void initComponents() { // View view = new PatientSearchView(); setUI(view); // ColumnSpecHelperにテーブルを設定する columnHelper.setTable(view.getTable()); // ------------------------------------------ // View のテーブルモデルを置き換える // ------------------------------------------ String[] columnNames = columnHelper.getTableModelColumnNames(); String[] methods = columnHelper.getTableModelColumnMethods(); Class[] cls = columnHelper.getTableModelColumnClasses(); tableModel = new ListTableModel<PatientModel>(columnNames, 0, methods, cls) { @Override public Object getValueAt(int row, int col) { Object ret = null; if (col == ageColumn && ageDisplay) { PatientModel p = getObject(row); if (p != null) { int showMonth = Project.getInt("ageToNeedMonth", 6); ret = AgeCalculater.getAgeAndBirthday(p.getBirthday(), showMonth); } } else { ret = super.getValueAt(row, col); } return ret; } }; view.getTable().setModel(tableModel); // masuda^ table sorter 組み込み sorter = new ListTableSorter(tableModel); view.getTable().setModel(sorter); sorter.setTableHeader(view.getTable().getTableHeader()); // masuda$ // カラム幅更新 columnHelper.updateColumnWidth(); // minagawa^ lsctest view.getTable().getColumnModel().getColumn(stateColumn).setIdentifier(COLUMN_IDENTIFIER_STATE); // minagawa$ // masuda^ // レンダラを設定する // view.getTable().setDefaultRenderer(Object.class, new OddEvenRowRenderer()); // 連ドラ、梅ちゃん先生 PatientListTableRenderer renderer = new PatientListTableRenderer(); renderer.setTable(view.getTable()); renderer.setDefaultRenderer(); // masuda$ // ソートアイテム sortItem = Project.getInt("sortItem", 0); // s.oh^ 2014/08/13 コントロールサイズ調整 String nimbus = "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"; String laf = UIManager.getLookAndFeel().getClass().getName(); if (!laf.equals(nimbus)) { view.getSortItem().setPreferredSize(new Dimension(90, 20)); } // s.oh$ view.getSortItem().setSelectedIndex(sortItem); // Auto IME Windows の時のみ if (!ClientContext.isMac()) { // デフォルトは true boolean autoIme = Project.getBoolean("autoIme", true); view.getAutoIme().setSelected(autoIme); } else { // MAC は disabled // view.getAutoIme().setEnabled(false); view.getAutoIme().setVisible(false); } // 行高 if (ClientContext.isWin()) { view.getTable().setRowHeight(ClientContext.getMoreHigherRowHeight()); } else { view.getTable().setRowHeight(ClientContext.getHigherRowHeight()); } String method = ageDisplay ? AGE_METHOD[0] : AGE_METHOD[1]; ListTableModel tModel = getTableModel(); tModel.setProperty(method, ageColumn); List<ColumnSpec> columnSpecs = columnHelper.getColumnSpecs(); for (int i = 0; i < columnSpecs.size(); i++) { ColumnSpec cs = columnSpecs.get(i); String test = cs.getMethod(); if (test.toLowerCase().endsWith("birthday")) { cs.setMethod(method); break; } } //// s.oh^ 2014/10/22 Icon表示 // view.getSearchLabel().setIcon(ClientContext.getImageIconArias("icon_search_large")); //// s.oh$ // s.oh^ 2014/04/16 メニュー制御 view.getTable().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // s.oh$ }