Eclipseoberfläche in SWT

Status
Nicht offen für weitere Antworten.

Koringar

Bekanntes Mitglied
Hi,

ich habe den Auftrag bekommen in SWT eine GUI zubasteln die der von Eclipse ähnelt. Ich habe da selber schon einiges mit Tabs und ViewForm probiert, komme da nicht so recht weiter.
Deswegen meine Frage ob es einer von euch schon mal versucht hat und mir da etwas weiter helfen kann? Gibts dafür speziale Objekt oder sowas?
Oder bin ich mit ViewForm in Verbindung mit Tabs schon richtig?
 

Koringar

Bekanntes Mitglied
Mh, stimmt ja Ecplise wurde ja mit RCP (Plugin- Projekt) gemacht. Aber thx, die Seite über JFace und SWT wusste ich schon und benutze sie auch ;).

Mal eine andere Frage, es geht um CTabFolder. Wenn ich in diesem ein CItemTab, die einen Tabelle enthält, übergebe wird diese Tabelle nicht richtig Dargestellt. Er schneite das Ende einfach ab oder eher die Tabelle läuft über den Rand des Folders hinnaus.
Kann ich das irgend wie machen das er da Scrollt? Muss ich ihm da die ScrollComponent extra zuweisen?
Und er zeigt bei dieser Tabelle immer nur eine Zeile an, wie kann ich da mehr anzeigen lassen?
 
G

Gast2

Gast
So ganz ohne Code schätze ich mal du benutzt den LayoutManager falsch...
Wenn nicht mach ein kleines(!!!!) Bsp. wo das Problem auftritt...
 

Koringar

Bekanntes Mitglied
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("ELENA");
shell.setLayout(new RowLayout());

CTabFolder tabFolder = new CTabFolder(shell, SWT.CLOSE | SWT.BORDER);
tabFolder.setBorderVisible(true);
tabFolder.setSimple(false);
tabFolder.setUnselectedCloseVisible(false);
tabFolder.setMaximizeVisible(true);
tabFolder.setMinimizeVisible(true);
tabFolder.addCTabFolder2Listener(this);

CTabItem tabItem = new CTabItem(tabFolder, SWT.NONE);
tabItem.setText("Monitor Tabelle");
tabItem.setToolTipText("Dies ist die Monitor Tabelle");

tbl_monitor = new Table(tabFolder, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER);
tbl_monitor.setHeaderVisible(true);
tbl_monitor.addMouseListener(this);

TableColumn col_member;
col_member = new TableColumn(tbl_monitor, SWT.LEFT);
col_member.setText("Sendungsnummer");
col_member.setWidth(150);
col_member = new TableColumn(tbl_monitor, SWT.LEFT);
col_member.setText("Alarm_Status");
col_member.setWidth(150);
col_member = new TableColumn(tbl_monitor, SWT.LEFT);
col_member.setText("Current_Status");
col_member.setWidth(150);
col_member = new TableColumn(tbl_monitor, SWT.LEFT);
col_member.setText("Created");
col_member.setWidth(150);
col_member = new TableColumn(tbl_monitor, SWT.LEFT);
col_member.setText("Modified");
col_member.setWidth(150);
col_member = new TableColumn(tbl_monitor, SWT.LEFT);
col_member.setText("Transfermethod");
col_member.setWidth(150);
col_member = new TableColumn(tbl_monitor, SWT.LEFT);
col_member.setText("Com_Partner_Address");
col_member.setWidth(150);
col_member = new TableColumn(tbl_monitor, SWT.LEFT);
col_member.setText("Filename_Auftrag");
col_member.setWidth(150);
col_member = new TableColumn(tbl_monitor, SWT.LEFT);
col_member.setText("Filesize_Auftrag");
col_member.setWidth(150);
col_member = new TableColumn(tbl_monitor, SWT.LEFT);
col_member.setText("Filename_MVDS");
col_member.setWidth(150);
col_member = new TableColumn(tbl_monitor, SWT.LEFT);
col_member.setText("Filesize_MVDS");
col_member.setWidth(150);

tabItem.setControl(tbl_monitor);

shell.open();
So das mein Code etwas abgespeckt, ich habe es schon mit allen 4 Layouts (RowLayout, GridLayout, FillLayout und FormLayout) probiert und es kamm immer das selbe raus.
 

Koringar

Bekanntes Mitglied
Wuaha, habs gerade hinbekommen ;).

Musste das Layout der Shell auf GridLayout setzen und dann habe ich dem CTabFolder
mit setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
und setMaximized(true);

dann zeigt er es in der ganz Großen Auflösung an und wegen dem Scrollen, da habe ich der Table im Kontruktor SWT.H_SCROLL und SWT.V_SCROLL mitgeben.
 

Wildcard

Top Contributor
Kleiner Tipp an dich: schau dir mal GridDataFactory an. Wesentlich komfortabler als GridData von Hand anzulegen.
Ausserdem solltest du (je nach geplanter GUI) unbedingt einen Blick auf Eclipse Forms werfen.
 

Koringar

Bekanntes Mitglied
ok, mal schauen.

das es diese Ecplise Forms gibt weis ich, aber ich habe noch nichts gefunden (also Beispiele) wo diese Verwendet werden. Hast du da vielleicht mal ein Tutorial gefunden oder paar Beispiele?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben