JScrollPane sp = new JScrollPane();
sp.getViewport().setView( composite );
jpanel.add( sp );
JScrollPane
Java:JScrollPane sp = new JScrollPane(); sp.getViewport().setView( composite ); jpanel.add( sp );
Ganz wichtig, dein zu scrollendes Objekt (Composite) darf nicht noch woanderst hinzugefügt werden.
Also die Einträge entfernen die dein Composite auf dein Fenster setzen.
package de.nordakademie.rushhour.view;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class ScrolledCompositeTest {
private Composite composite;
public static void main(String[] args) {
ScrolledCompositeTest window = new ScrolledCompositeTest();
window.open();
}
public void open() {
final Display display = new Display();
final Shell shell = new Shell();
shell.setSize(800, 600);
shell.setLayout(new GridLayout());
shell.setText("ScrolledComposite Test");
{
final ScrolledComposite scrolledComposite = new ScrolledComposite(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
{
composite = new Composite(scrolledComposite, SWT.NONE);
composite.setBounds(0, 0, 800, 800);
composite.setBackground(display.getSystemColor(SWT.COLOR_DARK_GREEN));
scrolledComposite.setContent(composite);
}
}
// composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
package de.nordakademie.rushhour.view;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class ScrolledCompositeTest {
private Composite kindEins;
private Composite kindZwei;
public static void main(String[] args) {
ScrolledCompositeTest window = new ScrolledCompositeTest();
window.open();
}
public void open() {
final Display display = new Display();
final Shell shell = new Shell();
shell.setSize(800, 600);
shell.setLayout(new FillLayout());
shell.setText("Test");
{
ScrolledComposite scrolledComposite = new ScrolledComposite(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
{
Composite mutterComposite = new Composite(scrolledComposite, SWT.NONE);
mutterComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true,1,1));
mutterComposite.setLayout(new GridLayout(2, true));
mutterComposite.setBackground(display.getSystemColor(SWT.COLOR_DARK_GREEN));
kindEins = new Composite(mutterComposite, SWT.NONE);
GridData gridData1 = new GridData(SWT.FILL, SWT.FILL, false,false, 1, 1);
gridData1.widthHint = 1024;
gridData1.heightHint = 69;
kindEins.setLayoutData(gridData1);
kindEins.setBounds(0, 0, 800, 800);
kindEins.setBackground(display.getSystemColor(SWT.COLOR_DARK_GREEN));
kindZwei = new Composite(mutterComposite, SWT.NONE);
GridData gridData2 = new GridData(SWT.FILL, SWT.FILL, false,false, 1, 1);
gridData2.widthHint = 2024;
gridData2.heightHint = 269;
kindZwei.setLayoutData(gridData2);
kindZwei.setBounds(0, 0, 1200, 1900);
kindZwei.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
scrolledComposite.setContent(mutterComposite);
scrolledComposite.setAlwaysShowScrollBars(true);}
}
// composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}