2 * Web-browser invoke button
\r
4 * Copyright(c) 2009 olyutorskii
\r
5 * $Id: WebButton.java 955 2009-12-13 13:37:43Z olyutorskii $
\r
8 package jp.sourceforge.jindolf;
\r
10 import java.awt.Frame;
\r
11 import java.awt.GridBagConstraints;
\r
12 import java.awt.GridBagLayout;
\r
13 import java.awt.Insets;
\r
14 import java.awt.event.ActionEvent;
\r
15 import java.awt.event.ActionListener;
\r
16 import java.net.MalformedURLException;
\r
17 import java.net.URI;
\r
18 import java.net.URL;
\r
19 import javax.swing.BorderFactory;
\r
20 import javax.swing.JButton;
\r
21 import javax.swing.JLabel;
\r
22 import javax.swing.JPanel;
\r
23 import javax.swing.SwingUtilities;
\r
28 @SuppressWarnings("serial")
\r
29 public class WebButton extends JPanel implements ActionListener{
\r
31 private static final String ACTION_SHOWWEB = "SHOWWEB";
\r
33 private final JLabel caption;
\r
34 private final JButton button;
\r
35 private String webUrlText;
\r
43 this.caption = new JLabel();
\r
44 this.button = new JButton("Web");
\r
46 Monodizer.monodize(this.caption);
\r
47 this.button.setIcon(GUIUtils.getWWWIcon());
\r
48 this.button.setMargin(new Insets(1, 1, 1, 1));
\r
49 this.button.setActionCommand(ACTION_SHOWWEB);
\r
50 this.button.addActionListener(this);
\r
51 this.button.setToolTipText("Webブラウザで表示");
\r
61 private void design(){
\r
62 setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
\r
64 GridBagLayout layout = new GridBagLayout();
\r
67 GridBagConstraints constraints = new GridBagConstraints();
\r
68 constraints.fill = GridBagConstraints.NONE;
\r
69 constraints.gridwidth = GridBagConstraints.RELATIVE;
\r
70 constraints.insets = new Insets(0, 0, 0, 10);
\r
72 add(this.caption, constraints);
\r
73 add(this.button, constraints);
\r
80 * @param b {@inheritDoc}
\r
83 public void setEnabled(boolean b){
\r
84 super.setEnabled(b);
\r
85 this.button.setEnabled(b);
\r
92 * @param seq キャプション文字列
\r
94 public void setCaption(CharSequence seq){
\r
95 this.caption.setText(seq.toString());
\r
100 * Webブラウザに表示させるURLを設定する。
\r
104 public void setURL(URL url){
\r
105 setURLText(url.toString());
\r
110 * Webブラウザに表示させるURIを設定する。
\r
114 public void setURI(URI uri){
\r
115 setURLText(uri.toString());
\r
120 * Webブラウザに表示させるURL文字列を設定する。
\r
122 * @param urlText URL文字列
\r
124 public void setURLText(CharSequence urlText){
\r
125 String str = urlText.toString();
\r
130 }catch(MalformedURLException e){
\r
134 this.webUrlText = str;
\r
135 setCaption(this.webUrlText);
\r
141 * WebブラウザにURLを表示させる。
\r
143 public void showDialog(){
\r
145 (Frame) SwingUtilities.getAncestorOfClass(Frame.class, this);
\r
146 WebIPCDialog.showDialog(frame, this.webUrlText);
\r
152 * @param event イベント
\r
154 public void actionPerformed(ActionEvent event){
\r
155 if(event.getSource() != this.button) return;
\r
157 String command = event.getActionCommand();
\r
158 if(command.equals(ACTION_SHOWWEB)){
\r