On Wednesday, June 17, 2020 at 9:08:10 AM UTC-4, Eric Douglas wrote:
you can see scrolling down and back up still views the table fine, but the table is much bigger for some reason. I need to add some methods to resize it back to what it was if I need to wrap it in another JScrollPane like that.
Using the Windows zip file v11 hotspot: https://adoptopenjdk.net/releases.html
ok, I found the workaround.
https://stackoverflow.com/questions/13213645/set-size-of-jtable-in-jscrollpane-and-in-jpanel-with-the-size-of-the-jframe
so now it's
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
JFrame win1 = new JFrame();
Container p1 = win1.getContentPane();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JPanel p4 = new JPanel();
JPanel p5 = new JPanel();
JPanel p6 = new JPanel();
JPanel p7 = new JPanel();
p5.add(p4);
p6.add(p5);
p7.add(p6);
JScrollPane sp1 = new JScrollPane(p7);
p1.add(p2);
p2.add(p3);
p3.add(sp1);
win1.setPreferredSize(new Dimension(640,480));
Object[][] data = new String[][] {{"data1"},{"data2"},{"data3"}};
String[] cols = new String[] {"col1"};
DefaultTableModel model = new DefaultTableModel(data,cols);
JTable t1 = new JTable(model);
p4.setLayout(new BoxLayout(p4, BoxLayout.PAGE_AXIS));
JScrollPane sp2 = new JScrollPane(t1);
t1.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
t1.setPreferredScrollableViewportSize(t1.getPreferredSize());
t1.setFillsViewportHeight(true);
p4.add(sp2);
t1.setTableHeader(null);
sp2.setBorder(null);
for (int i = 0; i < 10; i++) {
p4.add(new JLabel("Label " + i));
}
sp1.setPreferredSize(new Dimension(150,150));
win1.setSize(new Dimension(800,600));
win1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
win1.setVisible(true);
});
}
and yes all basic JRE imports
import java.awt.Container;
import java.awt.Dimension;
import java.awt.EventQueue;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableModel;
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)