teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

7

意図的に内容を抹消する行為にあたるため

2021/07/26 07:39

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 解決すことができました。
1
+ 1.ページを進め方法
body CHANGED
@@ -1,15 +1,88 @@
1
1
  ### 前提・実現したいこと
2
- 解決しました。
3
-
4
-
5
-
6
2
  ### 発生している問題・エラーメッセージ
7
-
3
+ ```
8
-
4
+ エラーメッセージ
9
-
5
+ ```
10
6
  ### 該当のソースコード
11
-
7
+ 検索
12
-
8
+ ```
9
+ public void actionPerformed(ActionEvent e) {
10
+ // TODO 自動生成されたメソッド・スタブ
11
+
12
+ readBook();
13
+
14
+ //オブジェクト型の配列生成
15
+ Book bk[] = new Book[4];
16
+ bk[0] = new Book(data[0][0], data[0][1], data[0][2], data[0][3], data[0][4]);
17
+ bk[1] = new Book(data[1][0], data[1][1], data[1][2], data[1][3], data[1][4]);
18
+ bk[2] = new Book(data[2][0], data[2][1], data[2][2], data[2][3], data[2][4]);
19
+ bk[3] = new Book(data[0][0], data[0][1], data[0][2], data[0][3], data[0][4]);
20
+
21
+ //検索文字列を取得
22
+ String gStr = text1.getText();
23
+
24
+ //部分文字列検索
25
+ int result1 = book1.getTitle().indexOf(gStr);
26
+ int result2 = book1.getAuthor().indexOf(gStr);
27
+ int result3 = book1.getPublisher().indexOf(gStr);
28
+ int result4 = book1.getYop().indexOf(gStr);
29
+ int result5 = book1.getIsbn().indexOf(gStr);
30
+ int result6 = book2.getTitle().indexOf(gStr);
31
+ int result7 = book2.getAuthor().indexOf(gStr);
32
+ int result8 = book2.getPublisher().indexOf(gStr);
33
+ int result9 = book2.getYop().indexOf(gStr);
34
+ int result10 = book2.getIsbn().indexOf(gStr);
35
+ int result11 = book3.getTitle().indexOf(gStr);
36
+ int result12 = book3.getAuthor().indexOf(gStr);
37
+ int result13 = book3.getPublisher().indexOf(gStr);
38
+ int result14 = book3.getYop().indexOf(gStr);
39
+ int result15 = book3.getIsbn().indexOf(gStr);
40
+ int result16 = book4.getTitle().indexOf(gStr);
41
+ int result17 = book4.getAuthor().indexOf(gStr);
42
+ int result18 = book4.getPublisher().indexOf(gStr);
43
+ int result19 = book4.getYop().indexOf(gStr);
44
+ int result20 = book4.getIsbn().indexOf(gStr);
45
+
46
+ if (e.getSource() == button1) { //検索ボタン
47
+ if (result1 != -1 || result2 != -1 || result3 != -1 || result4 != -1 || result5 != -1) {
48
+ text2.setText(book1.getTitle());
49
+ text3.setText(book1.getAuthor());
50
+ text4.setText(book1.getPublisher());
51
+ text5.setText(book1.getYop());
52
+ text6.setText(book1.getIsbn());
53
+ }
54
+
55
+ } else if (e.getSource() == button3) { //進むボタン
56
+ for (int i = 0; i < 3; i++) {
57
+ if ((result6 != -1 || result7 != -1 || result8 != -1 || result9 != -1 || result10 != -1) && i == 0) {
58
+ text2.setText(book2.getTitle());
59
+ text3.setText(book2.getAuthor());
60
+ text4.setText(book2.getPublisher());
61
+ text5.setText(book2.getYop());
62
+ text6.setText(book2.getIsbn());
63
+ } else if ((result11 != -1 || result12 != -1 || result13 != -1 || result14 != -1 || result15 != -1)
64
+ && i == 1) {
65
+ text2.setText(book3.getTitle());
66
+ text3.setText(book3.getAuthor());
67
+ text4.setText(book3.getPublisher());
68
+ text5.setText(book3.getYop());
69
+ text6.setText(book3.getIsbn());
70
+ }
71
+ }
72
+ } else if (e.getSource() == button2) { //戻るボタン
73
+ if ((result11 != -1 || result2 != -1 || result3 != -1 || result4 != -1 || result5 != -1)) {
74
+ text2.setText(book1.getTitle());
75
+ text3.setText(book1.getAuthor());
76
+ text4.setText(book1.getPublisher());
77
+ text5.setText(book1.getYop());
78
+ text6.setText(book1.getIsbn());
79
+ }
80
+
81
+ }
82
+ }
83
+ }
84
+
85
+ ```
86
+
13
87
  ### 試したこと
