カレンダー表示
![]() |
|
client/PatientInspector.java の編集
private void initComponents() { ・ ・ basicInfoInspector.getPanel().setPreferredSize(new Dimension(prefW2, 40)); basicInfoInspector.getPanel().setMaximumSize(new Dimension(prefW2, 40)); basicInfoInspector.getPanel().setMinimumSize(new Dimension(prefW2, 40)); //memoInspector.getPanel().setPreferredSize(new Dimension(prefW, 70)); allergyInspector.getPanel().setPreferredSize(new Dimension(prefW, 100)); ////docHistory.getPanel().setPreferredSize(new Dimension(prefW, 280)); physicalInspector.getPanel().setPreferredSize(new Dimension(prefW, 110)); //int prefH = patientVisitInspector.getPanel().getPreferredSize().height; //patientVisitInspector.getPanel().setPreferredSize(new Dimension(prefW, prefH)); ////↓ サイズ微調整 docHistory.getPanel().setPreferredSize(new Dimension(prefW, 350)); patientVisitInspector.getPanel().setPreferredSize(new Dimension(prefW, 180)); patientVisitInspector.getPanel().setMinimumSize(new Dimension(prefW, 180)); patientVisitInspector.getPanel().setMaximumSize(new Dimension(prefW, 180)); memoInspector.getPanel().setPreferredSize(new Dimension(prefW, 70)); memoInspector.getPanel().setPreferredSize(new Dimension(prefW, 70)); ////↑
client/CalendarCardPanel.java の編集
////↓ private JPanel cmdPanel; private JPanel dummyPanel; public CalendarCardPanel(HashMap colorTable) { this(colorTable, 0); } //public CalendarCardPanel(HashMap colorTable) { public CalendarCardPanel(HashMap colorTable, int month) { current = month; ////↑ this.colorTable = colorTable; calendarListener = new CalendarListener(this); ・ ・ cardPanel.setLayout(cardLayout); cardPanel.add(lc, name); ////↓ //backBtn.setMargin(new Insets(2,2,2,2)); //stopBtn.setMargin(new Insets(2,2,2,2)); //forwardBtn.setMargin(new Insets(2,2,2,2)); backBtn.setPreferredSize(new Dimension(15,15)); stopBtn.setPreferredSize(new Dimension(15,15)); forwardBtn.setPreferredSize(new Dimension(15,15)); backBtn.setBorderPainted(false); stopBtn.setBorderPainted(false); forwardBtn.setBorderPainted(false); backBtn.setContentAreaFilled(false); stopBtn.setContentAreaFilled(false); forwardBtn.setContentAreaFilled(false); ////↑ ・ ・ //JPanel cmdPanel = createCommnadPanel(); ////↓ cmdPanel = createCommnadPanel(); cmdPanel.setBackground(ClientContext.getColor("color.calendar.title.back")); cmdPanel.setOpaque(true); dummyPanel = new JPanel(); dummyPanel.setPreferredSize(cmdPanel.getPreferredSize()); dummyPanel.setBackground(ClientContext.getColor("color.calendar.title.back")); dummyPanel.setOpaque(true); lc.getTitlePanel().add(cmdPanel, BorderLayout.EAST); lc.getTitlePanel().add(dummyPanel, BorderLayout.WEST); //cardPanel.setPreferredSize(new Dimension(193,153)); //h=45+18×n this.setLayout(new BorderLayout(0,0)); //this.add(cmdPanel, BorderLayout.WEST); this.add(cardPanel, BorderLayout.CENTER); //this.add(cmdPanel, BorderLayout.NORTH); //this.add(cmdPanel, BorderLayout.EAST); ////↑ controlNavigation(); ・ ・ public void setCalendarRange(int[] range) { this.range = range; ////追加 controlNavigation(); } ・ ・ private void controlNavigation() { if (range != null) { ////変更 if (current == range[0]) { backBtn.setEnabled(false); forwardBtn.setEnabled(true); //if (backBtn.isEnabled()) { // backBtn.setEnabled(false); //} } else if (current == range[1]) { backBtn.setEnabled(true); forwardBtn.setEnabled(false); //if (forwardBtn.isEnabled()) { // forwardBtn.setEnabled(false); //} } else { backBtn.setEnabled(true); forwardBtn.setEnabled(true); //if (! backBtn.isEnabled()) { // backBtn.setEnabled(true); //} //if (! forwardBtn.isEnabled()) { // forwardBtn.setEnabled(true); //} ・ ・ private void showCalendar() { ・ ・ lc.getTableModel().setMarkDates(markList); } ////↓ lc.getTitlePanel().add(cmdPanel, BorderLayout.EAST); lc.getTitlePanel().add(dummyPanel, BorderLayout.WEST); // popup メニューに表示されているときは,カレンダーの大きさに合わせて大きさを変える int n = lc.getTableModel().getRowCount(); cardPanel.setPreferredSize(new Dimension(193,18*n+45)); Container con = this.getParent(); if (con instanceof JPopupMenu) ((JPopupMenu) con).pack(); ////↑ cardLayout.show(cardPanel, key); } ////↓ 復活 private JPanel createCommnadPanel() { JPanel cmd = new JPanel(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER,0,0)); cmd.add(backBtn); cmd.add(stopBtn); cmd.add(forwardBtn); return cmd; }
client/LiteCalendarPanel.java の編集
////↓ private JPanel titlePanel = new JPanel(); public JPanel getTitlePanel() { return titlePanel; } ////↑ public LiteCalendarPanel(int n, boolean addTitle) { ・ ・ // Replace DefaultRender DateRenderer dateRenderer = new DateRenderer(); ////↓ dateRenderer.setHorizontalAlignment(SwingConstants.RIGHT); dateRenderer.setHorizontalAlignment(SwingConstants.CENTER); table.setShowHorizontalLines(true); table.setShowVerticalLines(false); table.setGridColor(new Color(250,250,250)); table.setRowSelectionAllowed(false); //header table.getTableHeader().setDefaultRenderer(new CalendarHeaderRenderer()); table.getTableHeader().setResizingAllowed(false); table.getTableHeader().setReorderingAllowed(false); ////↑ ・ ・ // レイアウトする this.setLayout(new BorderLayout(0,0)); if (addTitle) { ////↓ titlePanel.setBackground(titleBack); titlePanel.setLayout(new BorderLayout(0,0)); titlePanel.add(titleLabel, BorderLayout.CENTER); this.add(titlePanel, BorderLayout.NORTH); //this.add(getTitleLabel(), BorderLayout.NORTH); ////↑ } ・ ・ protected class DateRenderer extends DefaultTableCellRenderer { ・ ・ public DateRenderer() { super(); this.setOpaque(true); //// this.setHorizontalAlignment(SwingConstants.RIGHT); this.setHorizontalAlignment(SwingConstants.CENTER); ・
client/CalendarHeaderRenderer.java の作成
package open.dolphin.client; import java.awt.Color; import java.awt.Component; import java.awt.Font; import javax.swing.JTable; import javax.swing.SwingConstants; import javax.swing.table.DefaultTableCellRenderer; public class CalendarHeaderRenderer extends DefaultTableCellRenderer { private Border border; public CalendarHeaderRenderer() { this.setHorizontalAlignment(SwingConstants.CENTER); border = UIManager.getBorder("TableHeader.cellBorder"); } @Override public Component getTableCellRendererComponent(JTable t, Object v, boolean isSelected, boolean hasFocus, int row, int col) { super.getTableCellRendererComponent(t, v, isSelected, hasFocus, row, col); setBorder(border); switch (col) { case 0: setForeground(Color.red); break; case 6: setForeground(Color.blue); break; default: setForeground(Color.black); } return this; } }
plugin/CaremapDocument/…/SimpleCalendarPanel.java の編集
public final class SimpleCalendarPanel extends JPanel implements DragGestureListener, DropTargetListener, DragSourceListener { ・ ・ //// private int horizontalAlignment = SwingConstants.RIGHT; private int horizontalAlignment = SwingConstants.CENTER; private JTable createCalendarTable(GregorianCalendar gc) { ・ ・ tbl.setDefaultRenderer(java.lang.Object.class, dateRenderer); ////↓ tbl.getTableHeader().setDefaultRenderer(new CalendarHeaderRenderer()); ////↑
« JBoss の server.log | トップページ | 1年前のカルテが出なくなった »
「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)