テキストスタンプエディターの作成
テキストスタンプのエディターを作ってみた。 |
order/LTextStampEditor.java
order/EditorSetPanel.java
public class EditorSetPanel extends JPanel implements IStampEditorDialog, PropertyChangeListener, TreeSelectionListener { ・ ・ //pns^ TextStampEditor は MasterPanel を含んでないので特別扱い private LTextStampEditor text; private JPanel rootPanel; private CardLayout rootCardLayout; private static String TEXT_EDITOR = "textEditor"; private static String EDITOR_SET_PANEL = "editorSetPanel"; //pns$ ・ ・ public EditorSetPanel() { ・ ・ //pns^ TextStampEditor 切り替え用 rootPanel = new JPanel(); rootCardLayout = new CardLayout(); rootPanel.setLayout(rootCardLayout); //pns$ initComponent(); } ・ ・ public void show(String entity) { ・ ・ //pns^ Text Editor 対応 : entity が text の時は,root card を切り替える if (entity.equals(IInfoModel.ENTITY_TEXT)) { rootCardLayout.show(rootPanel, TEXT_EDITOR); curEditor = text; curEditor.addPropertyChangeListener(StampEditorDialog.VALIDA_DATA_PROP, this); curEditor.start(); } else { rootCardLayout.show(rootPanel, EDITOR_SET_PANEL); //pns$ ・ ・ private void initComponent() { ・ ・ //pns^ MasterPanel の有無で CardLayout で切り替え可能にする text = new LTextStampEditor(this); rootPanel.add(center, EDITOR_SET_PANEL); rootPanel.add(text, TEXT_EDITOR); this.setLayout(new BorderLayout(0, 0)); this.add(rootPanel, BorderLayout.CENTER); //this.setLayout(new BorderLayout(0, 0)); //this.add(center, BorderLayout.CENTER); //pns$ this.add(btnPanel, BorderLayout.EAST); ・ ・
client/UserStampBox.java
・ ・ @Override public boolean isHasEditor(int index) { //pns return (index == textIndex || index == pathIndex || index == orcaIndex) ? false : true; return (index == pathIndex || index == orcaIndex) ? false : true; } @Override public void setHasNoEditorEnabled(boolean b) { //pns this.setEnabledAt(textIndex, b); this.setEnabledAt(pathIndex, b); this.setEnabledAt(orcaIndex, b); }
client/StampBoxPlugin.java
class TabChangeListener implements ChangeListener { ・ ・ // スタンプメーカ起動中の時 // 選択されたタブに対応するエディタを表示する int index = userBox.getSelectedIndex(); StampTree tree = userBox.getStampTree(index); //pns if (editors != null && (!tree.getEntity().equals(IInfoModel.ENTITY_TEXT)) ) { if (editors != null) { editors.show(tree.getEntity()); ・ ・
« 病名エディタの左矢印 | トップページ | 傷病名編集機能 »
「OpenDolphin」カテゴリの記事
- 運用17年目のまとめ(2025.02.03)
- IME on/off の切換 - その2(2024.12.02)
- OrcaController オルコン(2024.11.28)
- OpenDolphin: java 21 / wildfly 34 への移行(2024.11.08)
- IME on/off の切り替え(2024.09.03)