14
-
15
88
  ### 補足情報(FW/ツールのバージョンなど)

6

書式の改善

2021/07/26 07:39

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
File without changes

5

書籍の改善

2021/07/21 17:09

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 1.ページを進め方法
1
+ 解決すことができました。
body CHANGED
@@ -1,97 +1,15 @@
1
1
  ### 前提・実現したいこと
2
- 複数の蔵書がマッチした場合、進むボタンを押すと2個目、3個目の蔵書情報がテキストフィールドに表示でき、戻るボタンを押すと前の蔵書情報を表示する方法を教えて頂きたいです
2
+ 解決ました。
3
3
 
4
4
 
5
5
 
6
6
  ### 発生している問題・エラーメッセージ
7
7
 
8
- ```
9
- エラーメッセージ
10
- ```
11
8
 
9
+
12
10
  ### 該当のソースコード
13
11
 
14
12
 
15
- 検索
16
- ```
17
- public void actionPerformed(ActionEvent e) {
18
- // TODO 自動生成されたメソッド・スタブ
19
-
20
- readBook();
21
-
22
- //オブジェクト型の配列生成
23
- Book bk[] = new Book[4];
24
- bk[0] = new Book(data[0][0], data[0][1], data[0][2], data[0][3], data[0][4]);
25
- bk[1] = new Book(data[1][0], data[1][1], data[1][2], data[1][3], data[1][4]);
26
- bk[2] = new Book(data[2][0], data[2][1], data[2][2], data[2][3], data[2][4]);
27
- bk[3] = new Book(data[0][0], data[0][1], data[0][2], data[0][3], data[0][4]);
28
-
29
- //検索文字列を取得
30
- String gStr = text1.getText();
31
-
32
- //部分文字列検索
33
- int result1 = book1.getTitle().indexOf(gStr);
34
- int result2 = book1.getAuthor().indexOf(gStr);
35
- int result3 = book1.getPublisher().indexOf(gStr);
36
- int result4 = book1.getYop().indexOf(gStr);
37
- int result5 = book1.getIsbn().indexOf(gStr);
38
- int result6 = book2.getTitle().indexOf(gStr);
39
- int result7 = book2.getAuthor().indexOf(gStr);
40
- int result8 = book2.getPublisher().indexOf(gStr);
41
- int result9 = book2.getYop().indexOf(gStr);
42
- int result10 = book2.getIsbn().indexOf(gStr);
43
- int result11 = book3.getTitle().indexOf(gStr);
44
- int result12 = book3.getAuthor().indexOf(gStr);
45
- int result13 = book3.getPublisher().indexOf(gStr);
46
- int result14 = book3.getYop().indexOf(gStr);
47
- int result15 = book3.getIsbn().indexOf(gStr);
48
- int result16 = book4.getTitle().indexOf(gStr);
49
- int result17 = book4.getAuthor().indexOf(gStr);
50
- int result18 = book4.getPublisher().indexOf(gStr);
51
- int result19 = book4.getYop().indexOf(gStr);
52
- int result20 = book4.getIsbn().indexOf(gStr);
53
-
54
- if (e.getSource() == button1) { //検索ボタン
55
- if (result1 != -1 || result2 != -1 || result3 != -1 || result4 != -1 || result5 != -1) {
56
- text2.setText(book1.getTitle());
57
- text3.setText(book1.getAuthor());
58
- text4.setText(book1.getPublisher());
59
- text5.setText(book1.getYop());
60
- text6.setText(book1.getIsbn());
61
- }
62
-
63
- } else if (e.getSource() == button3) { //進むボタン
64
- for (int i = 0; i < 3; i++) {
65
- if ((result6 != -1 || result7 != -1 || result8 != -1 || result9 != -1 || result10 != -1) && i == 0) {
66
- text2.setText(book2.getTitle());
67
- text3.setText(book2.getAuthor());
68
- text4.setText(book2.getPublisher());
69
- text5.setText(book2.getYop());
70
- text6.setText(book2.getIsbn());
71
- } else if ((result11 != -1 || result12 != -1 || result13 != -1 || result14 != -1 || result15 != -1)
72
- && i == 1) {
73
- text2.setText(book3.getTitle());
74
- text3.setText(book3.getAuthor());
75
- text4.setText(book3.getPublisher());
76
- text5.setText(book3.getYop());
77
- text6.setText(book3.getIsbn());
78
- }
79
- }
80
- } else if (e.getSource() == button2) { //戻るボタン
81
- if ((result11 != -1 || result2 != -1 || result3 != -1 || result4 != -1 || result5 != -1)) {
82
- text2.setText(book1.getTitle());
83
- text3.setText(book1.getAuthor());
84
- text4.setText(book1.getPublisher());
85
- text5.setText(book1.getYop());
86
- text6.setText(book1.getIsbn());
87
- }
88
-
89
- }
90
- }
91
- }
92
-
93
- ```
94
-
95
13
  ### 試したこと
96
14
 
97
15
  ### 補足情報(FW/ツールのバージョンなど)

4

書式の改善

2021/07/21 17:08

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -14,227 +14,6 @@
14
14
 
15
15
  検索
16
16
  ```
17
- import java.awt.BorderLayout;
18
- import java.awt.Container;
19
- import java.awt.GridBagConstraints;
20
- import java.awt.GridBagLayout;
21
- import java.awt.Insets;
22
- import java.awt.event.ActionEvent;
23
- import java.awt.event.ActionListener;
24
- import java.io.BufferedReader;
25
- import java.io.File;
26
- import java.io.FileReader;
27
-
28
- import javax.swing.JButton;
29
- import javax.swing.JFrame; //フレーム
30
- import javax.swing.JLabel;
31
- import javax.swing.JPanel;
32
- import javax.swing.JTextField;
33
-
34
- public class BookData extends JFrame implements ActionListener {
35
-
36
- private GridBagLayout grLayout;
37
- private GridBagConstraints gbc;
38
- private Container cntnr;
39
- private JLabel label1, label2, label3, label4, label5, label6, label7;
40
- private JPanel panel1;
41
- private JButton button1, button2, button3, button4;
42
- private JTextField text1, text2, text3, text4, text5, text6;
43
-
44
- public String data[][];
45
-
46
- // コンストラクタ:窓のタイトル,位置,大きさを設定
47
- BookData(String title) {
48
- super(title);
49
- setBounds(200, 200, 800, 400);
50
- }
51
-
52
- public static void main(String[] args) {
53
- // TODO 自動生成されたメソッド・スタブ
54
-
55
- //自クラスインスタンス生成
56
- BookData frame;
57
-
58
- frame = new BookData("Seach Book"); //タイトル
59
-
60
- frame.defineVal(); //表示準備
61
- frame.setVisible(true); //表示
62
-
63
- }
64
-
65
- public void readBook() { //csvファイルを読み込み
66
-
67
- BufferedReader br = null;
68
- String read_file = "booklist.csv";
69
- final int MAX_DATA_NUMS = 100;
70
- data = new String[MAX_DATA_NUMS][];
71
- try {
72
- File file = new File(read_file);
73
- br = new BufferedReader(new FileReader(file));
74
-
75
- int index = 0;
76
- String line;
77
- while ((line = br.readLine()) != null) {
78
- data[index] = line.split(",");
79
- index++;
80
- }
81
- } catch (Exception e) {
82
- System.out.println(e.getMessage());
83
- } finally {
84
- try {
85
- br.close();
86
- } catch (Exception e) {
87
- System.out.println(e.getMessage());
88
- }
89
- }
90
-
91
- for (int i = 0; i < MAX_DATA_NUMS; i++) {
92
- if (data[i] == null)
93
- break;
94
- for (int j = 0; j < data[i].length; j++) {
95
- this.data[i][j] = data[i][j]; //配列に格納
96
- }
97
- }
98
- }
99
-
100
- private void defineVal() { //レイアウト
101
-
102
- cntnr = getContentPane();
103
- grLayout = new GridBagLayout();
104
- gbc = new GridBagConstraints();
105
- panel1 = new JPanel();
106
- panel1.setLayout(grLayout);
107
-
108
- label1 = new JLabel("検索語:");
109
- label2 = new JLabel("結果:");
110
- label3 = new JLabel("タイトル:");
111
- label4 = new JLabel("著者:");
112
- label5 = new JLabel("出版社:");
113
- label6 = new JLabel("出版年:");
114
- label7 = new JLabel("ISBN:");
115
-
116
- text1 = new JTextField(50);
117
- text2 = new JTextField(50);
118
- text3 = new JTextField(50);
119
- text4 = new JTextField(50);
120
- text5 = new JTextField(50);
121
- text6 = new JTextField(50);
122
-
123
- button1 = new JButton("検索");
124
- button2 = new JButton("<");
125
- button3 = new JButton(">");
126
- button4 = new JButton("検索結果保存");
127
-
128
- //レイアウト
129
- gbc.weighty = 0.3d;
130
-
131
- gbc.gridx = 0;
132
- gbc.gridy = 0;
133
- grLayout.setConstraints(label1, gbc);
134
-
135
- gbc.gridx = 1;
136
- gbc.gridy = 0;
137
- grLayout.setConstraints(text1, gbc);
138
-
139
- gbc.gridx = 2;
140
- gbc.gridy = 0;
141
- grLayout.setConstraints(button1, gbc);
142
-
143
- gbc.gridx = 0;
144
- gbc.gridy = 1;
145
- grLayout.setConstraints(label2, gbc);
146
-
147
- gbc.gridx = 0;
148
- gbc.gridy = 2;
149
- grLayout.setConstraints(label3, gbc);
150
-
151
- gbc.gridx = 1;
152
- gbc.gridy = 2;
153
- grLayout.setConstraints(text2, gbc);
154
-
155
- gbc.gridx = 0;
156
- gbc.gridy = 3;
157
- grLayout.setConstraints(label4, gbc);
158
-
159
- gbc.gridx = 1;
160
- gbc.gridy = 3;
161
- grLayout.setConstraints(text3, gbc);
162
-
163
- gbc.gridx = 0;
164
- gbc.gridy = 4;
165
- grLayout.setConstraints(label5, gbc);
166
-
167
- gbc.gridx = 1;
168
- gbc.gridy = 4;
169
- grLayout.setConstraints(text4, gbc);
170
-
171
- gbc.gridx = 0;
172
- gbc.gridy = 5;
173
- grLayout.setConstraints(label6, gbc);
174
-
175
- gbc.gridx = 1;
176
- gbc.gridy = 5;
177
- grLayout.setConstraints(text5, gbc);
178
-
179
- gbc.gridx = 0;
180
- gbc.gridy = 6;
181
- grLayout.setConstraints(label7, gbc);
182
-
183
- gbc.gridx = 1;
184
- gbc.gridy = 6;
185
- grLayout.setConstraints(text6, gbc);
186
-
187
- gbc.gridx = 1;
188
- gbc.gridy = 7;
189
- gbc.anchor = GridBagConstraints.WEST;
190
- gbc.insets = new Insets(0, 150, 0, 0);
191
- grLayout.setConstraints(button2, gbc);
192
-
193
- gbc.gridx = 1;
194
- gbc.gridy = 7;
195
- gbc.anchor = GridBagConstraints.CENTER;
196
- gbc.insets = new Insets(0, 0, 0, 0);
197
- grLayout.setConstraints(button3, gbc);
198
-
199
- gbc.gridx = 1;
200
- gbc.gridy = 7;
201
- gbc.anchor = GridBagConstraints.EAST;
202
- gbc.insets = new Insets(0, 0, 0, 50);
203
- grLayout.setConstraints(button4, gbc);
204
-
205
- panel1.add(label1);
206
- panel1.add(label2);
207
- panel1.add(label3);
208
- panel1.add(label4);
209
- panel1.add(label5);
210
- panel1.add(label6);
211
- panel1.add(label7);
212
-
213
- panel1.add(text1);
214
- panel1.add(text2);
215
- panel1.add(text3);
216
- panel1.add(text4);
217
- panel1.add(text5);
218
- panel1.add(text6);
219
-
220
- panel1.add(button1);
221
- panel1.add(button2);
222
- panel1.add(button3);
223
- panel1.add(button4);
224
-
225
- cntnr.add(panel1, BorderLayout.CENTER);
226
-
227
- button1.addActionListener(this);
228
- button2.addActionListener(this);
229
- button3.addActionListener(this);
230
- button4.addActionListener(this);
231
-
232
- //窓を閉じたとき、プログラム終了
233
- setDefaultCloseOperation(EXIT_ON_CLOSE);
234
-
235
- }
236
-
237
- @Override
238
17
  public void actionPerformed(ActionEvent e) {
239
18
  // TODO 自動生成されたメソッド・スタブ
240
19
 

3

書式の改善

2021/07/21 16:51

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- Java ボタンでページめる方法
1
+ 1.ページを進める方法
body CHANGED
@@ -1,7 +1,5 @@
1
1
  ### 前提・実現したいこと
2
- javaで蔵書を検索するとcsvファイルから部分検索にマッチした蔵書情報をテキストフィールドに表示するプログラムを作っています。例えば、タイトル,出版社,著者です。
3
- この時、複数の蔵書がマッチした場合、進むボタンを押すと2個目、3個目の蔵書情報がテキストフィールドに表示でき、戻るボタンを押すと前の蔵書情報を表示する方法を教えて頂きたいです。
2
+ 複数の蔵書がマッチした場合、進むボタンを押すと2個目、3個目の蔵書情報がテキストフィールドに表示でき、戻るボタンを押すと前の蔵書情報を表示する方法を教えて頂きたいです。
4
- 環境はeclipseです。
5
3
 
6
4
 
7
5
 
@@ -12,67 +10,8 @@
12
10
  ```
13
11
 
14
12
  ### 該当のソースコード
15
- 蔵書データ
16
- `````````
17
- public class Book {
18
13
 
19
- private String title;
20
- private String author;
21
- private String publisher;
22
- private String yop;
23
- private String isbn;
24
14
 
25
- public Book(String title, String author, String publisher, String yop, String isbn) {
26
- this.title = title;
27
- this.author = author;
28
- this.publisher = publisher;
29
- this.yop = yop;
30
- this.isbn = isbn;
31
- }
32
-
33
- public String getTitle() {
34
- return title;
35
- }
36
-
37
- public void setTitle(String title) {
38
- this.title = title;
39
- }
40
-
41
- public String getAuthor() {
42
- return author;
43
- }
44
-
45
- public void setAuthor(String author) {
46
- this.author = author;
47
- }
48
-
49
- public String getPublisher() {
50
- return publisher;
51
- }
52
-
53
- public void setPublisher(String publisher) {
54
- this.publisher = publisher;
55
- }
56
-
57
- public String getYop() {
58
- return yop;
59
- }
60
-
61
- public void setYop(String yop) {
62
- this.yop = yop;
63
- }
64
-
65
- public String getIsbn() {
66
- return isbn;
67
- }
68
-
69
- public void setIsbn(String isbn) {
70
- this.isbn = isbn;
71
- }
72
- }
73
-
74
-
75
- ```
76
15
  検索
