SWT CTabFolder / CTabItem Markierung des angewählten Tabs entfernen

cable545

Aktives Mitglied
hallo,
bei der Klasse CTabFolder/CTabItem ist es so, dass der String welcher im Kopf des Tabs steht, beim Anklicken immer unterstrichen ist. Kann man das irgendwie entfernen?
 
Juten Morgen,
als Betriebssystem ist bei mir Windows XP Professional installiert. Diese Markierung ist jetzt für mich nicht der Weltuntergang, aber irgendwie...stört mich das. Ach so, was ist Kskb?
 
Ok ich hab hier mal ne main zusammengebastelt:
Java:
package clientchatgui;

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.*;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.*;

public class ZZZnake {
   
   public static void main( String[] args ) {
      final Display display = new Display();
      Shell   shell   = new Shell(display);
      shell.setText( "Client Gui" );
      shell.setSize(400, 650);
      shell.setLayout(new FillLayout());
      
      final CTabFolder folder = new CTabFolder(shell, SWT.NONE);
      folder.setLayout(new FillLayout());
      folder.setSimple(false);
      folder.setSelectionBackground(new Color[]{display.getSystemColor(SWT.COLOR_WHITE), 
                                                display.getSystemColor(SWT.COLOR_GRAY),
                                                display.getSystemColor(SWT.COLOR_GRAY), 
                                                display.getSystemColor(SWT.COLOR_GRAY)},
                                                new int[] {25, 50, 100}, true);
      
      Composite page1 = createTabPage(folder, "Kontakte");
      page1.setLayout( new FillLayout() );
      
      final Text userListText = new Text(page1, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY);
      userListText.setText("hans");
      
      shell.open();
      while(!shell.isDisposed())
         if (!display.readAndDispatch())
            display.sleep();
      display.dispose();
      
   }
   
   protected static Composite createTabPage(CTabFolder folder, String label) {
      // create chat tab
      CTabItem tab = new CTabItem(folder, SWT.NONE);
      tab.setText(label);
      // Einen Composite als Seite erzeugen
      Composite page = new Composite(folder, SWT.NONE);
      // ... und dem Reiter zuordnen
      tab.setControl(page);
      
      return page;
   }
}

wenn man nun auf den Tab Kontakte klickt wird der String immer unterstrichen dargestellt.
 
JA es liegt an deinem
Code:
folder.setSimple(false);
, für was brauchst du das?
 
Das Design der Tabs sieht bei
Java:
folder.setSimple(false);
anders aus. So ähnlich wie die Tabs bei Eclipse.
 
Ok. Ich glaube dann bevorzuge ich dann doch lieber die einfachen Tabs. Denn das Disign dieser Gui, sollte eigentlich nicht das Hauptproblem werden. Ich danke Dir für Deine Tipps
 
Es wird nur unterstrichen wenn der TabFolder den Focus bekommt.
Du kannst das mit sowas umgehen

Java:
      folder.addFocusListener(new FocusListener() {
  		
		@Override
		public void focusLost(FocusEvent e) {
			// TODO Auto-generated method stub
			
		}
		
		@Override
		public void focusGained(FocusEvent e) {
			folder.getSelection().getControl().setFocus();
			
		}
	});
 

Zurück
Oben