public PluginPanel(List<PluginInfo> pluginInfoList) { setPreferredSize(new Dimension(600, 600)); setLayout(new BorderLayout(2, 2)); JSplitPane sp = new JSplitPane(JSplitPane.VERTICAL_SPLIT); sp.setBorder(new EmptyBorder(6, 6, 6, 6)); sp.setResizeWeight(0.5); pluginTable = new PluginTable(pluginInfoList); pluginTable.addListSelectionListener(e -> { PluginInfo info = pluginTable.getCurrentUpdateInfo(); updateInfoPanel(info); }); sp.setTopComponent(new JScrollPane(pluginTable)); sp.setBottomComponent(createInfoBox()); add(sp, BorderLayout.CENTER); alwaysShow = new JCheckBox("Always check for updates on startup.", PluginManager.getInstance().isAutoUpdateEnabled()); alwaysShow.addActionListener(event -> { PluginManager.getInstance().setAutoUpdateEnabled(alwaysShow.isSelected()); }); alwaysShow.setAlignmentX(0.0f); add(alwaysShow, BorderLayout.SOUTH); }