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;
/**
* 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);
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();