« 検索結果ファイル保存 | トップページ | JSheet 導入 »

2009年11月 6日 (金)

Magic Mouse 購入

Scroll_speed

    Magic Mouse を購入した。なんか重たくて使いにくいけど,デザインが素敵なので,がんばって使って慣れようと思う。慣性スクロールがいい感じなのだが,スクロール速度が速すぎるとうまく使えない。Magic Mouse 用に,スクロール速度を調節できるようにした。【追記】慣れたらかなりいい感じに使えるようになった。慣性スクロールを使う場合,スクロール速度はすべて 1 で OK。

client/KarteSettingPanel.java

private void initComponents() {
 ・
 ・

//pns^  スクロール速度設定
  JPanel uiPanel = new JPanel();
  uiPanel.setLayout(new BoxLayout(uiPanel, BoxLayout.Y_AXIS));
  row = 0;
  gbb = new GridBagBuilder("スクロール速度");

  // カルテスクロール速度
  label = new JLabel("カルテ :", SwingConstants.RIGHT);
  JPanel slider = GUIFactory.createSliderPanel(1,32, prefs.getInt(Project.SCROLL_UNIT_KARTE, 15));
  scrollUnitKarte = (JSpinner) slider.getComponent(1);
  gbb.add(label, 0, row, 1, 1, GridBagConstraints.EAST);
  gbb.add(slider, 1, row++, 1, 1, GridBagConstraints.WEST);

  // テーブルのスクロール速度
  label = new JLabel("テーブル :", SwingConstants.RIGHT);
  slider = GUIFactory.createSliderPanel(1,32, prefs.getInt(Project.SCROLL_UNIT_TABLE, 15));
  scrollUnitTable = (JSpinner) slider.getComponent(1);
  gbb.add(label, 0, row, 1, 1, GridBagConstraints.EAST);
  gbb.add(slider, 1, row++, 1, 1, GridBagConstraints.WEST);

  // スタンプのスクロール速度
  label = new JLabel("スタンプ :", SwingConstants.RIGHT);
  slider = GUIFactory.createSliderPanel(1,32, prefs.getInt(Project.SCROLL_UNIT_STAMP, 15));
  scrollUnitStamp = (JSpinner) slider.getComponent(1);
  gbb.add(label, 0, row, 1, 1, GridBagConstraints.EAST);
  gbb.add(slider, 1, row++, 1, 1, GridBagConstraints.WEST);

  uiPanel.add(gbb.getProduct());
  uiPanel.add(Box.createVerticalStrut(500));
  uiPanel.add(Box.createVerticalGlue());

//pns$
  JTabbedPane tabbedPane = new JTabbedPane();
  tabbedPane.addTab("インスペクタ", inspectorPanel);
  tabbedPane.addTab("文 書", docPanel);
  tabbedPane.addTab("スタンプ", stampPanel);
  tabbedPane.addTab("診療行為", sendPanel);
  tabbedPane.addTab("確認ダイアログ", confirmPanel);
//pns^  スクロール速度設定
  tabbedPane.addTab("UI", uiPanel);
//pns$
 ・
 ・

private void bindViewToModel() {
 ・
 ・
//pns^
  // スクロール速度を pref に書き戻す
  val = scrollUnitKarte.getValue().toString();
  prefs.putInt(Project.SCROLL_UNIT_KARTE, Integer.parseInt(val));
  val = scrollUnitTable.getValue().toString();
  prefs.putInt(Project.SCROLL_UNIT_TABLE, Integer.parseInt(val));
  val = scrollUnitStamp.getValue().toString();
  prefs.putInt(Project.SCROLL_UNIT_STAMP, Integer.parseInt(val));
//pns$

client/GUIFactory.java

public static JPanel createSliderPanel(int min, int max, final int initValue) {
  JPanel ret = new JPanel(new FlowLayout(FlowLayout.LEFT,0,0));
  // スライダー
  final JSlider slider = new JSlider(min, max, initValue);
  slider.setFont(new Font("SansSerif", Font.PLAIN, 9)); // 大きさ調節

  // スピナー
  SpinnerModel fetchModel = new SpinnerNumberModel(initValue, min, max, 1);
  final JSpinner spinner = new JSpinner(fetchModel);
  spinner.setEditor(new JSpinner.NumberEditor(spinner, "#"));

  // お互いにリスン
  slider.addChangeListener(new ChangeListener() {
    public void stateChanged(ChangeEvent e) {
      spinner.setValue(slider.getValue());
    }
  });
  spinner.addChangeListener(new ChangeListener() {
    public void stateChanged(ChangeEvent e) {
      slider.setValue((Integer)spinner.getValue());
    }
  });
 
  ret.add(slider);
  ret.add(spinner);
  return ret;
}

project/Project.java

//pns^  スクロール速度設定
public static final String SCROLL_UNIT_KARTE = "scroll.unit.karte";
public static final String SCROLL_UNIT_TABLE = "scroll.unit.table";
public static final String SCROLL_UNIT_STAMP = "scroll.unit.stamp";
//pns$

client/DocumentBridgeImpl.java

scroller = new JScrollPane();
//pns^  MagicMouse 購入に合わせて,スクロールスピードを調節できるようにした
getUI().setLayout(new BorderLayout());
scroller.getVerticalScrollBar().setUnitIncrement(Project.getPreferences().getInt(Project.SCROLL_UNIT_KARTE, 15));

client/Kartepanel3.java

public KartePanel3() {
  initComponents();
//pns^  スクロール増分設定
  java.util.prefs.Preferences prefs = open.dolphin.project.Project.getPreferences();
  int unit = prefs.getInt(open.dolphin.project.Project.SCROLL_UNIT_KARTE, 15);
  pScrollPane.getVerticalScrollBar().setUnitIncrement(unit);
  soaScrollPane.getVerticalScrollBar().setUnitIncrement(unit);
//pns$

client/ImagePalette.java

private void initComponent(int columnCount) {
 ・
 ・
//pns^  スクロール増分の調整
  JScrollPane scroller = new JScrollPane();
  scroller.getVerticalScrollBar().setUnitIncrement(Project.getPreferences().getInt(Project.SCROLL_UNIT_STAMP, 15));

client/StampTree.java

//pns^  MagicMouse 購入に合わせて,スクロールスピードを調節できるようにした
@Override
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) {
  return Project.getPreferences().getInt(Project.SCROLL_UNIT_STAMP, 15);
}
//pns$

plugin/RowTipsTable.java
plugin/AddressTipsTable.java

//pns^  MagicMouse 購入に合わせて,スクロールスピードを調節できるようにした
@Override
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) {
  return Project.getPreferences().getInt(Project.SCROLL_UNIT_TABLE, 15);
}
//pns$

« 検索結果ファイル保存 | トップページ | JSheet 導入 »

OpenDolphin」カテゴリの記事