|
- 文字をセンタリングした
- 矢印アイコンを小さくした
- ポップアップカレンダーが尻切れになる場合があるのを修正
- ポップアップカレンダーのデフォルト表示月を最終受診日のある月にした
- ポップアップカレンダーのボタン制御がされてなかったのを修正
|
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());
////↑