作業部屋の使い方を試しています。
(empty log message)
| @@ -28,24 +28,35 @@ | ||
| 28 | 28 | |
| 29 | 29 | public HtmlParser(String UrlAdress) { |
| 30 | 30 | this.UrlAdress = UrlAdress; |
| 31 | + getpageData(); | |
| 31 | 32 | } |
| 32 | 33 | |
| 33 | 34 | public void seturl(String UrlAdress) { |
| 34 | 35 | this.UrlAdress = UrlAdress; |
| 36 | + getpageData(); | |
| 35 | 37 | } |
| 36 | 38 | |
| 37 | 39 | public String search(serachData skey) { |
| 38 | 40 | |
| 41 | + String item = skey.getitem(); | |
| 39 | 42 | String htmltag = skey.getHtmltag(); |
| 40 | 43 | String htmlid = skey.getHtmlid(); |
| 41 | 44 | String htmlclass = skey.getHtmlclass(); |
| 45 | + String around = skey.getaround(); | |
| 46 | + String regexp = skey.getregexp(); | |
| 42 | 47 | |
| 43 | - getpageData(); | |
| 48 | + // 数値変換 | |
| 49 | + byte bAround = 0; | |
| 50 | + if(around.length() > 0) { | |
| 51 | + bAround = Byte.parseByte(around); | |
| 52 | + } | |
| 53 | + | |
| 54 | + //getpageData(); | |
| 44 | 55 | serchpageData(skey); |
| 45 | - | |
| 46 | - if(sData.size() > 0) { | |
| 47 | - String rtn = (String)sData.get(0); | |
| 48 | - return rtn; | |
| 56 | + | |
| 57 | + if(bAround < sData.size()) { | |
| 58 | + String rtn = (String)sData.get(bAround); | |
| 59 | + return rtn; | |
| 49 | 60 | } |
| 50 | 61 | |
| 51 | 62 | return null; |
| @@ -20,7 +20,7 @@ | ||
| 20 | 20 | |
| 21 | 21 | private ArrayList slist = new ArrayList(); |
| 22 | 22 | private List serachDataList = ObservableCollections.observableList(slist); |
| 23 | - serachDataIO sio = new serachDataIO(); | |
| 23 | + private serachDataIO sio = new serachDataIO(); | |
| 24 | 24 | |
| 25 | 25 | /** |
| 26 | 26 | * Creates new form Frame1 |
| @@ -53,11 +53,12 @@ | ||
| 53 | 53 | jTable1 = new javax.swing.JTable(); |
| 54 | 54 | jBtnRowIns = new javax.swing.JButton(); |
| 55 | 55 | jBtnRowDel = new javax.swing.JButton(); |
| 56 | + jBtnRowCpy = new javax.swing.JButton(); | |
| 56 | 57 | jLabel1 = new javax.swing.JLabel(); |
| 57 | 58 | jTxtUrl = new javax.swing.JTextField(); |
| 58 | 59 | jPanel2 = new javax.swing.JPanel(); |
| 59 | 60 | jScrollPane2 = new javax.swing.JScrollPane(); |
| 60 | - jTextArea1 = new javax.swing.JTextArea(); | |
| 61 | + jTxtRtn = new javax.swing.JTextArea(); | |
| 61 | 62 | jMenuBar1 = new javax.swing.JMenuBar(); |
| 62 | 63 | jMenu1 = new javax.swing.JMenu(); |
| 63 | 64 | jMenuLoad = new javax.swing.JMenuItem(); |
| @@ -99,7 +100,7 @@ | ||
| 99 | 100 | jTableBinding.bind(); |
| 100 | 101 | jScrollPane1.setViewportView(jTable1); |
| 101 | 102 | |
| 102 | - jBtnRowIns.setText("行追加"); | |
| 103 | + jBtnRowIns.setText("行挿入"); | |
| 103 | 104 | jBtnRowIns.addActionListener(new java.awt.event.ActionListener() { |
| 104 | 105 | public void actionPerformed(java.awt.event.ActionEvent evt) { |
| 105 | 106 | jBtnRowInsActionPerformed(evt); |
| @@ -113,19 +114,25 @@ | ||
| 113 | 114 | } |
| 114 | 115 | }); |
| 115 | 116 | |
| 117 | + jBtnRowCpy.setText("行コピー"); | |
| 118 | + jBtnRowCpy.addActionListener(new java.awt.event.ActionListener() { | |
| 119 | + public void actionPerformed(java.awt.event.ActionEvent evt) { | |
| 120 | + jBtnRowCpyActionPerformed(evt); | |
| 121 | + } | |
| 122 | + }); | |
| 123 | + | |
| 116 | 124 | javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); |
| 117 | 125 | jPanel1.setLayout(jPanel1Layout); |
| 118 | 126 | jPanel1Layout.setHorizontalGroup( |
| 119 | 127 | jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
| 120 | 128 | .addGroup(jPanel1Layout.createSequentialGroup() |
| 121 | - .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) | |
| 122 | - .addGroup(jPanel1Layout.createSequentialGroup() | |
| 123 | - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) | |
| 124 | - .addComponent(jBtnRowDel) | |
| 125 | - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) | |
| 126 | - .addComponent(jBtnRowIns)) | |
| 127 | - .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)) | |
| 128 | - .addGap(0, 0, Short.MAX_VALUE)) | |
| 129 | + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) | |
| 130 | + .addComponent(jBtnRowCpy) | |
| 131 | + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) | |
| 132 | + .addComponent(jBtnRowDel) | |
| 133 | + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) | |
| 134 | + .addComponent(jBtnRowIns)) | |
| 135 | + .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) | |
| 129 | 136 | ); |
| 130 | 137 | jPanel1Layout.setVerticalGroup( |
| 131 | 138 | jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
| @@ -134,7 +141,8 @@ | ||
| 134 | 141 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
| 135 | 142 | .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) |
| 136 | 143 | .addComponent(jBtnRowDel) |
| 137 | - .addComponent(jBtnRowIns))) | |
| 144 | + .addComponent(jBtnRowIns) | |
| 145 | + .addComponent(jBtnRowCpy))) | |
| 138 | 146 | ); |
| 139 | 147 | |
| 140 | 148 | jLabel1.setText("URL:"); |
| @@ -141,15 +149,15 @@ | ||
| 141 | 149 | |
| 142 | 150 | jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("検索結果")); |
| 143 | 151 | |
| 144 | - jTextArea1.setColumns(20); | |
| 145 | - jTextArea1.setRows(5); | |
| 146 | - jScrollPane2.setViewportView(jTextArea1); | |
| 152 | + jTxtRtn.setColumns(20); | |
| 153 | + jTxtRtn.setRows(5); | |
| 154 | + jScrollPane2.setViewportView(jTxtRtn); | |
| 147 | 155 | |
| 148 | 156 | javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); |
| 149 | 157 | jPanel2.setLayout(jPanel2Layout); |
| 150 | 158 | jPanel2Layout.setHorizontalGroup( |
| 151 | 159 | jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
| 152 | - .addComponent(jScrollPane2) | |
| 160 | + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 387, Short.MAX_VALUE) | |
| 153 | 161 | ); |
| 154 | 162 | jPanel2Layout.setVerticalGroup( |
| 155 | 163 | jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
| @@ -182,11 +190,6 @@ | ||
| 182 | 190 | jMenu2MouseClicked(evt); |
| 183 | 191 | } |
| 184 | 192 | }); |
| 185 | - jMenu2.addActionListener(new java.awt.event.ActionListener() { | |
| 186 | - public void actionPerformed(java.awt.event.ActionEvent evt) { | |
| 187 | - jMenu2ActionPerformed(evt); | |
| 188 | - } | |
| 189 | - }); | |
| 190 | 193 | jMenuBar1.add(jMenu2); |
| 191 | 194 | |
| 192 | 195 | setJMenuBar(jMenuBar1); |
| @@ -195,14 +198,12 @@ | ||
| 195 | 198 | getContentPane().setLayout(layout); |
| 196 | 199 | layout.setHorizontalGroup( |
| 197 | 200 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
| 198 | - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() | |
| 199 | - .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) | |
| 200 | - .addGap(0, 0, Short.MAX_VALUE)) | |
| 201 | 201 | .addGroup(layout.createSequentialGroup() |
| 202 | 202 | .addComponent(jLabel1) |
| 203 | 203 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
| 204 | 204 | .addComponent(jTxtUrl)) |
| 205 | 205 | .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) |
| 206 | + .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) | |
| 206 | 207 | ); |
| 207 | 208 | layout.setVerticalGroup( |
| 208 | 209 | layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) |
| @@ -212,7 +213,7 @@ | ||
| 212 | 213 | .addComponent(jTxtUrl, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) |
| 213 | 214 | .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) |
| 214 | 215 | .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) |
| 215 | - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) | |
| 216 | + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) | |
| 216 | 217 | .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) |
| 217 | 218 | ); |
| 218 | 219 |
| @@ -222,14 +223,14 @@ | ||
| 222 | 223 | }// </editor-fold>//GEN-END:initComponents |
| 223 | 224 | |
| 224 | 225 | private void jBtnRowInsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnRowInsActionPerformed |
| 226 | + int SelectedRow = jTable1.getSelectedRow(); | |
| 225 | 227 | serachData sdat = new serachData(); |
| 226 | - sdat.setitem("項目1"); | |
| 227 | - sdat.setHtmltag("DIV"); | |
| 228 | - sdat.setHtmlid(""); | |
| 229 | - sdat.setHtmlclass("classkey1"); | |
| 230 | - sdat.setaround(""); | |
| 231 | - sdat.setregexp(""); | |
| 232 | - this.serachDataList.add(sdat); | |
| 228 | + | |
| 229 | + if(SelectedRow >= 0) { | |
| 230 | + this.serachDataList.add(SelectedRow, sdat); | |
| 231 | + } else { | |
| 232 | + this.serachDataList.add(sdat); | |
| 233 | + } | |
| 233 | 234 | }//GEN-LAST:event_jBtnRowInsActionPerformed |
| 234 | 235 | |
| 235 | 236 | private void jBtnRowDelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnRowDelActionPerformed |
| @@ -257,32 +258,25 @@ | ||
| 257 | 258 | } |
| 258 | 259 | }//GEN-LAST:event_jMenuSaveActionPerformed |
| 259 | 260 | |
| 260 | - private void jMenu2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenu2ActionPerformed | |
| 261 | - // TODO add your handling code here: | |
| 261 | + private void jMenu2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jMenu2MouseClicked | |
| 262 | 262 | |
| 263 | - System.out.println("jMenu2ActionPerformed"); | |
| 264 | - | |
| 265 | - serachData sdat = (serachData)slist.get(0); | |
| 266 | - | |
| 267 | - HtmlParser par = new HtmlParser(jTxtUrl.getText()); | |
| 268 | - String rtn = par.search(sdat); | |
| 269 | -// par.seturl(url); | |
| 270 | -// par.setserchkey(key); | |
| 271 | - | |
| 272 | - }//GEN-LAST:event_jMenu2ActionPerformed | |
| 273 | - | |
| 274 | - private void jMenu2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jMenu2MouseClicked | |
| 275 | - // TODO add your handling code here: | |
| 276 | 263 | System.out.println("jMenu2MouseClicked"); |
| 277 | - | |
| 278 | - serachData sdat = (serachData)slist.get(0); | |
| 279 | 264 | |
| 280 | 265 | HtmlParser par = new HtmlParser(jTxtUrl.getText()); |
| 281 | - String rtn = par.search(sdat); | |
| 282 | - | |
| 283 | - jTextArea1.setText(rtn); | |
| 266 | + for (Object slist1 : slist) { | |
| 267 | + String rtn = par.search((serachData)slist1); | |
| 268 | + jTxtRtn.append(rtn + "\r\n"); | |
| 269 | + } | |
| 284 | 270 | }//GEN-LAST:event_jMenu2MouseClicked |
| 285 | 271 | |
| 272 | + private void jBtnRowCpyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnRowCpyActionPerformed | |
| 273 | + int SelectedRow = jTable1.getSelectedRow(); | |
| 274 | + if(SelectedRow >= 0) { | |
| 275 | + serachData SelectData = (serachData)slist.get(SelectedRow); | |
| 276 | + this.serachDataList.add(SelectedRow, SelectData); | |
| 277 | + } | |
| 278 | + }//GEN-LAST:event_jBtnRowCpyActionPerformed | |
| 279 | + | |
| 286 | 280 | /** |
| 287 | 281 | * @param args the command line arguments |
| 288 | 282 | */ |
| @@ -319,6 +313,7 @@ | ||
| 319 | 313 | } |
| 320 | 314 | |
| 321 | 315 | // Variables declaration - do not modify//GEN-BEGIN:variables |
| 316 | + private javax.swing.JButton jBtnRowCpy; | |
| 322 | 317 | private javax.swing.JButton jBtnRowDel; |
| 323 | 318 | private javax.swing.JButton jBtnRowIns; |
| 324 | 319 | private javax.swing.JFileChooser jFileChooser1; |
| @@ -333,7 +328,7 @@ | ||
| 333 | 328 | private javax.swing.JScrollPane jScrollPane1; |
| 334 | 329 | private javax.swing.JScrollPane jScrollPane2; |
| 335 | 330 | private javax.swing.JTable jTable1; |
| 336 | - private javax.swing.JTextArea jTextArea1; | |
| 331 | + private javax.swing.JTextArea jTxtRtn; | |
| 337 | 332 | private javax.swing.JTextField jTxtUrl; |
| 338 | 333 | private org.jdesktop.beansbinding.BindingGroup bindingGroup; |
| 339 | 334 | // End of variables declaration//GEN-END:variables |