77
16
  ```
78
17
  import java.awt.BorderLayout;
@@ -376,11 +315,4 @@
376
315
 
377
316
  ### 試したこと
378
317
 
379
- if分でどうにかやろうと思いましたが全くできませんでした。
380
- 助けてください。
381
-
382
- ### 補足情報(FW/ツールのバージョンなど)
318
+ ### 補足情報(FW/ツールのバージョンなど)
383
-
384
- csvファイルの蔵書データを読み込みます。
385
- eclipse
386
- swing

2

コード書き換え

2021/07/21 16:49

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -301,11 +301,12 @@
301
301
 
302
302
  readBook();
303
303
 
304
- //インスタンス生成
304
+ //オブジェクト型の配列生成
305
+ Book bk[] = new Book[4];
305
- Book book1 = new Book(data[0][0], data[0][1], data[0][2], data[0][3], data[0][4]);
306
+ bk[0] = new Book(data[0][0], data[0][1], data[0][2], data[0][3], data[0][4]);
306
- Book book2 = new Book(data[1][0], data[1][1], data[1][2], data[1][3], data[1][4]);
307
+ bk[1] = new Book(data[1][0], data[1][1], data[1][2], data[1][3], data[1][4]);
307
- Book book3 = new Book(data[2][0], data[2][1], data[2][2], data[2][3], data[2][4]);
308
+ bk[2] = new Book(data[2][0], data[2][1], data[2][2], data[2][3], data[2][4]);
308
- Book book4 = new Book(data[0][0], data[0][1], data[0][2], data[0][3], data[0][4]);
309
+ bk[3] = new Book(data[0][0], data[0][1], data[0][2], data[0][3], data[0][4]);
309
310
 
310
311
  //検索文字列を取得
311
312
  String gStr = text1.getText();

1

題名を変えました

2021/07/21 03:38

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- Java ボタンで前後に移動する方法
1
+ Java ボタンでページめくる方法
body CHANGED
File without changes