Files
JIMRI/java/test/jmri/jmrit/picker/PickSinglePanelDemo.java
2026-06-17 14:00:51 +02:00

67 lines
1.8 KiB
Java

package jmri.jmrit.picker;
import java.awt.Color;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import jmri.InstanceManager;
import jmri.Sensor;
import jmri.SensorManager;
import jmri.util.JUnitUtil;
/**
* Demo for exploring operation of the PickSinglePanel class
*
* @author Bob Jacobsen Copyright 2017
*/
public class PickSinglePanelDemo implements ListSelectionListener {
// Main entry point
public static void main(String[] args) {
JUnitUtil.setUp();
JUnitUtil.resetInstanceManager();
JUnitUtil.initInternalSensorManager();
PickSinglePanelDemo demo = new PickSinglePanelDemo();
demo.start();
}
private PickListModel<Sensor> tableModel;
private PickSinglePanel<Sensor> panel;
void start() {
SensorManager m = InstanceManager.getDefault(SensorManager.class);
m.provideSensor("1");
m.provideSensor("2");
m.provideSensor("3").setUserName("Three");
m.provideSensor("4").setUserName("Four");
m.provideSensor("5").setUserName("Five");
m.provideSensor("6");
m.provideSensor("7");
m.provideSensor("8");
m.provideSensor("9");
tableModel = PickListModel.sensorPickModelInstance();
panel = new PickSinglePanel<>(tableModel);
// add a listener
panel.getTable().getSelectionModel().addListSelectionListener(this);
panel.setBorder(BorderFactory.createLineBorder(Color.black));
JFrame f = new JFrame();
f.add(panel);
f.pack();
f.setVisible(true);
}
@Override
public void valueChanged(ListSelectionEvent e) {
if ( panel == null) {
return;
}
System.out.println(" Selected: " + panel.getSelectedBeanHandle());
}
}