dialog が開いたら特定の JTextField にフォーカス
AllergyEditor が開いたら「要因」にフォーカスする。
client/AllergyEditor.java
dialog = pane.createDialog(inspector.getContext().getFrame(), ClientContext.getFrameTitle("アレルギー登録"));
//↓ dialog が開いたら FactorFld にフォーカスを当てる
dialog.addWindowListener(new WindowAdapter(){
@Override
public void windowOpened(WindowEvent e) {
view.getFactorFld().requestFocusInWindow();
}
});
//↑
PhysicalEditor が開いたら「体重」にフォーカスする。
client/PhysicalEditor.java
dialog = pane.createDialog(inspector.getContext().getFrame(), ClientContext.getFrameTitle("身長体重登録"));
//↓ dialog が開いたら WeightFld にフォーカスを当てる
dialog.addWindowListener(new WindowAdapter(){
@Override
public void windowOpened(WindowEvent e) {
view.getWeightFld().requestFocusInWindow();
}
});
//↑
患者検索タブをクリックしたらキーワードフィールドにフォーカスする。
plugin/PatientSearchImpl.java
public void enter() {
controlMenu();
//↓ 入ってきたら,キーワードフィールドにフォーカス
Runnable r = new Runnable() {
public void run() {
view.getKeywordFld().requestFocusInWindow();
}
};
SwingUtilities.invokeLater(r);
//↑
}
【09/10/10追記】上記だけだと,起動後最初の表示の時にフォーカスが取れないことがあった。Dolphin.java の変更で対応。
client/Dolphin.java
//
// タブの切り替えで plugin.enter() をコールする
//
tabbedPane.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
int index = tabbedPane.getSelectedIndex();
MainComponent plugin = (MainComponent) providers.get(String.valueOf(index));
if (plugin.getContext() == null) {
plugin.setContext(Dolphin.this);
plugin.start();
tabbedPane.setComponentAt(index, plugin.getUI());
//↓
// } else {
// plugin.enter(); // これだと,start() した最初は enter() しないことになる
//↑
}
//↓
plugin.enter();
//↑
mediator.addChain(plugin);
}
});
マスター検索のとき,キーワードフィールドにフォーカスする。
order/MasterPanel.java
public void enter() {
setItemCount(tableModel.getObjectCount());
//↓
Runnable r = new Runnable() {
public void run() {
keywordField.requestFocusInWindow();
}
};
SwingUtilities.invokeLater(r);
//↑
}
« 紹介状作成 NeoOffice マクロ | トップページ | Stand Alone PVT Server »
「OpenDolphin」カテゴリの記事
- 運用18年目のまとめ(2026.02.07)
- IME on/off の切換 - その5(2026.01.05)
- IME on/off の切換 - その4(2025.12.23)
- IME on/off の切換 - その3(2025.12.20)
- OpenDolphin: Java 25 / WildFly 38 への移行(2025.11.09)


