GridLayout Zeilen Hintergrund

Status
Nicht offen für weitere Antworten.

TomLudwig

Mitglied
Guten Morgen zusammen,

ich habe ein GridLayout mit zwei Zeilen und zwei Spalten. Die erste Zeile möchte ich als Kopfzeile verwenden und deshalb einen Hintergrund dahinter legen. Per MouseOver soll sich der Hintergrund ändern.

Im Moment habe ich es so gelöst, dass in den zwei Spalten der ersten Zeile jeweils ein Label hinterlegt ist. Diese haben einen Hintergrund und einen MouseTrackListener. Der MouseTrackListener ändert dann den Hintergrund beider Labels.

Kann mir jemand einen Hinweis geben wie das noch besser zu bewerkstelligen ist? Ich habe einen kleinen Versatz beim Austauschen der Hintergrunde. Also Label1 wird schneller aktualisiert als Label2 ...

Ich habe versucht im Forum und bei Google zu suchen. Weiß aber nicht so recht nach was.

Vielen DANK für eure Hilfe
 

TomLudwig

Mitglied
Hallo hiti,

ich glaube du hast mich falsch verstanden. Soweit ich mir die Tutorials angeschaut hab und nach TableCellRender gegoogelt hab bezieht sich das nur auf eine Table.

Ich möchte in meinem Layout in der ersten Zeile linksbüdig Text anzeigen und rechtsbündig zwei Buttons. In der Zeile darunter wird eine Tabelle angezeigt.

Mir geht es um die erste Zeile. Um die drei Elemente anzeigen/ausrichten zu können benötige ich doch ein GridLayout, oder? Und genau dieser ersten Zeile soll ein Hintergrund gegeben werden, der sich bei MouseOver ändert.

Oder hab ich deinen Eintrag falsch verstanden?

Gruß!
 

hiti

Mitglied
Hallo TomLudwig,

du hast recht, irgendwie hab ich das falsch verstanden.
Eigentlich sollte das was du gemacht hast mit den JLabels nicht so verkehrt sein.
Eventuell wäre JPanel noch etwas besser dafür.
Der Versatz der Aktualisierung sollte daraus nicht kommen.
Vermutlich hast du MouseMotionListener an die Labels gehängt und färbst dann entsprechend ein?
Wenn Du mal den Code schickst, (am besten als funktionsfähiges Ganzes), können wir das gerne konkreter durchgehen.

Gruss, hiti
 

TomLudwig

Mitglied
JPanel hab ich mir angeschaut. Werde aber nicht so ganz schlau drauß.

Hier ist der Code der Klasse. Etwas abgespeckt. Aber funktioniert immernoch. Bis auf den Versatz ;-)

DANKE vielmals für deine Hilfe!!!

Code:
public class Portlet extends ViewPart {

	private CLabel cLabel = null;
	private CLabel cLabel0 = null;
	
	private Image header_background = new Image (Display.getCurrent(),getClass().getResourceAsStream("/com/sometac/es/education/layout/header_background.gif"));
	private Image header_background_mouse_over = new Image (Display.getCurrent(),getClass().getResourceAsStream("/com/sometac/es/education/layout/header_background_mouse_over.gif"));
	private Image header_selector = new Image(Display.getCurrent(), getClass().getResourceAsStream("/com/sometac/es/education/layout/header_selector.gif"));
	private Image header_selector_mouse_over = new Image(Display.getCurrent(),getClass().getResourceAsStream("/com/sometac/es/education/layout/header_selector_mouse_over.gif"));
		
