public ConfigurationPanel(final List<IConfiguration> configurations) { super(new BorderLayout()); final ObjectListComponent<IConfiguration> configurationList = createConfigurationList(configurations); final JScrollPane configurationScrollPane = new JScrollPane(configurationList.getComponent()); configurationScrollPane.setPreferredSize(new Dimension(150, 200)); final ParameterTableModel parameterTableModel = new ParameterTableModel(); final JScrollPane parameterScrollPane = new JScrollPane(new ParameterTable(parameterTableModel)); parameterScrollPane.setPreferredSize(new Dimension(300, 200)); final JSplitPane splitPane = new JSplitPane( JSplitPane.HORIZONTAL_SPLIT, configurationScrollPane, parameterScrollPane); splitPane.setOneTouchExpandable(true); splitPane.setResizeWeight(1); add(splitPane, BorderLayout.CENTER); final ISelectionModel<IConfiguration> selectionModel = configurationList.getSelectionModel(); selectionModel.addSelectionListener(new ISelectionListener<IConfiguration>() { @Override public void selectionChanged(final SelectionEvent<IConfiguration> event) { updateParameters(selectionModel, parameterTableModel); } }); updateParameters(selectionModel, parameterTableModel); }
public ObjectListComponent(final IObjectListConfiguration<T> configuration, final IListModel<T> listModel) { this.configuration = configuration; this.list = new JList<>(listModel); this.list.setVisibleRowCount(configuration.getVisibleRowCount()); this.list.setSelectionMode(configuration.getSelectionMode()); this.list.setLayoutOrientation(configuration.getLayoutOrientation()); this.list.setCellRenderer( new ObjectUiListCellRenderer<>( configuration.getObjectUiCellRendererConfiguration(), configuration.getObjectUi())); final ListSelectionModel tableSelectionModel = this.list.getSelectionModel(); this.selectionModel = configuration.getSelectionModel(); tableSelectionModel .addListSelectionListener(new JListSelectionListener<>(listModel, tableSelectionModel, this.selectionModel)); this.selectionModel .addSelectionListener(new SelectionListener<>(listModel, tableSelectionModel, this.selectionModel)); this.list.setTransferHandler(configuration.getTransferHandler()); this.list.setDropMode(configuration.getDropMode()); this.list.setDragEnabled(configuration.isDragEnabled()); Optional.ofNullable(configuration.getMouseListener()).ifPresent(l -> this.list.addMouseListener(l)); this.component = new JScrollPane(this.list); }
selectionModel.addSelectionListener(new ISelectionListener<IChooserPanelConfiguration<T>>() {