private void maybeShowPopup(MouseEvent e) { if (e.isPopupTrigger()) { popup = new JPopupMenu(); CalendarCardPanel cc = new CalendarCardPanel(ClientContext.getEventColorTable()); cc.addPropertyChangeListener(CalendarCardPanel.PICKED_DATE, this); cc.setCalendarRange(new int[] {-12, 0}); popup.insert(cc, 0); popup.show(e.getComponent(), e.getX(), e.getY()); } }
/** 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$ }