*/
public static class VersionInfo {
public static final String NAME = "MIDI Chord Helper";
- public static final String VERSION = "Ver.20160514.1";
+ public static final String VERSION = "Ver.20160516.1";
public static final String COPYRIGHT = "Copyright (C) 2004-2016";
public static final String AUTHER = "@きよし - Akiyoshi Kamide";
public static final String URL = "http://www.yk.rim.or.jp/~kamide/music/chordhelper/";
import javax.swing.JInternalFrame;
import javax.swing.JTree;
import javax.swing.ListModel;
+import javax.swing.ToolTipManager;
import javax.swing.event.InternalFrameAdapter;
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.InternalFrameListener;
boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
{
super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
+ setToolTipText(value.toString());
if(leaf) {
- setIcon(MidiTransceiverListView.MIDI_CONNECTER_ICON);
- setDisabledIcon(MidiTransceiverListView.MIDI_CONNECTER_ICON);
- setEnabled( ! ((MidiTransceiverListModel)value).getMidiDevice().isOpen() );
+ MidiTransceiverListModel deviceModel = (MidiTransceiverListModel)value;
+ if( deviceModel.getMidiDevice().isOpen() ) {
+ setDisabledIcon(MidiTransceiverListView.MIDI_CONNECTER_ICON);
+ setEnabled(false);
+ setToolTipText(getToolTipText()+"はすでに開いています");
+ } else {
+ setIcon(MidiTransceiverListView.MIDI_CONNECTER_ICON);
+ setEnabled(true);
+ setToolTipText("ドラッグ&ドロップで"+getToolTipText()+"が開きます");
+ }
}
return this;
}
});
// 初期状態でツリーノードを開いた状態にする
for( int row = 0; row < getRowCount() ; row++ ) expandRow(row);
+ //
+ // ツリーノードのToolTipを有効化
+ ToolTipManager.sharedInstance().registerComponent(this);
}
}
MidiTransceiverListModel deviceModel = (MidiTransceiverListModel)lastSelected;
if( deviceModel.getMidiDevice().isOpen() ) {
// 開いているMIDIデバイスがツリー上で選択されたら、対応するフレームを選択
+ MidiDeviceFrame deviceFrame = modelToFrame.get(deviceModel);
+ deviceFrame.toFront();
try {
- modelToFrame.get(deviceModel).setSelected(true);
+ deviceFrame.setSelected(true);
} catch( PropertyVetoException ex ) {
ex.printStackTrace();
}
import javax.swing.ListSelectionModel;
import camidion.chordhelper.ButtonIcon;
+import camidion.chordhelper.mididevice.MidiTransceiverListModel.NewTransmitter;
/**
* MIDI端子({@link Transmitter}と{@link Receiver})のリストビューです。
JList<? extends AutoCloseable> list, AutoCloseable value, int index,
boolean isSelected, boolean cellHasFocus)
{
- String text;
- if( value == null ) text = null;
- else if( value instanceof Receiver ) text = "Rx";
- else if( value instanceof Transmitter ) text = "Tx";
- else text = value.toString();
- setText(text);
+ setEnabled(list.isEnabled());
+ setFont(list.getFont());
+ setOpaque(true);
setIcon(MIDI_CONNECTER_ICON);
+ if( value == null ) {
+ setText(null);
+ setToolTipText(null);
+ } else if( value instanceof Receiver ) {
+ setText("Rx");
+ setToolTipText("Rxをドラッグ&ドロップしてTxに接続");
+ } else if( value instanceof Transmitter ) {
+ setText("Tx");
+ if( value instanceof NewTransmitter ) {
+ setToolTipText("Txをドラッグ&ドロップしてRxに接続");
+ } else {
+ setToolTipText("Txをドラッグ&ドロップして切断、またはRx切替");
+ }
+ }
+ else {
+ setText(value.toString());
+ setToolTipText(value.toString());
+ }
if (isSelected) {
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
setBackground(list.getBackground());
setForeground(list.getForeground());
}
- setEnabled(list.isEnabled());
- setFont(list.getFont());
- setOpaque(true);
return this;
}
}