Я очень новичок в Java, поэтому будьте спокойны со мной, пожалуйста. После долгих исследований я считаю, что понимаю, что опция JScrollPane
по умолчанию отображает полосу прокрутки. Я пытаюсь изменить это поведение в некотором существующем коде. Я считаю, что значение по умолчанию просто необходимо изменить с помощью VERTICAL_SCROLLBAR_NEVER
. Однако мне трудно определить, где это установлено в коде. Может кто-нибудь, пожалуйста, помогите показать мне, где это свойство установлено (или если я даже на правильном пути)?
Это фрагмент кода, который, я считаю, имеет отношение к этому вопросу. Полоса прокрутки присутствует на правой стороне окна разделенной панели. Я хотел бы навсегда это скрыть.
public class LauncherFrame extends JFrame {
private final Launcher launcher;
@Getter
private final InstanceTable instancesTable = new InstanceTable();
private final InstanceTableModel instancesModel;
@Getter
private final JScrollPane instanceScroll = new JScrollPane(instancesTable);
private WebpagePanel webView;
private JSplitPane splitPane;
private final JButton launchButton = new JButton(SharedLocale.tr("launcher.launch"));
private final JButton refreshButton = new JButton(SharedLocale.tr("launcher.checkForUpdates"));
private final JButton optionsButton = new JButton(SharedLocale.tr("launcher.options"));
private final JButton selfUpdateButton = new JButton(SharedLocale.tr("launcher.updateLauncher"));
private final JCheckBox updateCheck = new JCheckBox(SharedLocale.tr("launcher.downloadUpdates"));
public LauncherFrame(@NonNull Launcher launcher) {
super(tr("launcher.title", launcher.getVersion()));
this.launcher = launcher;
instancesModel = new InstanceTableModel(launcher.getInstances());
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setSize(new Dimension(615, 322));
setResizable(false);
initComponents();
setLocationRelativeTo(null);
SwingHelper.setFrameIcon(this, Launcher.class, "icon.png");
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
loadInstances();
}
});
}
private void initComponents() {
JPanel container = createContainerPanel();
container.setLayout(new MigLayout("fill, insets dialog", "[][]push[][]", "[grow][]"));
webView = createNewsPanel();
splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, instanceScroll, webView);
selfUpdateButton.setVisible(launcher.getUpdateManager().getPendingUpdate());
launcher.getUpdateManager().addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getPropertyName().equals("pendingUpdate")) {
selfUpdateButton.setVisible((Boolean) evt.getNewValue());
}
}
});
updateCheck.setSelected(true);
instancesTable.setModel(instancesModel);
launchButton.setFont(launchButton.getFont().deriveFont(Font.BOLD));
splitPane.setDividerLocation(100);
splitPane.setDividerSize(4);
splitPane.setOpaque(false);
container.add(splitPane, "grow, wrap, span 5, gapbottom unrel, w null:680, h null:350");
SwingHelper.flattenJSplitPane(splitPane);
container.add(refreshButton);
container.add(updateCheck);
container.add(selfUpdateButton);
container.add(optionsButton);
container.add(launchButton);
add(container, BorderLayout.CENTER);
}
* ОБНОВЛЕНИЕ *
Попытки предложения ниже, но все еще становится видимой полосы прокрутки. Я изменил окно на true, чтобы изменить его размер, чтобы вам было легче видеть его при уменьшении размера.