/ / Додавання двох Jtable's до JScrollPane - java, swing, jtable, jscrollpane

Додавання двох Jtable's до JScrollPane - java, swing, jtable, jscrollpane

як я можу додати два JTable в один ряд на JScrollPane, використовуючи параметр setViewPortView (), і встановити розмір таблиць стосовно розміру, присвоєного JscrollPane

Відповіді:

8 для відповіді № 1

Як показано тут і тут, нехай кожен таблиця займає власну область прокрутки. Нехай одна панель завжди відображає смужку прокрутки, а інша - ніколи. Тоді нехай обидва смуги прокрутки поділяють загальним BoundedRangeModel.


3 для відповіді № 2

JScrollPane може містити лише один JComponent, але ви можете обернути свої таблиці до JPanel і додайте його JScrollPane як і далі:

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;


public class TestFrame extends JFrame{

public TestFrame(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
init();
pack();
setVisible(true);
}

private void init() {
JTable t1 = new JTable(10,5);
JTable t2 = new JTable(15,5);
JPanel p = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.anchor = GridBagConstraints.NORTHWEST;
c.insets =  new Insets(0,5,0,5);
c.gridy=0;
c.gridx=0;
p.add(t1.getTableHeader(),c);
c.gridx=1;
p.add(t2.getTableHeader(),c);
c.gridx=0;
c.gridy=1;
p.add(t1,c);
c.gridx=1;
p.add(t2,c);
add(new JScrollPane(p));
}


public static void main(String... strings) {
new TestFrame();
}

}

введіть опис зображення тут


2 для відповіді № 3

Як я можу додати два JTable 's поруч в JScrollPane використовуючи Параметр setViewPortView () і встановити розмір таблиць з повагою до розміру, присвоєного JscrollPane

  • JScrollPane призначено гніздо лише одного JComponent