« JSheet 導入 | トップページ | jconsole による解析(Java 1.6) »

2009年11月27日 (金)

検査データの印刷

ラボデータを印刷できるようにできないかとのお問い合わせを頂いた。とりあえず印刷できるようにするためには以下のような改造をすればよい。

 

client/AbstractChartDocument.java

JPanel() のかわりに,プリントに対応した Panel2() を組み込む
public AbstractChartDocument() {
//pns   setUI(new JPanel());
  setUI(new Panel2());
  logger = ClientContext.getBootLogger();
 ・
 ・

 

plugin/LaboTestBean.java

enter() を作成し,プリントメニューがアクティブになるようにする。start() 時に,enter() を呼ぶようにする。これで LaboTestBean 起動時にプリントメニューがアクティブになり,プリントすると print() が呼ばれる。
@Override
public void start() {
  initialize();
  NameValuePair pair = (NameValuePair) extractionCombo.getSelectedItem();
  String value = pair.getValue();
  int addValue = Integer.parseInt(value);
  GregorianCalendar today = new GregorianCalendar();
  today.add(GregorianCalendar.MONTH, addValue);
  searchLaboTest(MMLDate.getDate(today));
//pns
  enter();
}
//pns^
@Override
public void enter() {
  super.enter();
  getContext().enabledAction(GUIConst.ACTION_PRINT, true);
}

@Override
public void print() {
  String name = getContext().getPatient().getFullName();
  PageFormat pageFormat = getContext().getContext().getPageFormat();
  int height = getUI().getSize().height;
  ((Panel2)getUI()).printPanel(pageFormat, 1, true, name, height);
}
//pns$

« JSheet 導入 | トップページ | jconsole による解析(Java 1.6) »

OpenDolphin」カテゴリの記事