	@Override
	public void createPartControl(Composite arg0) {	
		
		GridLayout gridLayout = new GridLayout();

		gridLayout.numColumns = 3;
		gridLayout.marginHeight = 0;
		gridLayout.marginWidth = 0;
		gridLayout.verticalSpacing = 0;
		gridLayout.horizontalSpacing = 0;
		arg0.setLayout(gridLayout);
				
		GridData gridData = new GridData();
		gridData.grabExcessHorizontalSpace = true;
		gridData.horizontalAlignment = GridData.FILL;
		gridData.verticalAlignment = GridData.FILL;
		gridData.grabExcessHorizontalSpace = true;
		gridData.heightHint = 23;		
		
		cLabel = new CLabel(arg0, SWT.NONE);
		cLabel.setBackground(header_background);
		cLabel.setFont(new Font(Display.getDefault(), "Arial", 10, SWT.BOLD));
		cLabel.setForeground(new Color(Display.getCurrent(), 28, 54, 101));
		cLabel.setText("Bezeichnung Portlet...");
		cLabel.setLayoutData(gridData);
		cLabel.addMouseTrackListener(new MouseTrackAdapter() {
			public void mouseEnter(MouseEvent e) {
				mouseIn(e);
			}
			public void mouseExit(MouseEvent e) {
				mouseOut(e);
			}
		});
				
		gridData = new GridData();
		gridData.heightHint = 23;
		
		cLabel0 = new CLabel(arg0, SWT.NONE);
		cLabel0.setText("");
		cLabel0.setLayoutData(gridData);
		cLabel0.setImage(header_selector);
		cLabel0.setBackground(header_background);
		cLabel0.addMouseTrackListener(new MouseTrackAdapter() {
			public void mouseEnter(MouseEvent e) {
				mouseIn(e);
				cLabel0.setImage(header_selector_mouse_over);
			}
			public void mouseExit(MouseEvent e) {
				mouseOut(e);
				cLabel0.setImage(header_selector);
			}
		});
	}	
	
	public void mouseIn(MouseEvent e) {
		cLabel0.setBackground(header_background_mouse_over);
		cLabel.setBackground(header_background_mouse_over);
	}
	
	public void mouseOut(MouseEvent e) {
		cLabel0.setBackground(header_background);		
		cLabel.setBackground(header_background);

	}
		
	@Override
	public void setFocus() {
		// TODO Auto-generated method stub
	}
}
 

hiti

Mitglied
Hallo TomLudwig,

habe Deinen Code gesehen, aber leider können bei mir etliche Klassen nicht aufgelöst werden.
Was ist ViewPart, CLabel, Display, GridData, MouseTrackAdapter, usw.

Von der Logik her kann ich erstmal nichts gravierendes erkennen.
- Mache doch mal um bestimmte Methodenaufrufe eine kleine Zeitmessung per System.currentTimeMillis();
- Ändert sich der Versatz den, wenn du die Reihenfolge in mouseIn / Out von den Labels vertauschst?
- Warum rufst du in mouseEnter() und mouseExit() nach den aufrufen von mouseIn() mouseOut() nochmal cLabel0.setImage(). Warum das nicht auch in mouseIn() ?

Eventl. liegt es auch an den 'fremden' Klassen. MouseTrackListener usw.
Vielleicht arbeiten diese nicht zuverlässig?
Schon mal mit pure sun-java versucht?

