diff src/viewer_swing/java/com/glavsoft/viewer/swing/gui/HostnameComboboxRenderer.java @ 52:472a9bcacb21 draft default tip

TightVNC 2.7.1.0
author you@cr.ie.u-ryukyu.ac.jp
date Wed, 07 Aug 2013 19:01:17 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/gui/HostnameComboboxRenderer.java	Wed Aug 07 19:01:17 2013 +0900
@@ -0,0 +1,35 @@
+package com.glavsoft.viewer.swing.gui;
+
+import com.glavsoft.viewer.swing.ConnectionParams;
+
+import javax.swing.*;
+import java.awt.*;
+
+/**
+ * @author dime at tightvnc.com
+ */
+public class HostnameComboboxRenderer extends DefaultListCellRenderer {
+
+    @Override
+    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+        String stringValue = renderListItem((ConnectionParams)value);
+        setText(stringValue);
+        setFont(getFont().deriveFont(Font.PLAIN));
+        if (isSelected) {
+            setBackground(list.getSelectionBackground());
+            setForeground(list.getSelectionForeground());
+        } else {
+            setBackground(list.getBackground());
+            setForeground(list.getForeground());
+        }
+        return this;
+    }
+
+    public String renderListItem(ConnectionParams cp) {
+        String s = "<html><b>" +cp.hostName + "</b>:" + cp.getPortNumber();
+        if (cp.useSsh()) {
+            s += " <i>(via ssh://" + cp.sshUserName + "@" + cp.sshHostName + ":" + cp.getSshPortNumber() + ")</i>";
+        }
+        return s + "</html>";
+    }
+}