Before I start, I'm aware that its a bad idea to not use a Layout Manager and usually I do use one, however, I also have all my components automatically re-size and relocate based on the size of the window. In addition the program I'm working on is only intended to run on 1 machine throughout its entire lifetime. Please don't downvote me just because of lack of layout manager, I found it to be what I need for this particular program.
To my issue, I found a similar post on stackoverflow but a solution was never achieved.
I'm adding a dynamic amount of
JLabels to my
JPanel, I've noticed that when not using a layout manager, the scroller doesn't work.
This is a simplified version of my initialization code.
JPanel mypanel = new JPanel(); mypanel.setLayout(null); mypanel.setSize(800,450); mypanel.setForeground(Color.WHITE); mypanel.setBackground(Color.BLACK); scrollablePanel = new JScrollPane(mypanel); scrollablePanel.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); scrollablePanel.setPreferredSize(new Dimension(800,300)); scrollablePanel.setSize(800,300); scrollablePanel.setLocation(250,156); myContainer.add(scrollablePanel);
myContainer would be the container (also without a layout manager). The
JLabels are added later on to the
enter code heremypanel.add(label1);
after some basic settings are set for the labels such as
Unfortunately when run, the scrollbar appears as if its not required (see image)
The table text seen in the image is made up of multiple
If it's not possible to resolve the issue without using a Layout Manager I will switch to BoxLayout, I was just hoping there would be a solution.