Advertisement
aNNiMON

UrlDialog

Jun 28th, 2012
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.21 KB | None | 0 0
  1. package com.pastebin.pastebinplugin;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Frame;
  5. import java.awt.Toolkit;
  6. import java.awt.datatransfer.Clipboard;
  7. import java.awt.datatransfer.ClipboardOwner;
  8. import java.awt.datatransfer.StringSelection;
  9. import java.awt.datatransfer.Transferable;
  10. import java.awt.event.ActionEvent;
  11. import java.awt.event.ActionListener;
  12. import javax.swing.JButton;
  13. import javax.swing.JDialog;
  14. import javax.swing.JPanel;
  15. import javax.swing.JTextField;
  16. import javax.swing.WindowConstants;
  17. import javax.swing.border.EmptyBorder;
  18. import org.openide.util.NbBundle;
  19.  
  20. /**
  21.  * Show dialog with pasted code url.
  22.  * @author aNNiMON
  23.  */
  24. public class UrlDialog extends JDialog {
  25.    
  26.     public UrlDialog(Frame parent, String url) {
  27.         super(parent, true);
  28.         initComponents(url);
  29.     }
  30.  
  31.     private void initComponents(String url) {
  32.         final JTextField urlTextField = new JTextField(url);
  33.        
  34.         JButton copyButton = new JButton();
  35.         copyButton.setText(NbBundle.getMessage(UrlDialog.class, "UrlDialog.copyButton.text"));
  36.         copyButton.addActionListener(new ActionListener() {
  37.  
  38.             @Override
  39.             public void actionPerformed(ActionEvent e) {
  40.                 // Copy url to system clipboard
  41.                 Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
  42.                 StringSelection str = new StringSelection(urlTextField.getText());
  43.                 clipboard.setContents(str, new ClipboardOwner() {
  44.                    
  45.                     @Override
  46.                     public void lostOwnership(Clipboard clipboard, Transferable contents) {
  47.                     }
  48.                 });
  49.             }
  50.         });
  51.        
  52.         // Dialog form options
  53.         setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  54.         setTitle(NbBundle.getMessage(UrlDialog.class, "UrlDialog.title"));
  55.         setResizable(false);
  56.        
  57.         JPanel panel = new JPanel();
  58.         panel.setBorder(new EmptyBorder(15, 15, 15, 15));
  59.         panel.setLayout(new BorderLayout(0, 5));
  60.         panel.add(urlTextField);
  61.         panel.add(copyButton, BorderLayout.SOUTH);
  62.         add(panel);
  63.         pack();
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement