import javax.sound.midi.Transmitter;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
-import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.Timer;
*/
public class MidiDeviceFrame extends JInternalFrame {
private MidiDeviceModel deviceModel;
- private MidiTransmitterListView transmitterListView;
- private MidiReceiverListView receiverListView;
+ private TransmitterListView transmitterListView;
+ private ReceiverListView receiverListView;
private JScrollPane scrollPane;
private JPanel trxPanel, txPanel, rxPanel;
private Timer timer;
* このデバイスフレームに貼り付けられたMIDIトランスミッタリストビューを取得します。
* @return MIDIトランスミッタリストビュー
*/
- public MidiTransmitterListView getMidiTransmitterListView() { return transmitterListView; }
+ public TransmitterListView getMidiTransmitterListView() { return transmitterListView; }
/**
* このデバイスフレームに貼り付けられたMIDIトランシーバリストビューを取得します。
* @return MIDIトランシーバリストビュー
*/
- public MidiReceiverListView getMidiReceiverListView() { return receiverListView; }
+ public ReceiverListView getMidiReceiverListView() { return receiverListView; }
/**
* ダイアログウィンドウがアクティブなときだけタイムスタンプ更新を有効にするためのリスナー
*/
/**
* MIDIデバイスモデルからフレームビューを構築します。
*/
- public MidiDeviceFrame(MidiDeviceModel deviceModel, final MidiCablePane cablePane) {
+ public MidiDeviceFrame(MidiDeviceModel deviceModel, MidiCablePane cablePane) {
super( null, true, true, false, false );
this.deviceModel = deviceModel;
setTitle("[" + deviceModel.getMidiDeviceInOutType().getShortName() + "] " + deviceModel);
}}, BorderLayout.SOUTH);
add(scrollPane = new JScrollPane(trxPanel = new JPanel() {{
setLayout(new BorderLayout());
- MidiDeviceModel.ReceiverListModel rxListModel = getMidiDeviceModel().getReceiverList();
+ ReceiverListModel rxListModel = getMidiDeviceModel().getReceiverListModel();
if( rxListModel != null ) {
- receiverListView = new MidiReceiverListView(rxListModel, cablePane);
+ receiverListView = new ReceiverListView(rxListModel, cablePane);
add(rxPanel = new JPanel() {{
setLayout(new BorderLayout());
add(new JLabel("Rx") {{ setVerticalAlignment(TOP); }}, BorderLayout.WEST);
add(receiverListView);
}}, BorderLayout.NORTH);
}
- MidiDeviceModel.TransmitterListModel txListModel = getMidiDeviceModel().getTransmitterList();
+ TransmitterListModel txListModel = getMidiDeviceModel().getTransmitterListModel();
if( txListModel != null ) {
- transmitterListView = new MidiTransmitterListView(txListModel, cablePane);
+ transmitterListView = new TransmitterListView(txListModel, cablePane);
add(txPanel = new JPanel() {{
setLayout(new BorderLayout());
add(new JLabel("Tx") {{ setVerticalAlignment(TOP); }}, BorderLayout.WEST);
public Rectangle getBoundsOf(Transmitter tx) {
if( transmitterListView == null ) return null;
Rectangle rect = transmitterListView.getCellBounds(tx);
+ if( rect == null ) return null;
translate(rect, txPanel, transmitterListView);
return rect;
}
public Rectangle getBoundsOf(Receiver rx) {
if( receiverListView == null ) return null;
Rectangle rect = receiverListView.getCellBounds(rx);
+ if( rect == null ) return null;
translate(rect, rxPanel, receiverListView);
return rect;
}
- private void translate(Rectangle rect, JPanel panel, JList<? extends AutoCloseable> list) {
- if( rect == null ) return;
+ private void translate(Rectangle rect, JPanel panel, AbstractTransceiverListView<?> list) {
int x = getX() + getRootPane().getX() + getContentPane().getX() +
scrollPane.getX() + trxPanel.getX() +
panel.getX() + list.getX();