Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.magicbeans.project; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import javax.swing.JPanel; import javax.swing.text.BadLocationException; import org.apache.commons.io.FileUtils; import org.openide.util.Exceptions; public final class setupVisualPanel1 extends JPanel { /** * Creates new form setupVisualPanel1 */ public setupVisualPanel1() { initComponents(); } @Override public String getName() { return "Step #1"; } /** * 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. */ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jLabel1 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); jPanel1 = new javax.swing.JPanel(); jLabel2 = new javax.swing.JLabel(); jButton1 = new javax.swing.JButton(); jLabel3 = new javax.swing.JLabel(); jTextField2 = new javax.swing.JTextField(); jLabel1.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(setupVisualPanel1.class, "setupVisualPanel1.jLabel1.text")); // NOI18N jLabel1.setToolTipText(org.openide.util.NbBundle.getMessage(setupVisualPanel1.class, "setupVisualPanel1.jLabel1.toolTipText")); // NOI18N jTextField1.setText(org.openide.util.NbBundle.getMessage(setupVisualPanel1.class, "setupVisualPanel1.jTextField1.text")); // NOI18N jTextField1.setToolTipText(org.openide.util.NbBundle.getMessage(setupVisualPanel1.class, "setupVisualPanel1.jTextField1.toolTipText")); // NOI18N jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder()); jLabel2.setFont(new java.awt.Font("Tahoma", 0, 36)); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(jLabel2, org.openide.util.NbBundle.getMessage(setupVisualPanel1.class, "setupVisualPanel1.jLabel2.text")); // NOI18N javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout .setHorizontalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup().addContainerGap().addComponent(jLabel2) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup().addContainerGap().addComponent(jLabel2) .addContainerGap(79, Short.MAX_VALUE))); org.openide.awt.Mnemonics.setLocalizedText(jButton1, org.openide.util.NbBundle.getMessage(setupVisualPanel1.class, "setupVisualPanel1.jButton1.text")); // NOI18N jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jLabel3.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N org.openide.awt.Mnemonics.setLocalizedText(jLabel3, org.openide.util.NbBundle.getMessage(setupVisualPanel1.class, "setupVisualPanel1.jLabel3.text")); // NOI18N jLabel3.setToolTipText(org.openide.util.NbBundle.getMessage(setupVisualPanel1.class, "setupVisualPanel1.jLabel3.toolTipText")); // NOI18N jTextField2.setText(org.openide.util.NbBundle.getMessage(setupVisualPanel1.class, "setupVisualPanel1.jTextField2.text")); // NOI18N jTextField2.setToolTipText(org.openide.util.NbBundle.getMessage(setupVisualPanel1.class, "setupVisualPanel1.jTextField2.toolTipText")); // NOI18N javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addGap(24, 24, 24).addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jLabel3).addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 478, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jButton1) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jLabel1) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 478, Short.MAX_VALUE))) .addContainerGap(23, Short.MAX_VALUE))); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addContainerGap() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18).addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18).addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE) .addComponent(jButton1).addContainerGap())); }// </editor-fold>//GEN-END:initComponents private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed URL dlLoc; String url = jTextField1.getText(); char lastChar = url.charAt(url.length() - 1); if (lastChar == '\\' || lastChar == '/') { url = url.substring(0, url.length() - 2); } try { dlLoc = new URL(url); String installerDir = jTextField2.getText(); File toFile = new File(installerDir); if (toFile.exists()) { if (toFile.isDirectory()) { String installerPath = jTextField2.getText() + "/miktexinstaller.exe"; toFile = new File(installerPath); try { FileUtils.copyURLToFile(dlLoc, toFile); Runtime rt = Runtime.getRuntime(); Process pr = rt.exec(installerPath + " -d " + installerDir); } catch (IOException ex) { Exceptions.printStackTrace(ex); } } } } catch (MalformedURLException ex) { Exceptions.printStackTrace(ex); } }//GEN-LAST:event_jButton1ActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButton1; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JPanel jPanel1; private javax.swing.JTextField jTextField1; private javax.swing.JTextField jTextField2; // End of variables declaration//GEN-END:variables }