swt Text(feld) wird zu stark aufgebläht

SegFault

Bekanntes Mitglied
Ich habe in einen Editor ein Textfeld welches kommentare enthalten kann. Dies ist scrollable. Solange es leer ist, ist das auch kein problem. Ich habe aber einmal richtig viel Text eingefügt. Das mit den Scrollen klappt auch hervorragend. Jedoch nach dem schließen des Editors und neuöffnen desselbigen wird das Textfeld soweit aufgebläht das der Text im gesamten dort rein passt. Dadurch werden natürlich die anderen Steuerelemente falsch angeordnet.

Die Anordnung erfolgt in einen Grid mit 2 Spalten, links gibt es innerhalb des Grids ein neues Grid mit nur einer Spalte aber 3 Zeilen. In jeder dieser Zeilen sind wieder verschiedene Steuerelemente in einer Section angeordnet. Rechts ist halt nur die Section mit dem Textfeld für die Bemerkungen.
Die ganze anordnung mache ich nur über GridLayout und GridData. Ich habe auch schon .horizontalAlignment=.vertical.Alignment=(mit Fill und auch ohne) .grabExcessHorizontalSpace=true (Vertical auch, das ganze auch mit false) ausprobiert. Es ist immer der effekt dass das Textfield so groß wird, dass der gesamte Text reinpasst. Wie kriege ich das hin das dieses Textfeld nur so groß wird wie das Steuerelement es zulässt (Also die hälfte der Editors und die höher der drei links liegenden Steuerelemente).
 

SegFault

Bekanntes Mitglied
Sicher das es nicht soviel ist? Ich habs extra in 3 Funktionen unterteilt da es doch etwas aufwendig ist.

