• R/O
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

作業部屋の使い方を試しています。


Commit MetaInfo

Revision66 (tree)
Time2014-08-02 17:36:23
Authortuna_p

Log Message

(empty log message)

Change Summary

Incremental Difference

--- trunk/HtmlTest1/src/htmltest1/HtmlParser.java (revision 65)
+++ trunk/HtmlTest1/src/htmltest1/HtmlParser.java (revision 66)
@@ -58,6 +58,9 @@
5858 }
5959
6060 public void exec2(){
61+ //HtmlTagSearch skey = new HtmlTagSearch();
62+ //skey.setall(HTML.Tag.DL, "dl-dataid1", "dl-dataclass1");
63+
6164 Reader reader;
6265 try {
6366 reader = new BufferedReader(new StringReader(pageData));
@@ -64,6 +67,8 @@
6467 // ここを検索したいタグ分繰り返せばいいのだろうか?
6568 MyParserCallback cb = new MyParserCallback();
6669 ParserDelegator pd = new ParserDelegator();
70+
71+ System.out.println("--- 1 ---");
6772 pd.parse(reader, cb, true);
6873
6974 reader.close();
@@ -84,6 +89,7 @@
8489 public void handleSimpleTag(HTML.Tag tag, MutableAttributeSet attr, int pos){
8590
8691
92+ //--- DEBUG OUT ---- start ---
8793 StringBuffer strBuf = new StringBuffer();
8894 String ret;
8995
@@ -93,6 +99,7 @@
9399 strBuf.append(" [VALUE] ").append(ret);
94100 }
95101 System.out.println(strBuf);
102+ //--- DEBUG OUT ---- end ---
96103
97104 }
98105
@@ -105,8 +112,8 @@
105112 count++;
106113 }
107114 tagMap.put(tag, count);
108-
109-
115+
116+ //--- DEBUG OUT ---- start ---
110117 StringBuffer strBuf = new StringBuffer();
111118 String ret;
112119
@@ -124,7 +131,13 @@
124131 strBuf.append(" [VALUE] ").append(ret);
125132 }
126133 System.out.println(strBuf);
134+ //--- DEBUG OUT ---- end ---
127135
136+ //String currentID = (String)attr.getAttribute(HTML.Attribute.ID);
137+ //String currentClass = (String)attr.getAttribute(HTML.Attribute.CLASS);
138+
139+
140+
128141 }
129142
130143 @Override
@@ -138,7 +151,9 @@
138151
139152
140153
154+ //--- DEBUG OUT ---- start ---
141155 System.out.println(count + " : E : " + tag.toString());
156+ //--- DEBUG OUT ---- end ---
142157
143158 // Tag毎の階層減算
144159 tagMap.put(tag, --count);
@@ -147,8 +162,10 @@
147162 @Override
148163 public void handleText(char[] data, int pos){
149164
165+ //--- DEBUG OUT ---- start ---
150166 String dat = new String(data);
151167 System.out.println(dat);
168+ //--- DEBUG OUT ---- end ---
152169
153170 }
154171 }
--- trunk/HtmlTest1/src/htmltest1/Htmlt1Frame.java (revision 65)
+++ trunk/HtmlTest1/src/htmltest1/Htmlt1Frame.java (revision 66)
@@ -108,6 +108,7 @@
108108 psr = new HtmlParser(jTextField1.getText());
109109 psr.exec();
110110 psr.exec2();
111+ //psr.exec2();
111112 jTextArea1.setText(psr.pageData);
112113 // disp_jTextArea1();
113114 }//GEN-LAST:event_jButton1ActionPerformed
--- trunk/HtmlTest1/src/htmltest1/Htmlt2Frame.java (nonexistent)
+++ trunk/HtmlTest1/src/htmltest1/Htmlt2Frame.java (revision 66)
@@ -0,0 +1,250 @@
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+
7+package htmltest1;
8+
9+//import javax.swing.JTextArea;
10+import java.io.*;
11+import javax.swing.*;
12+import javax.swing.table.DefaultTableModel;
13+
14+/**
15+ *
16+ * @author kgto
17+ */
18+public class Htmlt2Frame extends JFrame {
19+
20+ HtmlParser psr;
21+
22+ /**
23+ * Creates new form Htmlt1Frame
24+ */
25+ public Htmlt2Frame() {
26+ initComponents();
27+ }
28+
29+ /**
30+ * This method is called from within the constructor to initialize the form.
31+ * WARNING: Do NOT modify this code. The content of this method is always
32+ * regenerated by the Form Editor.
33+ */
34+ @SuppressWarnings("unchecked")
35+ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
36+ private void initComponents() {
37+
38+ jLabel1 = new javax.swing.JLabel();
39+ jTextField1 = new javax.swing.JTextField();
40+ jButton1 = new javax.swing.JButton();
41+ jLabel2 = new javax.swing.JLabel();
42+ jButton3 = new javax.swing.JButton();
43+ jButton2 = new javax.swing.JButton();
44+ jScrollPane3 = new javax.swing.JScrollPane();
45+ jTable1 = new javax.swing.JTable();
46+ jScrollPane4 = new javax.swing.JScrollPane();
47+ jTextArea3 = new javax.swing.JTextArea();
48+
49+ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
50+
51+ jLabel1.setText("URL");
52+
53+ jTextField1.setText("http://www.yahoo.co.jp/");
54+ jTextField1.addActionListener(new java.awt.event.ActionListener() {
55+ public void actionPerformed(java.awt.event.ActionEvent evt) {
56+ jTextField1ActionPerformed(evt);
57+ }
58+ });
59+
60+ jButton1.setText("GET");
61+ jButton1.addActionListener(new java.awt.event.ActionListener() {
62+ public void actionPerformed(java.awt.event.ActionEvent evt) {
63+ jButton1ActionPerformed(evt);
64+ }
65+ });
66+
67+ jLabel2.setText("検索キー");
68+
69+ jButton3.setText("Load");
70+ jButton3.addActionListener(new java.awt.event.ActionListener() {
71+ public void actionPerformed(java.awt.event.ActionEvent evt) {
72+ jButton3ActionPerformed(evt);
73+ }
74+ });
75+
76+ jButton2.setText("Save");
77+ jButton2.addActionListener(new java.awt.event.ActionListener() {
78+ public void actionPerformed(java.awt.event.ActionEvent evt) {
79+ jButton2ActionPerformed(evt);
80+ }
81+ });
82+
83+ jTable1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
84+ jTable1.setName(""); // NOI18N
85+ jTable1.setRowSelectionAllowed(false);
86+ jTable1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
87+ jScrollPane3.setViewportView(jTable1);
88+
89+ jTextArea3.setColumns(20);
90+ jTextArea3.setRows(5);
91+ jScrollPane4.setViewportView(jTextArea3);
92+
93+ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
94+ getContentPane().setLayout(layout);
95+ layout.setHorizontalGroup(
96+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
97+ .addGroup(layout.createSequentialGroup()
98+ .addComponent(jLabel1)
99+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
100+ .addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 319, Short.MAX_VALUE)
101+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
102+ .addComponent(jButton1))
103+ .addGroup(layout.createSequentialGroup()
104+ .addContainerGap()
105+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
106+ .addGroup(layout.createSequentialGroup()
107+ .addComponent(jLabel2)
108+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
109+ .addComponent(jButton3)
110+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
111+ .addComponent(jButton2))
112+ .addGroup(layout.createSequentialGroup()
113+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
114+ .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 383, javax.swing.GroupLayout.PREFERRED_SIZE)
115+ .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 383, javax.swing.GroupLayout.PREFERRED_SIZE))
116+ .addGap(0, 0, Short.MAX_VALUE)))
117+ .addContainerGap())
118+ );
119+ layout.setVerticalGroup(
120+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
121+ .addGroup(layout.createSequentialGroup()
122+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
123+ .addComponent(jLabel1)
124+ .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
125+ .addComponent(jButton1))
126+ .addGap(2, 2, 2)
127+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
128+ .addComponent(jLabel2)
129+ .addComponent(jButton2)
130+ .addComponent(jButton3))
131+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
132+ .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE)
133+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
134+ .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 129, Short.MAX_VALUE)
135+ .addContainerGap())
136+ );
137+
138+ pack();
139+ }// </editor-fold>//GEN-END:initComponents
140+
141+ private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed
142+ // TODO add your handling code here:
143+ }//GEN-LAST:event_jTextField1ActionPerformed
144+
145+ private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
146+ //jTextArea1.append(jTextField1.getText());
147+ psr = new HtmlParser(jTextField1.getText());
148+ psr.exec();
149+ psr.exec2();
150+ //psr.exec2();
151+ //jTextArea1.setText(psr.pageData);
152+ // disp_jTextArea1();
153+ }//GEN-LAST:event_jButton1ActionPerformed
154+
155+ private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
156+ //jTable1.
157+ //DefaultTableModel tableModel = new DefaultTableModel(0, 0);
158+
159+
160+
161+ }//GEN-LAST:event_jButton3ActionPerformed
162+
163+ private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
164+ // TODO add your handling code here:
165+ }//GEN-LAST:event_jButton2ActionPerformed
166+
167+ private void disp_jTextArea1() {
168+ try {
169+ System.out.println("- disp_jTextArea1 -");
170+ BufferedReader Sreader = new BufferedReader(new StringReader(psr.pageData));
171+ String ret = null;
172+ while ((ret = Sreader.readLine()) != null) {
173+ System.out.println(ret);
174+ }
175+ }
176+ catch(Exception e) {
177+ System.err.println(e);
178+ }
179+ }
180+
181+ /**
182+ * @param args the command line arguments
183+ */
184+ public static void main(String args[]) {
185+ /* Set the Nimbus look and feel */
186+ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
187+ /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
188+ * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
189+ */
190+ try {
191+ for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
192+ if ("Nimbus".equals(info.getName())) {
193+ UIManager.setLookAndFeel(info.getClassName());
194+ break;
195+ }
196+ }
197+ // add start
198+ String look = UIManager.getSystemLookAndFeelClassName();
199+ UIManager.setLookAndFeel(look);
200+ // add end
201+
202+ } catch (ClassNotFoundException ex) {
203+ java.util.logging.Logger.getLogger(Htmlt2Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
204+ } catch (InstantiationException ex) {
205+ java.util.logging.Logger.getLogger(Htmlt2Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
206+ } catch (IllegalAccessException ex) {
207+ java.util.logging.Logger.getLogger(Htmlt2Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
208+ } catch (javax.swing.UnsupportedLookAndFeelException ex) {
209+ java.util.logging.Logger.getLogger(Htmlt2Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
210+ }
211+ //</editor-fold>
212+
213+ /* Create and display the form */
214+ java.awt.EventQueue.invokeLater(new Runnable() {
215+ public void run() {
216+ new Htmlt2Frame().setVisible(true);
217+ }
218+ });
219+ }
220+ /**
221+ * 外観をOSのものに似せる
222+ * <p>
223+ * (WindowsならWindowsの外観に似る)
224+ * </p>
225+ */
226+ private void initLookFeel() {
227+ try {
228+ String look =
229+ // "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
230+ UIManager.getSystemLookAndFeelClassName();
231+ UIManager.setLookAndFeel(look);
232+ } catch (Exception e) {
233+ // 駄目なときは諦める
234+ e.printStackTrace();
235+ }
236+ }
237+
238+ // Variables declaration - do not modify//GEN-BEGIN:variables
239+ private javax.swing.JButton jButton1;
240+ private javax.swing.JButton jButton2;
241+ private javax.swing.JButton jButton3;
242+ private javax.swing.JLabel jLabel1;
243+ private javax.swing.JLabel jLabel2;
244+ private javax.swing.JScrollPane jScrollPane3;
245+ private javax.swing.JScrollPane jScrollPane4;
246+ private javax.swing.JTable jTable1;
247+ private javax.swing.JTextArea jTextArea3;
248+ private javax.swing.JTextField jTextField1;
249+ // End of variables declaration//GEN-END:variables
250+}
--- trunk/HtmlTest1/src/htmltest1/HtmlTagSearch.java (nonexistent)
+++ trunk/HtmlTest1/src/htmltest1/HtmlTagSearch.java (revision 66)
@@ -0,0 +1,198 @@
1+/*
2+ * HTMLの検索タグ情報格納
3+ */
4+
5+package htmltest1;
6+
7+import java.util.ArrayList;
8+import javax.swing.text.html.*;
9+
10+/**
11+ * HTMLのTAG,ID,CLASSで1キーとし、ユニークなキーをリストに登録、検索する。
12+ * @author kgto
13+ */
14+public class HtmlTagSearch {
15+
16+ class structdata {
17+ HTML.Tag Tag;
18+ String Id;
19+ String Class;
20+ }
21+ /**
22+ * キー情報が格納されたリスト
23+ */
24+ ArrayList<structdata> slist;
25+ /**
26+ * キー情報(HTMLのタグ名,タグのID,タグのClass)を格納
27+ */
28+ structdata dat;
29+
30+ /**
31+ * 格納するキーリストを作成する。
32+ */
33+ public HtmlTagSearch() {
34+ slist = new ArrayList<>();
35+ }
36+
37+ /**
38+ * キー情報を登録する。
39+ * TAG+ID+CLASSで1キーとし、重複登録は行わない。
40+ * @param Tag HTMLのタグ名
41+ * @param Id タグのID
42+ * @param Class タグのClass
43+ */
44+ public void setall(HTML.Tag Tag, String Id, String Class) {
45+ if(searchall(Tag, Id, Class) == false) { // 重複チェック
46+ dat = new structdata();
47+ dat.Tag = Tag;
48+ dat.Id = Id;
49+ dat.Class = Class;
50+ slist.add(dat);
51+ }
52+ }
53+
54+ /**
55+ * キー情報を登録する。
56+ * TAG+IDで1キーとし、重複登録は行わない。
57+ * @param Tag HTMLのタグ名
58+ * @param Id タグのID
59+ */
60+ public void setid(HTML.Tag Tag, String Id) {
61+ if(!(Id == null)) {
62+ setall(Tag, Id, null);
63+ }
64+ }
65+
66+ /**
67+ * キー情報を登録する。
68+ * TAG+CLASSで1キーとし、重複登録は行わない。
69+ * @param Tag HTMLのタグ名
70+ * @param Class タグのClass
71+ */
72+ public void setclass(HTML.Tag Tag, String Class) {
73+ if(!(Class == null)) {
74+ setall(Tag, null, Class);
75+ }
76+ }
77+
78+ /**
79+ * 登録されているキーリストより、指定された位置のキー情報を取得する。
80+ * @param i 取得したいキー情報のリスト位置
81+ */
82+ public void get(int i) {
83+ if(i < slist.size()) {
84+ dat = slist.get(i);
85+ }
86+ }
87+
88+ /**
89+ * 取得したいキー情報の項目値を取り出す。</>
90+ * ※先にgetメソッドにより、取得したいキー情報を取得しておくこと。
91+ * @return キー情報内の、HTMLのタグ名を返す。
92+ */
93+ public HTML.Tag gettag() {
94+ return dat.Tag;
95+ }
96+
97+ /**
98+ * 取得したいキー情報の項目値を取り出す。</>
99+ * ※先にgetメソッドにより、取得したいキー情報を取得しておくこと。
100+ * @return キー情報内の、タグのIDを返す。
101+ */
102+ public String getid() {
103+ return dat.Id;
104+ }
105+
106+ /**
107+ * 取得したいキー情報の項目値を取り出す。</>
108+ * ※先にgetメソッドにより、取得したいキー情報を取得しておくこと。
109+ * @return キー情報内の、タグのClassを返す。
110+ */
111+ public String getclass() {
112+ return dat.Class;
113+ }
114+
115+ /**
116+ * 既に登録されているキーのデータ数を返す。
117+ * @return 登録されているキーのデータ数
118+ */
119+ public int size() {
120+ return slist.size();
121+ }
122+
123+ /**
124+ * 入力されたキーより、登録されたキーリストの存在をチェックする。
125+ * @param Tag 検索するHTMLのタグ名
126+ * @param Id 検索するタグのID
127+ * @param Class 検索するタグのClass
128+ * @return 引数のTag,Id,Classに一致するキーが存在した場合、True
129+ */
130+ public boolean searchall(HTML.Tag Tag, String Id, String Class) {
131+
132+ for (structdata slist1 : slist) {
133+ boolean chkflg[] = {false, false, false};
134+ // Tag
135+ if(slist1.Tag == null) {
136+ if(Tag == null) {
137+ chkflg[0] = true;
138+ }
139+ } else {
140+ if(slist1.Tag.equals(Tag)) {
141+ chkflg[0] = true;
142+ }
143+ }
144+ // Id
145+ if(slist1.Id == null) {
146+ if(Id == null) {
147+ chkflg[1] = true;
148+ }
149+ } else {
150+ if(slist1.Id.equals(Id)) {
151+ chkflg[1] = true;
152+ }
153+ }
154+ // Class
155+ if(slist1.Class == null) {
156+ if(Class == null) {
157+ chkflg[2] = true;
158+ }
159+ } else {
160+ if(slist1.Class.equals(Class)) {
161+ chkflg[2] = true;
162+ }
163+ }
164+ //
165+ if(chkflg[0] & chkflg[1] & chkflg[2] ) {
166+ return true;
167+ }
168+ }
169+ return false;
170+ }
171+
172+ /**
173+ * 入力されたキーより、登録されたキーリストの存在をチェックする。
174+ * @param Tag 検索するHTMLのタグ名
175+ * @param Id 検索するタグのID
176+ * @return 引数のTag,Idに一致するキーが存在した場合、True
177+ */
178+ public boolean searchid(HTML.Tag Tag, String Id) {
179+ if(Id == null) {
180+ return false;
181+ }
182+ return searchall(Tag, Id, null);
183+ }
184+
185+ /**
186+ * 入力されたキーより、登録されたキーリストの存在をチェックする。
187+ * @param Tag 検索するHTMLのタグ名
188+ * @param Class 検索するタグのClass
189+ * @return 引数のTag,Classに一致するキーが存在した場合、True
190+ */
191+ public boolean searchclass(HTML.Tag Tag, String Class) {
192+ if(Class == null) {
193+ return false;
194+ }
195+ return searchall(Tag, null, Class);
196+ }
197+
198+}
--- trunk/HtmlTest1/src/htmltest1/Person.java (nonexistent)
+++ trunk/HtmlTest1/src/htmltest1/Person.java (revision 66)
@@ -0,0 +1,23 @@
1+
2+package htmltest1;
3+
4+import java.util.Date;
5+
6+public class Person {
7+ private int id;
8+ private String name;
9+ private Date birthday;
10+ private int salary;
11+
12+ public Person() {
13+ }
14+
15+ public Person(int id, String name, Date birthday, int salary) {
16+ this.id = id;
17+ this.name = name;
18+ this.birthday = birthday;
19+ this.salary = salary;
20+ }
21+
22+ // Getter/Setterは省略
23+}
\ No newline at end of file