Hallo an alle hier
!
Folgende Frage es ist möglich die Breite eines Komponenete zu Bestiemmen?
z.B Ich habe folgende Klasse erstellt:
Bei dieser Abfragen bekome ich immer 0 zurück, mache ich da was falsh?
danke für Ihre Antworten.
Folgende Frage es ist möglich die Breite eines Komponenete zu Bestiemmen?
z.B Ich habe folgende Klasse erstellt:
Java:
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.ProgressBar;
import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
public class TesterVI
{
private Shell sShell = null; // @jve:decl-index=0:visual-constraint="15,4"
private ProgressBar progressBar = null;
private Composite ImageAndMessagemagecomposite = null;
private Canvas canvas = null;
private ScrolledComposite scrolledComposite = null;
private StyledText styledText = null;
/**
* This method initializes sShell
*/
public TesterVI()
{
// createSShell();
}
private void createSShell()
{
GridData gridData1 = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
gridData1.heightHint = 50;
GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 2;
sShell = new Shell();
sShell.setText("Shell");
sShell.setLayout(gridLayout);
createImageAndMEssagemagecomposite();
createOnlyProgressBar();
sShell.setSize(new Point(359, 131));
}
/**
*
*/
private void createOnlyProgressBar()
{
GridData gridData = new GridData();
gridData.horizontalAlignment = GridData.FILL;
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessHorizontalSpace = true;
gridData.grabExcessVerticalSpace = true;
gridData.horizontalSpan = 2;
gridData.verticalAlignment = GridData.END;
progressBar = new ProgressBar(sShell, SWT.NONE);
progressBar.setLayoutData(gridData);
}
/**
* This method initializes ImageAndMEssagemagecomposite
*
*/
private void createImageAndMEssagemagecomposite()
{
GridLayout gridLayout1 = new GridLayout();
gridLayout1.numColumns = 3;
GridData gridData2 = new GridData();
gridData2.horizontalAlignment = GridData.FILL;
gridData2.grabExcessHorizontalSpace = true;
gridData2.grabExcessVerticalSpace = true;
gridData2.horizontalSpan = 2;
gridData2.grabExcessHorizontalSpace = true;
gridData2.grabExcessVerticalSpace = true;
gridData2.verticalAlignment = GridData.FILL;
ImageAndMessagemagecomposite = new Composite(sShell, SWT.NONE);
createCanvas();
ImageAndMessagemagecomposite.setLayout(gridLayout1);
createScrolledCompositeWhitCanvas();
ImageAndMessagemagecomposite.setLayoutData(gridData2);
}
/**
* This method initializes canvas
*
*/
private void createCanvas()
{
canvas = new Canvas(ImageAndMessagemagecomposite, SWT.NONE);
}
/**
* This method initializes scrolledComposite
*
*/
private void createScrolledCompositeWhitCanvas()
{
GridData gridData3 = new GridData();
gridData3.horizontalSpan = 2;
gridData3.verticalAlignment = GridData.CENTER;
gridData3.grabExcessHorizontalSpace = true;
gridData3.grabExcessHorizontalSpace = true;
gridData3.horizontalAlignment = GridData.FILL;
scrolledComposite = new ScrolledComposite(ImageAndMessagemagecomposite,
SWT.NONE);
scrolledComposite.setLayoutData(gridData3);
styledText = new StyledText(scrolledComposite, SWT.NONE);
scrolledComposite.setContent(styledText);
System.out.println(gridData3.horizontalAlignment);
System.out.println(gridData3.horizontalIndent);
System.out.println(gridData3.horizontalSpan);
System.out.println(gridData3.minimumWidth);
System.out.println(gridData3.widthHint);
System.out.println("scrolledcomposite "
+ scrolledComposite.getMinWidth());
System.out.println("scrolledcomposite " + scrolledComposite.getMinWidth());
System.out.println("scrolledcomposite " + scrolledComposite.getSize().x );
System.out.println("scrolledcomposite " + scrolledComposite.getBounds().width);
System.out.println("scrolledcomposite " + scrolledComposite.getClientArea().width);
System.out.println("scrolledcomposite " + scrolledComposite.getContent().getSize().x);
}
}
Bei dieser Abfragen bekome ich immer 0 zurück, mache ich da was falsh?
danke für Ihre Antworten.