Java:
@Override
	public void createPartControl(Composite parent) 
	{
		this.shell = parent.getShell();
		toolkit = new FormToolkit(parent.getDisplay());
		ScrolledForm form = toolkit.createScrolledForm(parent);
		GridLayout layout = new GridLayout();
		layout.numColumns = 2;
		form.getBody().setLayout(layout);
		Composite inputcomp = toolkit.createComposite(form.getBody());
		createNameArea(inputcomp);
		createEMailTable(inputcomp);
		createTelefonTable(inputcomp);
		layout = new GridLayout();
		layout.numColumns = 1;
		inputcomp.setLayout(layout);
		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
		inputcomp.setLayoutData(gridData);
		createBemerkungArea(form.getBody());
	}
	
	private void createBemerkungArea(Composite parent)
	{
		
		Section bemerkungsection = toolkit.createSection(parent, Section.TITLE_BAR);
		bemerkungsection.setText("Bemerkung");
		GridData gridData = new GridData(GridData.FILL_BOTH);
		bemerkungsection.setLayoutData(gridData);
		Composite bemerkungcomposite = toolkit.createComposite(bemerkungsection);
		GridLayout layout = new GridLayout();
		layout.numColumns = 1;
		bemerkungcomposite.setLayout(layout);
		this.bemerkung = new Text(bemerkungcomposite, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
		bemerkung.addModifyListener(ml);
		gridData = new GridData();
		gridData.horizontalAlignment = GridData.FILL;
		gridData.verticalAlignment = GridData.FILL;
		gridData.grabExcessHorizontalSpace = true;
		gridData.grabExcessVerticalSpace = true;
		bemerkung.setLayoutData(gridData);
		if (kunde.getBemerkung() == null)bemerkung.setText("");
		else bemerkung.setText(kunde.getBemerkung());
		bemerkungsection.setClient(bemerkungcomposite);
		
		
		
	}
	
	private void createEMailTable(Composite parent)
	{
		Section emailsection = toolkit.createSection(parent, Section.TITLE_BAR);
		emailsection.setText("E-Mail Adressen");
		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
		emailsection.setLayoutData(gridData);
		Composite emailcomposite = toolkit.createComposite(emailsection);
		Composite table = toolkit.createComposite(emailcomposite, SWT.SCROLL_PAGE);
		table.setLayoutData(new GridData(GridData.FILL_BOTH));
		GridLayout layout = new GridLayout();
		layout.numColumns = 2;
		emailcomposite.setLayout(layout);
		layout = new GridLayout();
		layout.numColumns = 1;
		table.setLayout(layout);
		Table t = toolkit.createTable(table, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
		GridData gd = new GridData(GridData.FILL_BOTH);
		gd.heightHint = 70;
		gd.widthHint = 100;
		t.setLayoutData(gd);
		toolkit.paintBordersFor(table);
		//section.setClient(parent);
		emailViewer = new StorableTableViewer(t,"Kundenemails");
		emailContentProvider = new DefaultContentProvider(emailViewer);
		emailViewer.setContentProvider(emailContentProvider);
		CustomizableLabelProvider lprov = new CustomizableLabelProvider(TOKundenemail.class);
		TableHeading[] heads = lprov.getHeadings();
		CellEditor[] editor = new CellEditor[heads.length];
		String[] headingnames = new String[heads.length];
		int i = 0;
		for ( TableHeading th : heads )
		{
			if ( th.heading.equalsIgnoreCase("Typ"))editor[i] = new ComboBoxCellEditor(t,new String[]{"Geschäftlich","Privat"} , SWT.READ_ONLY);
			else if ( th.heading.equalsIgnoreCase("E-Mail Adresse"))editor[i] = new TextCellEditor(t);
			else if ( th.heading.equalsIgnoreCase("Bemerkung"))
			{
				editor[i] = new TextCellEditor(t);
				((Text)editor[i].getControl()).setTextLimit(100);
			}
			headingnames[i] = th.heading;
			i++;
		}
		emailViewer.createHeaders(heads);
		emailViewer.setCellEditors(editor);
		emailViewer.setColumnProperties(headingnames);
		emailViewer.setCellModifier(emailmodifier);
		emailViewer.setLabelProvider(lprov);
		
		Vector<TOKundenemail> mailvec = new Vector<TOKundenemail>();
		for (TOKundenemail mail : this.kunde.getKundenemails())mailvec.add(mail);
		emailViewer.setInput(mailvec);
		
		emailsection.setClient(emailcomposite);
		Composite buttonComposite = toolkit.createComposite(emailcomposite);
		layout = new GridLayout();
		layout.numColumns = 1;
		buttonComposite.setLayout(layout);
		Button addTel = toolkit.createButton(buttonComposite, "+", SWT.BORDER);
		gd = new GridData();
		gd.widthHint = 30;
		gd.heightHint = 30;
		addTel.setLayoutData(gd);
		addTel.addSelectionListener(new SelectionListener()
		{
			@Override
			public void widgetDefaultSelected(SelectionEvent e) 
			{
				TOKundenemail mail = new TOKundenemail();
				mail.setAdresse("a@b.de");
				mail.setTyp((byte) 0);
				emailContentProvider.add(mail);
				changed=true;
				firePropertyChange(PROP_DIRTY);
				
			}

			@Override
			public void widgetSelected(SelectionEvent e) {
				TOKundenemail mail = new TOKundenemail();
				mail.setAdresse("a@b.de");
				mail.setTyp((byte) 0);
				emailContentProvider.add(mail);
				changed=true;
				firePropertyChange(PROP_DIRTY);
				
			}
			
		});
		Button remTel = toolkit.createButton(buttonComposite, "-", SWT.BORDER);
		remTel.setLayoutData(gd);
		remTel.addSelectionListener(new SelectionListener()
		{
			@SuppressWarnings("unchecked")
			@Override
			public void widgetDefaultSelected(SelectionEvent e) 
			{
				ISelection sel = emailViewer.getSelection();
				if ( sel instanceof IStructuredSelection)
				{
					IStructuredSelection ssel = (IStructuredSelection)sel;
					Iterator it = ssel.iterator();
					while ( it.hasNext() )
					{
						emailContentProvider.remove((TOBasic) it.next());
					}
					changed=true;
					firePropertyChange(PROP_DIRTY);
				}
			}

			@SuppressWarnings("unchecked")
			@Override
			public void widgetSelected(SelectionEvent e) {
				ISelection sel = emailViewer.getSelection();
				if ( sel instanceof IStructuredSelection)
				{
					IStructuredSelection ssel = (IStructuredSelection)sel;
					Iterator it = ssel.iterator();
					while ( it.hasNext() )
					{
						emailContentProvider.remove((TOBasic) it.next());
					}
					changed=true;
					firePropertyChange(PROP_DIRTY);
				}
			}
			
		});
	}
	
	private void createTelefonTable(Composite parent)
	{
		Section telefonsection = toolkit.createSection(parent, Section.TITLE_BAR);
		telefonsection.setText("Telefonnummern");
		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
		telefonsection.setLayoutData(gridData);
		Composite telefoncomposite = toolkit.createComposite(telefonsection);
		Composite table = toolkit.createComposite(telefoncomposite, SWT.SCROLL_PAGE);
		table.setLayoutData(new GridData(GridData.FILL_BOTH));
		GridLayout layout = new GridLayout();
		layout.numColumns = 2;
		telefoncomposite.setLayout(layout);
		layout = new GridLayout();
		layout.numColumns = 1;
		table.setLayout(layout);
		Table t = toolkit.createTable(table, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
		GridData gd = new GridData(GridData.FILL_BOTH);
		gd.heightHint = 70;
		gd.widthHint = 100;
		t.setLayoutData(gd);
		toolkit.paintBordersFor(table);
		//section.setClient(parent);
		telefonviewer = new StorableTableViewer(t,"Kundentelefon");
		telefonContentProvider = new DefaultContentProvider(telefonviewer);
		telefonviewer.setContentProvider(telefonContentProvider);
		CustomizableLabelProvider lprov = new CustomizableLabelProvider(TOKundentelefon.class);
		TableHeading[] heads = lprov.getHeadings();
		CellEditor[] editor = new CellEditor[heads.length];
		String[] headingnames = new String[heads.length];
		int i = 0;
		for ( TableHeading th : heads )
		{
			if ( th.heading.equalsIgnoreCase("Typ"))editor[i] = new ComboBoxCellEditor(t,new String[]{"Festnetz","Geschäftlich","Handy","Fax","Sonstige"} , SWT.READ_ONLY);
			else if ( th.heading.equalsIgnoreCase("Nummer"))editor[i] = new TextCellEditor(t);
			else if ( th.heading.equalsIgnoreCase("Bemerkung"))
			{
				editor[i] = new TextCellEditor(t);
				((Text)editor[i].getControl()).setTextLimit(100);
			}
			headingnames[i] = th.heading;
			i++;
		}
		telefonviewer.createHeaders(heads);
		telefonviewer.setCellEditors(editor);
		telefonviewer.setColumnProperties(headingnames);
		telefonviewer.setCellModifier(kundetelefonmodifier);
		telefonviewer.setLabelProvider(lprov);
		Vector<TOKundentelefon> telvec = new Vector<TOKundentelefon>();
		for (TOKundentelefon tel : this.kunde.getKundentelefons())telvec.add(tel);
		telefonviewer.setInput(telvec);
		telefonsection.setClient(telefoncomposite);
		Composite buttonComposite = toolkit.createComposite(telefoncomposite);
		layout = new GridLayout();
		layout.numColumns = 1;
		buttonComposite.setLayout(layout);
		Button addTel = toolkit.createButton(buttonComposite, "+", SWT.BORDER);
		gd = new GridData();
		gd.widthHint = 30;
		gd.heightHint = 30;
		addTel.setLayoutData(gd);
		addTel.addSelectionListener(new SelectionListener()
		{
			@Override
			public void widgetDefaultSelected(SelectionEvent e) 
			{
				TOKundentelefon tel = new TOKundentelefon();
				tel.setNummer("(00000) 00000");
				tel.setTyp((byte) 0);
				telefonContentProvider.add(tel);
				changed=true;
				firePropertyChange(PROP_DIRTY);
			}

			@Override
			public void widgetSelected(SelectionEvent e) {
				TOKundentelefon tel = new TOKundentelefon();
				tel.setNummer("(00000) 00000");
				tel.setTyp((byte) 0);
				telefonContentProvider.add(tel);
				changed=true;
				firePropertyChange(PROP_DIRTY);
			}
			
		});
		Button remTel = toolkit.createButton(buttonComposite, "-", SWT.BORDER);
		remTel.setLayoutData(gd);
		remTel.addSelectionListener(new SelectionListener()
		{
			@SuppressWarnings("unchecked")
			@Override
			public void widgetDefaultSelected(SelectionEvent e) 
			{
				ISelection sel = telefonviewer.getSelection();
				if ( sel instanceof IStructuredSelection)
				{
					IStructuredSelection ssel = (IStructuredSelection)sel;
					Iterator it = ssel.iterator();
					while ( it.hasNext() )
					{
						telefonContentProvider.remove((TOBasic) it.next());
					}
					changed=true;
					firePropertyChange(PROP_DIRTY);
				}
			}

			@SuppressWarnings("unchecked")
			@Override
			public void widgetSelected(SelectionEvent e) {
				ISelection sel = telefonviewer.getSelection();
				if ( sel instanceof IStructuredSelection)
				{
					IStructuredSelection ssel = (IStructuredSelection)sel;
					Iterator it = ssel.iterator();
					while ( it.hasNext() )
					{
						telefonContentProvider.remove((TOBasic) it.next());
					}
					changed=true;
					firePropertyChange(PROP_DIRTY);
				}
			}
			
		});
		
	}
 
G

Gast2

Gast
Sicher das es nicht soviel ist? Ich habs extra in 3 Funktionen unterteilt da es doch etwas aufwendig ist.

Java:
@Override
	public void createPartControl(Composite parent) 
	{
		this.shell = parent.getShell();
		toolkit = new FormToolkit(parent.getDisplay());
		ScrolledForm form = toolkit.createScrolledForm(parent);
		GridLayout layout = new GridLayout();
		layout.numColumns = 2;
		form.getBody().setLayout(layout);
		Composite inputcomp = toolkit.createComposite(form.getBody());
		createNameArea(inputcomp);
		createEMailTable(inputcomp);
		createTelefonTable(inputcomp);
		layout = new GridLayout();
		layout.numColumns = 1;
		inputcomp.setLayout(layout);
		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
		inputcomp.setLayoutData(gridData);
		createBemerkungArea(form.getBody());
	}
	
	private void createBemerkungArea(Composite parent)
	{
		
		Section bemerkungsection = toolkit.createSection(parent, Section.TITLE_BAR);
		bemerkungsection.setText("Bemerkung");
		GridData gridData = new GridData(GridData.FILL_BOTH);
		bemerkungsection.setLayoutData(gridData);
		Composite bemerkungcomposite = toolkit.createComposite(bemerkungsection);
		GridLayout layout = new GridLayout();
		layout.numColumns = 1;
		bemerkungcomposite.setLayout(layout);
		this.bemerkung = new Text(bemerkungcomposite, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
		bemerkung.addModifyListener(ml);
		gridData = new GridData();
		gridData.horizontalAlignment = GridData.FILL;
		gridData.verticalAlignment = GridData.FILL;
		gridData.grabExcessHorizontalSpace = true;
		gridData.grabExcessVerticalSpace = true;
		bemerkung.setLayoutData(gridData);
		if (kunde.getBemerkung() == null)bemerkung.setText("");
		else bemerkung.setText(kunde.getBemerkung());
		bemerkungsection.setClient(bemerkungcomposite);
		
		
		
	}
	
	private void createEMailTable(Composite parent)
	{
		Section emailsection = toolkit.createSection(parent, Section.TITLE_BAR);
		emailsection.setText("E-Mail Adressen");
		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
		emailsection.setLayoutData(gridData);
		Composite emailcomposite = toolkit.createComposite(emailsection);
		Composite table = toolkit.createComposite(emailcomposite, SWT.SCROLL_PAGE);
		table.setLayoutData(new GridData(GridData.FILL_BOTH));
		GridLayout layout = new GridLayout();
		layout.numColumns = 2;
		emailcomposite.setLayout(layout);
		layout = new GridLayout();
		layout.numColumns = 1;
		table.setLayout(layout);
		Table t = toolkit.createTable(table, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
		GridData gd = new GridData(GridData.FILL_BOTH);
		gd.heightHint = 70;
		gd.widthHint = 100;
		t.setLayoutData(gd);
		toolkit.paintBordersFor(table);
		//section.setClient(parent);
		emailViewer = new StorableTableViewer(t,"Kundenemails");
		emailContentProvider = new DefaultContentProvider(emailViewer);
		emailViewer.setContentProvider(emailContentProvider);
		CustomizableLabelProvider lprov = new CustomizableLabelProvider(TOKundenemail.class);
		TableHeading[] heads = lprov.getHeadings();
		CellEditor[] editor = new CellEditor[heads.length];
		String[] headingnames = new String[heads.length];
		int i = 0;
		for ( TableHeading th : heads )
		{
			if ( th.heading.equalsIgnoreCase("Typ"))editor[i] = new ComboBoxCellEditor(t,new String[]{"Geschäftlich","Privat"} , SWT.READ_ONLY);
			else if ( th.heading.equalsIgnoreCase("E-Mail Adresse"))editor[i] = new TextCellEditor(t);
			else if ( th.heading.equalsIgnoreCase("Bemerkung"))
			{
				editor[i] = new TextCellEditor(t);
				((Text)editor[i].getControl()).setTextLimit(100);
			}
			headingnames[i] = th.heading;
			i++;
		}
		emailViewer.createHeaders(heads);
		emailViewer.setCellEditors(editor);
		emailViewer.setColumnProperties(headingnames);
		emailViewer.setCellModifier(emailmodifier);
		emailViewer.setLabelProvider(lprov);
		
		Vector<TOKundenemail> mailvec = new Vector<TOKundenemail>();
		for (TOKundenemail mail : this.kunde.getKundenemails())mailvec.add(mail);
		emailViewer.setInput(mailvec);
		
		emailsection.setClient(emailcomposite);
		Composite buttonComposite = toolkit.createComposite(emailcomposite);
		layout = new GridLayout();
		layout.numColumns = 1;
		buttonComposite.setLayout(layout);
		Button addTel = toolkit.createButton(buttonComposite, "+", SWT.BORDER);
		gd = new GridData();
		gd.widthHint = 30;
		gd.heightHint = 30;
		addTel.setLayoutData(gd);
		addTel.addSelectionListener(new SelectionListener()
		{
			@Override
			public void widgetDefaultSelected(SelectionEvent e) 
			{
				TOKundenemail mail = new TOKundenemail();
				mail.setAdresse("a@b.de");
				mail.setTyp((byte) 0);
				emailContentProvider.add(mail);
				changed=true;
				firePropertyChange(PROP_DIRTY);
				
			}

			@Override
			public void widgetSelected(SelectionEvent e) {
				TOKundenemail mail = new TOKundenemail();
				mail.setAdresse("a@b.de");
				mail.setTyp((byte) 0);
				emailContentProvider.add(mail);
				changed=true;
				firePropertyChange(PROP_DIRTY);
				
			}
			
		});
		Button remTel = toolkit.createButton(buttonComposite, "-", SWT.BORDER);
		remTel.setLayoutData(gd);
		remTel.addSelectionListener(new SelectionListener()
		{
			@SuppressWarnings("unchecked")
			@Override
			public void widgetDefaultSelected(SelectionEvent e) 
			{
				ISelection sel = emailViewer.getSelection();
				if ( sel instanceof IStructuredSelection)
				{
					IStructuredSelection ssel = (IStructuredSelection)sel;
					Iterator it = ssel.iterator();
					while ( it.hasNext() )
					{
						emailContentProvider.remove((TOBasic) it.next());
					}
					changed=true;
					firePropertyChange(PROP_DIRTY);
				}
			}

			@SuppressWarnings("unchecked")
			@Override
			public void widgetSelected(SelectionEvent e) {
				ISelection sel = emailViewer.getSelection();
				if ( sel instanceof IStructuredSelection)
				{
					IStructuredSelection ssel = (IStructuredSelection)sel;
					Iterator it = ssel.iterator();
					while ( it.hasNext() )
					{
						emailContentProvider.remove((TOBasic) it.next());
					}
					changed=true;
					firePropertyChange(PROP_DIRTY);
				}
			}
			
		});
	}
	
	private void createTelefonTable(Composite parent)
	{
		Section telefonsection = toolkit.createSection(parent, Section.TITLE_BAR);
		telefonsection.setText("Telefonnummern");
		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
		telefonsection.setLayoutData(gridData);
		Composite telefoncomposite = toolkit.createComposite(telefonsection);
		Composite table = toolkit.createComposite(telefoncomposite, SWT.SCROLL_PAGE);
		table.setLayoutData(new GridData(GridData.FILL_BOTH));
		GridLayout layout = new GridLayout();
		layout.numColumns = 2;
		telefoncomposite.setLayout(layout);
		layout = new GridLayout();
		layout.numColumns = 1;
		table.setLayout(layout);
		Table t = toolkit.createTable(table, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
		GridData gd = new GridData(GridData.FILL_BOTH);
		gd.heightHint = 70;
		gd.widthHint = 100;
		t.setLayoutData(gd);
		toolkit.paintBordersFor(table);
		//section.setClient(parent);
		telefonviewer = new StorableTableViewer(t,"Kundentelefon");
		telefonContentProvider = new DefaultContentProvider(telefonviewer);
		telefonviewer.setContentProvider(telefonContentProvider);
		CustomizableLabelProvider lprov = new CustomizableLabelProvider(TOKundentelefon.class);
		TableHeading[] heads = lprov.getHeadings();
		CellEditor[] editor = new CellEditor[heads.length];
		String[] headingnames = new String[heads.length];
		int i = 0;
		for ( TableHeading th : heads )
		{
			if ( th.heading.equalsIgnoreCase("Typ"))editor[i] = new ComboBoxCellEditor(t,new String[]{"Festnetz","Geschäftlich","Handy","Fax","Sonstige"} , SWT.READ_ONLY);
			else if ( th.heading.equalsIgnoreCase("Nummer"))editor[i] = new TextCellEditor(t);
			else if ( th.heading.equalsIgnoreCase("Bemerkung"))
			{
				editor[i] = new TextCellEditor(t);
				((Text)editor[i].getControl()).setTextLimit(100);
			}
			headingnames[i] = th.heading;
			i++;
		}
		telefonviewer.createHeaders(heads);
		telefonviewer.setCellEditors(editor);
		telefonviewer.setColumnProperties(headingnames);
		telefonviewer.setCellModifier(kundetelefonmodifier);
		telefonviewer.setLabelProvider(lprov);
		Vector<TOKundentelefon> telvec = new Vector<TOKundentelefon>();
		for (TOKundentelefon tel : this.kunde.getKundentelefons())telvec.add(tel);
		telefonviewer.setInput(telvec);
		telefonsection.setClient(telefoncomposite);
		Composite buttonComposite = toolkit.createComposite(telefoncomposite);
		layout = new GridLayout();
		layout.numColumns = 1;
		buttonComposite.setLayout(layout);
		Button addTel = toolkit.createButton(buttonComposite, "+", SWT.BORDER);
		gd = new GridData();
		gd.widthHint = 30;
		gd.heightHint = 30;
		addTel.setLayoutData(gd);
		addTel.addSelectionListener(new SelectionListener()
		{
			@Override
			public void widgetDefaultSelected(SelectionEvent e) 
			{
				TOKundentelefon tel = new TOKundentelefon();
				tel.setNummer("(00000) 00000");
				tel.setTyp((byte) 0);
				telefonContentProvider.add(tel);
				changed=true;
				firePropertyChange(PROP_DIRTY);
			}

			@Override
			public void widgetSelected(SelectionEvent e) {
				TOKundentelefon tel = new TOKundentelefon();
				tel.setNummer("(00000) 00000");
				tel.setTyp((byte) 0);
				telefonContentProvider.add(tel);
				changed=true;
				firePropertyChange(PROP_DIRTY);
			}
			
		});
		Button remTel = toolkit.createButton(buttonComposite, "-", SWT.BORDER);
		remTel.setLayoutData(gd);
		remTel.addSelectionListener(new SelectionListener()
		{
			@SuppressWarnings("unchecked")
			@Override
			public void widgetDefaultSelected(SelectionEvent e) 
			{
				ISelection sel = telefonviewer.getSelection();
				if ( sel instanceof IStructuredSelection)
				{
					IStructuredSelection ssel = (IStructuredSelection)sel;
					Iterator it = ssel.iterator();
					while ( it.hasNext() )
					{
						telefonContentProvider.remove((TOBasic) it.next());
					}
					changed=true;
					firePropertyChange(PROP_DIRTY);
				}
			}

			@SuppressWarnings("unchecked")
			@Override
			public void widgetSelected(SelectionEvent e) {
				ISelection sel = telefonviewer.getSelection();
				if ( sel instanceof IStructuredSelection)
				{
					IStructuredSelection ssel = (IStructuredSelection)sel;
					Iterator it = ssel.iterator();
					while ( it.hasNext() )
					{
						telefonContentProvider.remove((TOBasic) it.next());
					}
					changed=true;
					firePropertyChange(PROP_DIRTY);
				}
			}
			
		});
		
	}

hab ja auch nicht gesagt du sollst mit deinen ganzen code sende... es hätte die wichtigsten sachen gereicht... schau dir mal die Klasse GridDataFactory an die könnte dir helfen...
 
G

Gast2

Gast
Wie gesagt wenn du Probleme hast dann poste den relevanten Code und schmeiß alles raus was nichts damit zu tun hat.
 

Koringar

Bekanntes Mitglied
Hi,

vielleicht auch ein kleiner Tip. Das Layout
Code:
GridData(GridData.FILL_HORIZONTAL);
passt seine Elemete seiner Größe eigenständig an. Das bedeutet bei Textfelder das es sich dem Inhalt anpasst mit dem man es Initialisiert. Das könnte auch dein Problem sein.
 

SegFault

Bekanntes Mitglied
Das Problem ist der width_hint. Standardmäßig ist der auf SWT.DEFAULT und SWT.DEFAULT passt das so an dass das Steuerelement gerade noch angezeigt wird. Sobald es also sehr groß wird wird das Textfeld größer als die geplante Breite.
 
G

Gast2

Gast
Das Problem ist der width_hint. Standardmäßig ist der auf SWT.DEFAULT und SWT.DEFAULT passt das so an dass das Steuerelement gerade noch angezeigt wird. Sobald es also sehr groß wird wird das Textfeld größer als die geplante Breite.

Dann nehm die GridFFactory und stell dir die hint ein dann bleibt es immer gleich groß...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P RCP Text Editor Example - Missing Bundles lassen sich nicht auffinden. Plattformprogrammierung 6
N RCP JFace Table - Header Text um -90° drehen Plattformprogrammierung 2
L RCP SWT Text vergleichen und colorieren? Plattformprogrammierung 10
G Text kopieren aus TreeViewer mit mehreren Spalten Plattformprogrammierung 6
D Neu Wizard- kein Text Plattformprogrammierung 11
N Update auf JRE 7_71 - Klasse wird nicht gefunden? Plattformprogrammierung 3
E Maven wird nicht mehr gefunden Plattformprogrammierung 3
J Suche ein UiEvent welches mich per Injection benachrichtigt wenn die Applikation geschlossen wird. Plattformprogrammierung 1
S RCP Exportiertes RCP Produkt lädt Datei nicht, bei Start aus Eclipse wird Datei jedoch gefunden Plattformprogrammierung 6
M OSGi Erweiterung über Extension Point wird nicht erkannt Plattformprogrammierung 2
C Ausführbare Jar erzeugen (Datei wird nicht gefunden) Plattformprogrammierung 4
H Datei in eclipse wird nicht erkannt Plattformprogrammierung 3
L RCP WelcomePage wird nicht geöffnet Plattformprogrammierung 2
S RCP Menu Contribution - Menü Button wird als inaktiv angezeigt Plattformprogrammierung 11
J RCP Verhindern, dass Editor geschlossen wird Plattformprogrammierung 5
K RCP View wird nicht angezeigt Plattformprogrammierung 2
B RCP eigenes Eclipse Plugin wird nicht aufgelöst Plattformprogrammierung 7
J Plugin wird nicht mit gestartet Plattformprogrammierung 4
hdi Plugin Icon wird nicht angezeigt Plattformprogrammierung 7
T RCP Menubar wird durch OLE-VIEW überschrieben Plattformprogrammierung 4
M Plugin wird nicht mehr geladen Plattformprogrammierung 3
byte Equinox - Klasse aus Plug-In wird nicht gefunden Plattformprogrammierung 3

Ähnliche Java Themen


Oben