summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Bauer2015-07-31 17:55:10 +0200
committerJonathan Bauer2015-07-31 17:55:10 +0200
commit80ca43e740964e9ed5df5ca2d97e0c1989f8fe2f (patch)
tree757e5661d5d6944c8c51d0cc7b55c5d9a01ff9b4
parent[client] remove hack (diff)
downloadtutor-module-80ca43e740964e9ed5df5ca2d97e0c1989f8fe2f.tar.gz
tutor-module-80ca43e740964e9ed5df5ca2d97e0c1989f8fe2f.tar.xz
tutor-module-80ca43e740964e9ed5df5ca2d97e0c1989f8fe2f.zip
[client] PersonLabel now a subclass of JLabel
TODO could not query the color for hyperlink through SystemColor, what to do?
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/PersonLabel.java42
1 files changed, 18 insertions, 24 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/PersonLabel.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/PersonLabel.java
index 02f9a181..8b5b9da5 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/PersonLabel.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/PersonLabel.java
@@ -1,12 +1,13 @@
package org.openslx.dozmod.gui.control;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.MouseAdapter;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
+import java.awt.Color;
+import java.awt.SystemColor;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+
+import javax.swing.JLabel;
+
import org.openslx.bwlp.thrift.iface.UserInfo;
-import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.helper.SwtUtil;
import org.openslx.dozmod.util.FormatHelper;
@@ -14,21 +15,21 @@ import org.openslx.dozmod.util.FormatHelper;
* A label for displaying a {@link UserInfo} object. Supports a callback event
* for when the users clicks the label.
*/
-public class PersonLabel {
-
- private final Label label;
+public class PersonLabel extends JLabel {
private UserInfo user = null;
private PersonLabelClickEvent callback = null;
- public PersonLabel(Composite parent, int style) {
- label = new Label(parent, style);
- label.setForeground(Gui.display.getSystemColor(SWT.COLOR_LINK_FOREGROUND));
- label.addMouseListener(new MouseAdapter() {
+ public PersonLabel() {
+ // could not find a way to query the system-wide color for hyperlinks :(
+ setForeground(Color.BLUE.darker());
+ addMouseListener(new MouseAdapter() {
@Override
- public void mouseUp(MouseEvent e) {
- if (user != null && callback != null && e.button == 1 && label.getBounds().contains(e.x, e.y)) {
+ public void mouseClicked(MouseEvent e) {
+ if (user != null && callback != null
+ && e.getButton() == MouseEvent.BUTTON1
+ && getBounds().contains(e.getX(), e.getY())) {
callback.clicked(user);
}
}
@@ -46,21 +47,14 @@ public class PersonLabel {
}
/**
- * Set layout data of this label.
- */
- public void setLayoutData(Object layoutData) {
- label.setLayoutData(layoutData);
- }
-
- /**
* Set the user to display.
*/
public void setUser(UserInfo user) {
this.user = user;
if (user == null) {
- label.setText("");
+ setText("");
} else {
- label.setText(SwtUtil.replaceMnemonics(FormatHelper.userName(user)));
+ setText(SwtUtil.replaceMnemonics(FormatHelper.userName(user)));
}
}