Gruss, hiti
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D GridLayout mit nur einer Spalte, aber n Zeilen AWT, Swing, JavaFX & SWT 2
E GridLayout auf ScrollPane AWT, Swing, JavaFX & SWT 4
thor_norsk GridLayout AWT, Swing, JavaFX & SWT 11
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
M Swing GridLayout AWT, Swing, JavaFX & SWT 2
D [Swing] Anordnung von Komponenten mit GridLayout Manager AWT, Swing, JavaFX & SWT 13
pkm kryptisches Verhalten bei GridLayout AWT, Swing, JavaFX & SWT 4
K Swing GridLayout - x und y bei Mausklick ausgeben AWT, Swing, JavaFX & SWT 4
S GridLayout SWT: Anordnung Composites nebeneinander AWT, Swing, JavaFX & SWT 2
B GridLayout - wie am besten implementieren AWT, Swing, JavaFX & SWT 3
B GridLayout Basics AWT, Swing, JavaFX & SWT 1
L Eigene JComponent in GridLayout AWT, Swing, JavaFX & SWT 9
fLooojava GridLayout - Frage bezüglich Kachelgröße AWT, Swing, JavaFX & SWT 5
F JPanel "verschmelzen" GridLayout AWT, Swing, JavaFX & SWT 10
M LayoutManager GridLayout funktioniert nicht AWT, Swing, JavaFX & SWT 0
T LayoutManager GridLayout panel.setSize funktioniert nicht AWT, Swing, JavaFX & SWT 1
F Gridlayout AWT, Swing, JavaFX & SWT 6
A JPanel oder GridLayout Größe festsetzten AWT, Swing, JavaFX & SWT 4
X GridLayout JPanel austauschen AWT, Swing, JavaFX & SWT 2
A JFrame Größenänderung mit Maus und GridLayout AWT, Swing, JavaFX & SWT 10
J Button in GridLayout AWT, Swing, JavaFX & SWT 2
C LayoutManager Grafik soll nicht im GridLayout Skalieren AWT, Swing, JavaFX & SWT 3
L LayoutManager GridLayout verschiebt sich AWT, Swing, JavaFX & SWT 6
B GridLayout AWT, Swing, JavaFX & SWT 6
T Spaltengröße einzelner Spalten in Gridlayout festlegen AWT, Swing, JavaFX & SWT 3
Karuka Abstände im GridLayout ändern AWT, Swing, JavaFX & SWT 8
Karuka 2D-Grafik Bilder in GridLayout einfügen AWT, Swing, JavaFX & SWT 7
C Scollpane an dynamisches GridLayout anpassen? AWT, Swing, JavaFX & SWT 3
J Swing Bilder anzeigen in Gridlayout AWT, Swing, JavaFX & SWT 11
C Linien über GridLayout zeichnen AWT, Swing, JavaFX & SWT 3
K Probleme mit Gridlayout AWT, Swing, JavaFX & SWT 4
U Elemente im Panel zentrieren mit GridLayout AWT, Swing, JavaFX & SWT 3
Z Swing JButton erweitern/Gridlayout AWT, Swing, JavaFX & SWT 2
L Swing GridLayout AWT, Swing, JavaFX & SWT 4
lumo LayoutManager SWT GridLayout - Reihenfolge ändern AWT, Swing, JavaFX & SWT 7
C Swing GridLayout: Kann man die Spaltenbreiten variabel gestalten? AWT, Swing, JavaFX & SWT 4
J SWT Größe eines Composite mit Gridlayout festlegen AWT, Swing, JavaFX & SWT 2
Y Kein GantChart in einem GridLayout AWT, Swing, JavaFX & SWT 5
M Formular in GridLayout ? AWT, Swing, JavaFX & SWT 17
R LayoutManager Problem mit GridLayout AWT, Swing, JavaFX & SWT 5
F LayoutManager GridLayout 0/0 auf andere Ecke setzen AWT, Swing, JavaFX & SWT 4
Rudolf Swing Gridlayout und Grouper vorhanden? AWT, Swing, JavaFX & SWT 4
S SWT GridLayout scrollbar machen? AWT, Swing, JavaFX & SWT 7
A Gridlayout Vertikal anordnen AWT, Swing, JavaFX & SWT 6
D LayoutManager GridLayout, 2 labels nebeneinander AWT, Swing, JavaFX & SWT 8
B Swing GridLayout.add über 2 Spalten? AWT, Swing, JavaFX & SWT 7
R LayoutManager GridLayout verändert isch andauernd AWT, Swing, JavaFX & SWT 4
A Frage zu GridLayout AWT, Swing, JavaFX & SWT 4
B GridLayout und scrollbar AWT, Swing, JavaFX & SWT 5
J Swing Bild in GridLayout AWT, Swing, JavaFX & SWT 8
aze GridLayout: Keine automatische Ausdehnung AWT, Swing, JavaFX & SWT 2
M SWT keine Scrollbar bei widgets.List und GridLayout AWT, Swing, JavaFX & SWT 2
M Image an Gridlayout anpassen AWT, Swing, JavaFX & SWT 5
E SWT Problem mit Gridlayout AWT, Swing, JavaFX & SWT 3
G SWT GridLayout AWT, Swing, JavaFX & SWT 2
lumo SWT GridLayout - clear? AWT, Swing, JavaFX & SWT 4
N Gridlayout macht Probleme AWT, Swing, JavaFX & SWT 3
L GridLayout verändert festgesetzte Größe der Komponenten AWT, Swing, JavaFX & SWT 12
S Gridlayout - Tabellenzeile "beenden" AWT, Swing, JavaFX & SWT 3
Dragonfire GridLayout Probleme AWT, Swing, JavaFX & SWT 4
A JLabel, Icons und GridLayout AWT, Swing, JavaFX & SWT 3
C JPanel-Array in GridLayout AWT, Swing, JavaFX & SWT 4
G SWT GridLayout AWT, Swing, JavaFX & SWT 3
N Gridlayout 2. Spalte füllen AWT, Swing, JavaFX & SWT 4
W Problem mit GridLayout AWT, Swing, JavaFX & SWT 11
K Problem mit nem GridLayout AWT, Swing, JavaFX & SWT 5
T GridLayout, zu wenig Platz zwischen Widgets AWT, Swing, JavaFX & SWT 3
T SWT/Eclipse Form Controls zur Laufzeit hinzufügen,GridLayout AWT, Swing, JavaFX & SWT 4
M GridLayout mit fester Größe möglich? AWT, Swing, JavaFX & SWT 3
E Einfache Frage zu GridLayout AWT, Swing, JavaFX & SWT 35
G Größe der einzelenen Felder im GridLayout einstellbar? AWT, Swing, JavaFX & SWT 5
P Canvas in JFrame mit GridLayout AWT, Swing, JavaFX & SWT 4
F GridLayout: verschiedene Spaltenbreiten AWT, Swing, JavaFX & SWT 2
S GridLayout ? AWT, Swing, JavaFX & SWT 5
D AutoResize bei GridLayout ausschalten? AWT, Swing, JavaFX & SWT 2
E GridLayout seltsame Anordnungsstrategie AWT, Swing, JavaFX & SWT 6
S Problemen mit Canvas-Objekten im GridLayout AWT, Swing, JavaFX & SWT 8
L Grids benennen beim GridLayout AWT, Swing, JavaFX & SWT 5
S GridLayout mit sehr großen Abständen AWT, Swing, JavaFX & SWT 3
I SWT GridLayout AWT, Swing, JavaFX & SWT 5
V Frage zu GridLayout. AWT, Swing, JavaFX & SWT 3
P SWT GridLayout AWT, Swing, JavaFX & SWT 5
O gridlayout konstante größe AWT, Swing, JavaFX & SWT 3
TRunKX Problem mit dem GridLayout und den proportionen AWT, Swing, JavaFX & SWT 4
P SWT: GridLayout und Textfelder AWT, Swing, JavaFX & SWT 1
M GridLayout funktioniert nicht mehr. AWT, Swing, JavaFX & SWT 2
F GridLayout horizontal ausrichten AWT, Swing, JavaFX & SWT 6
K GridLayout: Colspan, Rowspan AWT, Swing, JavaFX & SWT 2
R GridLayout spinnt AWT, Swing, JavaFX & SWT 14
C leeres Element in Gridlayout einfuegen AWT, Swing, JavaFX & SWT 3
D Problem bei GridLayout und JPanels AWT, Swing, JavaFX & SWT 4
J GridLayout AWT, Swing, JavaFX & SWT 5
H GridLayout: Größe einer Komponente ändern AWT, Swing, JavaFX & SWT 2
L Frage zum GridLayout AWT, Swing, JavaFX & SWT 4
G kann man die aufteilung von GridLayout beeinflussen ? AWT, Swing, JavaFX & SWT 10
Encera TableView Zeilen als Spalten im SceneBuilder AWT, Swing, JavaFX & SWT 0
A Mit JavaFX einzelne Zeilen in TableView farbig markieren AWT, Swing, JavaFX & SWT 5
missy72 JavaFX TableView Spalte zwischen den Zeilen AWT, Swing, JavaFX & SWT 5
T TableView Zeilen einfärben AWT, Swing, JavaFX & SWT 13
HoT Sortieren von ein paar Zeilen in einer Tabelle, aber nicht die ganze Tabelle AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben