Archive Audiobook Maker
This commit is contained in:
150
src/frame/JHyperLink.java
Executable file
150
src/frame/JHyperLink.java
Executable file
@@ -0,0 +1,150 @@
|
||||
package frame;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
|
||||
import java.net.*;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public class JHyperLink extends JLabel implements MouseListener {
|
||||
public Cursor Rollover_Cursor = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
|
||||
public Color LINK_COLOR;
|
||||
public URI uri;
|
||||
|
||||
public JHyperLink() {}
|
||||
|
||||
public JHyperLink(String url) throws URISyntaxException {
|
||||
super(url);
|
||||
LINK_COLOR = Color.BLUE;
|
||||
this.setForeground(LINK_COLOR);
|
||||
uri = new URI(url);
|
||||
this.addMouseListener(this);
|
||||
}
|
||||
|
||||
public JHyperLink(String url, Color color) throws URISyntaxException {
|
||||
super(url);
|
||||
LINK_COLOR = color;
|
||||
this.setForeground(LINK_COLOR);
|
||||
uri = new URI(url);
|
||||
this.addMouseListener(this);
|
||||
}
|
||||
|
||||
public JHyperLink(String url, String title) throws URISyntaxException {
|
||||
super(title);
|
||||
this.LINK_COLOR = Color.BLUE;
|
||||
this.setForeground(LINK_COLOR);
|
||||
uri = new URI(url);
|
||||
this.addMouseListener(this);
|
||||
}
|
||||
|
||||
public JHyperLink(String url, String title, Color color) throws URISyntaxException {
|
||||
super(title);
|
||||
LINK_COLOR = color;
|
||||
this.setForeground(LINK_COLOR);
|
||||
uri = new URI(url);
|
||||
this.addMouseListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setEnabled(boolean enabled) {
|
||||
super.setEnabled(enabled);
|
||||
|
||||
if (enabled == true) {
|
||||
MouseListener[] listeners = this.getMouseListeners();
|
||||
|
||||
try {
|
||||
MouseListener listener = listeners[0];
|
||||
} catch (Exception exc) {
|
||||
this.addMouseListener(new JHyperLink());
|
||||
}
|
||||
}
|
||||
|
||||
if (enabled == false) {
|
||||
MouseListener[] listeners = this.getMouseListeners();
|
||||
|
||||
for (int i = 0; ; i++) {
|
||||
try {
|
||||
MouseListener listener = listeners[i];
|
||||
|
||||
this.removeMouseListener(listener);
|
||||
} catch (Exception exc) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setColor(Color color) {
|
||||
this.LINK_COLOR = color;
|
||||
super.setForeground(color);
|
||||
}
|
||||
|
||||
public void setColor(int r, int g, int b) {
|
||||
Color color = new Color(r, g, b);
|
||||
|
||||
this.setColor(color);
|
||||
}
|
||||
|
||||
public void setColor(int r, int g, int b, int a) {
|
||||
Color color = new Color(r, g, b, a);
|
||||
|
||||
this.setColor(color);
|
||||
}
|
||||
|
||||
public Color getColor() {
|
||||
return this.LINK_COLOR;
|
||||
}
|
||||
|
||||
public void setURI(URI uri) {
|
||||
this.uri = uri;
|
||||
}
|
||||
|
||||
public void setURI(String uri) throws URISyntaxException {
|
||||
this.uri = new URI(uri);
|
||||
}
|
||||
|
||||
public URI getURI() {
|
||||
return this.uri;
|
||||
}
|
||||
|
||||
public void setText(String text, Color color) {
|
||||
super.setText(text);
|
||||
this.setColor(color);
|
||||
}
|
||||
|
||||
public void setText(String text, int r, int g, int b) {
|
||||
super.setText(text);
|
||||
this.setColor(r, g, b);
|
||||
}
|
||||
|
||||
public void setText(String text, int r, int g, int b, int a) {
|
||||
super.setText(text);
|
||||
this.setColor(r, g, b, a);
|
||||
}
|
||||
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
JHyperLink link = (JHyperLink) e.getComponent();
|
||||
|
||||
try {
|
||||
Desktop.getDesktop().browse(link.uri);
|
||||
} catch (java.io.IOException exc) {}
|
||||
}
|
||||
|
||||
public void mousePressed(MouseEvent e) {}
|
||||
|
||||
public void mouseReleased(MouseEvent e) {}
|
||||
|
||||
public void mouseEntered(MouseEvent e) {
|
||||
JHyperLink link = (JHyperLink) e.getComponent();
|
||||
|
||||
link.setCursor(link.Rollover_Cursor);
|
||||
}
|
||||
|
||||
public void mouseExited(MouseEvent e) {}
|
||||
}
|
||||
|
||||
|
||||
//~ Formatted by Jindent --- http://www.jindent.com
|
||||
Reference in New Issue
Block a user