Guest User

MainGUI.java

a guest
Jul 10th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.59 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package linktoimg;
  7.  
  8. import java.awt.Toolkit;
  9. import java.awt.datatransfer.Clipboard;
  10. import java.awt.datatransfer.DataFlavor;
  11. import java.awt.datatransfer.StringSelection;
  12. import java.awt.datatransfer.UnsupportedFlavorException;
  13. import java.io.IOException;
  14. import java.util.logging.Level;
  15. import java.util.logging.Logger;
  16. import javax.swing.JTextArea;
  17. import javax.swing.JTextField;
  18.  
  19. /**
  20. *
  21. * @author Temporary
  22. */
  23. public class MainGUI extends javax.swing.JFrame {
  24.  
  25. Boolean isAlwaysOnTop = false;
  26.  
  27. /**
  28. * Creates new form MainGUI
  29. */
  30. public MainGUI() {
  31. initComponents();
  32. }
  33.  
  34. /**
  35. * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor.
  36. */
  37. @SuppressWarnings("unchecked")
  38. // <editor-fold defaultstate="collapsed" desc="Generated Code">
  39. private void initComponents() {
  40.  
  41. mainPanel = new javax.swing.JPanel();
  42. jLabelInputLink = new javax.swing.JLabel();
  43. inputLink = new javax.swing.JTextField();
  44. jScrollPane1 = new javax.swing.JScrollPane();
  45. outputLink = new javax.swing.JTextArea();
  46. convertLink = new javax.swing.JButton();
  47. pasteConvertLink = new javax.swing.JButton();
  48. pasteConvertCopyLink = new javax.swing.JButton();
  49. outputCopy = new javax.swing.JButton();
  50. outputClear = new javax.swing.JButton();
  51. jButton1 = new javax.swing.JButton();
  52. jButton2 = new javax.swing.JButton();
  53. label1 = new java.awt.Label();
  54. jMenuBar1 = new javax.swing.JMenuBar();
  55. jMenu1 = new javax.swing.JMenu();
  56. jMenuItem2 = new javax.swing.JMenuItem();
  57. jMenuItem1 = new javax.swing.JMenuItem();
  58.  
  59. setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  60. setTitle("Image to Link Converter");
  61. setResizable(false);
  62.  
  63. jLabelInputLink.setText("Input Link:");
  64.  
  65. outputLink.setColumns(20);
  66. outputLink.setRows(5);
  67. jScrollPane1.setViewportView(outputLink);
  68.  
  69. convertLink.setText("Convert");
  70. convertLink.addActionListener(new java.awt.event.ActionListener() {
  71. public void actionPerformed(java.awt.event.ActionEvent evt) {
  72. convertLinkActionPerformed(evt);
  73. }
  74. });
  75.  
  76. pasteConvertLink.setText("Paste and Convert");
  77. pasteConvertLink.addActionListener(new java.awt.event.ActionListener() {
  78. public void actionPerformed(java.awt.event.ActionEvent evt) {
  79. pasteConvertLinkActionPerformed(evt);
  80. }
  81. });
  82.  
  83. pasteConvertCopyLink.setText("Paste, Convert and Copy");
  84. pasteConvertCopyLink.addActionListener(new java.awt.event.ActionListener() {
  85. public void actionPerformed(java.awt.event.ActionEvent evt) {
  86. pasteConvertCopyLinkActionPerformed(evt);
  87. }
  88. });
  89.  
  90. outputCopy.setText("Copy Links");
  91. outputCopy.addActionListener(new java.awt.event.ActionListener() {
  92. public void actionPerformed(java.awt.event.ActionEvent evt) {
  93. outputCopyActionPerformed(evt);
  94. }
  95. });
  96.  
  97. outputClear.setText("Clear All");
  98. outputClear.addActionListener(new java.awt.event.ActionListener() {
  99. public void actionPerformed(java.awt.event.ActionEvent evt) {
  100. outputClearActionPerformed(evt);
  101. }
  102. });
  103.  
  104. jButton1.setText("Clear Input");
  105. jButton1.addActionListener(new java.awt.event.ActionListener() {
  106. public void actionPerformed(java.awt.event.ActionEvent evt) {
  107. jButton1ActionPerformed(evt);
  108. }
  109. });
  110.  
  111. jButton2.setText("Clear Area");
  112. jButton2.addActionListener(new java.awt.event.ActionListener() {
  113. public void actionPerformed(java.awt.event.ActionEvent evt) {
  114. jButton2ActionPerformed(evt);
  115. }
  116. });
  117.  
  118. label1.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
  119. label1.setText("Image link to HTML image div converter");
  120.  
  121. javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
  122. mainPanel.setLayout(mainPanelLayout);
  123. mainPanelLayout.setHorizontalGroup(
  124. mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  125. .addGroup(mainPanelLayout.createSequentialGroup()
  126. .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  127. .addGroup(mainPanelLayout.createSequentialGroup()
  128. .addGap(43, 43, 43)
  129. .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  130. .addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  131. .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  132. .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING)
  133. .addGroup(mainPanelLayout.createSequentialGroup()
  134. .addComponent(outputCopy)
  135. .addGap(34, 34, 34)
  136. .addComponent(jButton1)
  137. .addGap(43, 43, 43)
  138. .addComponent(jButton2)
  139. .addGap(42, 42, 42)
  140. .addComponent(outputClear)))))
  141. .addGroup(mainPanelLayout.createSequentialGroup()
  142. .addGap(64, 64, 64)
  143. .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  144. .addComponent(jLabelInputLink)
  145. .addComponent(convertLink))
  146. .addGap(24, 24, 24)
  147. .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  148. .addGroup(mainPanelLayout.createSequentialGroup()
  149. .addComponent(pasteConvertLink)
  150. .addGap(18, 18, 18)
  151. .addComponent(pasteConvertCopyLink))
  152. .addComponent(inputLink, javax.swing.GroupLayout.PREFERRED_SIZE, 325, javax.swing.GroupLayout.PREFERRED_SIZE))))
  153. .addContainerGap(31, Short.MAX_VALUE))
  154. );
  155. mainPanelLayout.setVerticalGroup(
  156. mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  157. .addGroup(mainPanelLayout.createSequentialGroup()
  158. .addContainerGap()
  159. .addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  160. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  161. .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  162. .addComponent(jLabelInputLink)
  163. .addComponent(inputLink, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  164. .addGap(18, 18, 18)
  165. .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  166. .addComponent(convertLink)
  167. .addComponent(pasteConvertLink)
  168. .addComponent(pasteConvertCopyLink))
  169. .addGap(6, 6, 6)
  170. .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE)
  171. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  172. .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  173. .addComponent(outputCopy)
  174. .addComponent(outputClear)
  175. .addComponent(jButton1)
  176. .addComponent(jButton2))
  177. .addContainerGap(46, Short.MAX_VALUE))
  178. );
  179.  
  180. jMenu1.setText("File");
  181.  
  182. jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.CTRL_MASK));
  183. jMenuItem2.setText("OnTop");
  184. jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
  185. public void actionPerformed(java.awt.event.ActionEvent evt) {
  186. jMenuItem2ActionPerformed(evt);
  187. }
  188. });
  189. jMenu1.add(jMenuItem2);
  190.  
  191. jMenuItem1.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Q, java.awt.event.InputEvent.CTRL_MASK));
  192. jMenuItem1.setText("Exit");
  193. jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
  194. public void actionPerformed(java.awt.event.ActionEvent evt) {
  195. jMenuItem1ActionPerformed(evt);
  196. }
  197. });
  198. jMenu1.add(jMenuItem1);
  199.  
  200. jMenuBar1.add(jMenu1);
  201.  
  202. setJMenuBar(jMenuBar1);
  203.  
  204. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  205. getContentPane().setLayout(layout);
  206. layout.setHorizontalGroup(
  207. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  208. .addComponent(mainPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  209. );
  210. layout.setVerticalGroup(
  211. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  212. .addComponent(mainPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  213. );
  214.  
  215. pack();
  216. }// </editor-fold>
  217.  
  218. private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
  219. exit();
  220. }
  221.  
  222. private void convertLinkActionPerformed(java.awt.event.ActionEvent evt) {
  223. appendNewLine(inputLink, outputLink, convertToImage(inputLink.getText()));
  224. }
  225.  
  226. private void pasteConvertLinkActionPerformed(java.awt.event.ActionEvent evt) {
  227. String c = getClipboardString();
  228.  
  229. appendNewLine(inputLink, outputLink, convertToImage(c));
  230. }
  231.  
  232. private void pasteConvertCopyLinkActionPerformed(java.awt.event.ActionEvent evt) {
  233. String c = getClipboardString();
  234.  
  235. appendNewLine(inputLink, outputLink, convertToImage(c));
  236.  
  237. pasteClipboard(inputLink);
  238. }
  239.  
  240. private void outputClearActionPerformed(java.awt.event.ActionEvent evt) {
  241. clearAll();
  242. }
  243.  
  244. private void outputCopyActionPerformed(java.awt.event.ActionEvent evt) {
  245. pasteClipboard(outputLink);
  246. }
  247.  
  248. private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
  249. alwaysOnTop();
  250. }
  251.  
  252. private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
  253. inputLink.setText("");
  254. }
  255.  
  256. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
  257. outputLink.setText("");
  258. }
  259.  
  260. private void exit(){
  261. System.exit(0);
  262. }
  263.  
  264. private void clearAll(){
  265. outputLink.setText("");
  266. inputLink.setText("");
  267. }
  268.  
  269. private Clipboard getClipboard(){
  270. return Toolkit.getDefaultToolkit().getSystemClipboard();
  271. }
  272.  
  273. private String getClipboardString(){
  274. try {
  275. return (String) getClipboard().getData(DataFlavor.stringFlavor);
  276. } catch (UnsupportedFlavorException ex) {
  277. Logger.getLogger(MainGUI.class.getName()).log(Level.SEVERE, null, ex);
  278. } catch (IOException ex) {
  279. Logger.getLogger(MainGUI.class.getName()).log(Level.SEVERE, null, ex);
  280. }
  281. return "notString";
  282. }
  283.  
  284. private void pasteClipboard(JTextArea area){
  285. Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(area.getText()), null);
  286. }
  287.  
  288. private void pasteClipboard(JTextField field){
  289. Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(field.getText()), null);
  290. }
  291.  
  292. private void appendNewLine(JTextField field, JTextArea area, String link){
  293. field.setText(link); //set field to link so user knows what image link they pasted.
  294. area.setText(area.getText() + "\n" + field.getText());
  295. }
  296.  
  297. private String convertToImage(String link){
  298. return "<img src='" + link + "'>";
  299. }
  300.  
  301. /**
  302. * @param args the command line arguments
  303. */
  304. public static void main(String args[]) {
  305. /* Set the Nimbus look and feel */
  306. //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  307. /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  308. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  309. */
  310. try {
  311. for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  312. if ("Nimbus".equals(info.getName())) {
  313. javax.swing.UIManager.setLookAndFeel(info.getClassName());
  314. break;
  315. }
  316. }
  317. } catch (ClassNotFoundException ex) {
  318. java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  319. } catch (InstantiationException ex) {
  320. java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  321. } catch (IllegalAccessException ex) {
  322. java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  323. } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  324. java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  325. }
  326. //</editor-fold>
  327.  
  328. /* Create and display the form */
  329. java.awt.EventQueue.invokeLater(new Runnable() {
  330. public void run() {
  331. new MainGUI().setVisible(true);
  332. }
  333. });
  334. }
  335.  
  336. // Variables declaration - do not modify
  337. private javax.swing.JButton convertLink;
  338. private javax.swing.JTextField inputLink;
  339. private javax.swing.JButton jButton1;
  340. private javax.swing.JButton jButton2;
  341. private javax.swing.JLabel jLabelInputLink;
  342. private javax.swing.JMenu jMenu1;
  343. private javax.swing.JMenuBar jMenuBar1;
  344. private javax.swing.JMenuItem jMenuItem1;
  345. private javax.swing.JMenuItem jMenuItem2;
  346. private javax.swing.JScrollPane jScrollPane1;
  347. private java.awt.Label label1;
  348. private javax.swing.JPanel mainPanel;
  349. private javax.swing.JButton outputClear;
  350. private javax.swing.JButton outputCopy;
  351. private javax.swing.JTextArea outputLink;
  352. private javax.swing.JButton pasteConvertCopyLink;
  353. private javax.swing.JButton pasteConvertLink;
  354. // End of variables declaration
  355.  
  356. private void alwaysOnTop() {
  357. if(isAlwaysOnTop){
  358. setAlwaysOnTop(false);
  359. isAlwaysOnTop = false;
  360. pack();
  361. }else{
  362. setAlwaysOnTop(true);
  363. isAlwaysOnTop = true;
  364. pack();
  365. }
  366. }
  367.  
  368. }
Advertisement
Add Comment
Please, Sign In to add comment