質問編集履歴

8

依頼の明確化

2020/08/09 04:03

投稿

andersong
andersong

スコア7

test CHANGED
File without changes
test CHANGED
@@ -50,6 +50,18 @@
50
50
 
51
51
 
52
52
 
53
+
54
+
55
+ 追記
56
+
57
+ 上記の質問は解決しました。
58
+
59
+ しかし予定を追加する際に使用するチェックボックスがうまく機能しません。
60
+
61
+ どこを修正すればよいでしょうか。
62
+
63
+
64
+
53
65
  ```ここに言語を入力
54
66
 
55
67
  /*[CalendarSystem.java]*/
@@ -354,7 +366,7 @@
354
366
 
355
367
  try{                       /*予定を作成する*/
356
368
 
357
- Schedule sc=new Schedule("yyyy/MM/dd HH:mm");/*⓶ここの引数も何を入れればいいかわかりません*/
369
+ Schedule sc=new Schedule(ti,dt,tm,true,pl,me);/*⓶ここの引数も何を入れればいいかわかりません*/
358
370
 
359
371
  cal_sys.addSchedule(sc);
360
372
 

7

ソースコードの修正

2020/08/09 04:03

投稿

andersong
andersong

スコア7

test CHANGED
File without changes
test CHANGED
@@ -132,19 +132,261 @@
132
132
 
133
133
  }
134
134
 
135
+ ```
136
+
137
+
138
+
139
+ ```
140
+
141
+ /*[ScheduleEntry.java]*/
142
+
143
+
144
+
145
+ import java.awt.*;
146
+
147
+ import java.awt.event.*;
148
+
149
+ import javax.swing.*;
150
+
151
+ import java.text.*;
152
+
153
+ import java.util.*;
154
+
155
+
156
+
157
+ public class ScheduleEntry extends JDialog implements ActionListener{
158
+
159
+ private CalendarSystem cal_sys;
160
+
161
+ private JSpinner sp_date,sp_time;
162
+
163
+ private JCheckBox cb_allday;
164
+
165
+ private JTextField tf_title;
166
+
167
+ private JTextField tf_place;
168
+
169
+ private JTextArea ta_memo;
170
+
171
+ private JSpinner.DateEzditor de_date,de_time;
172
+
173
+
174
+
175
+ public ScheduleEntry(CalendarSystem cs){
176
+
177
+ super(cs,"予定の作成",true);
178
+
179
+ setSize(400,400);
180
+
181
+ Dimension d=Toolkit.getDefaultToolkit().getScreenSize();
182
+
183
+ setLocation((d.width-400)/2,(d.height-400)/2);
184
+
185
+ cal_sys=cs;
186
+
187
+
188
+
189
+
190
+
191
+ SpinnerDateModel sdm=new SpinnerDateModel();
192
+
193
+ sp_date=new JSpinner(sdm);
194
+
195
+ de_date=new JSpinner.DateEditor(sp_date,"yyyy/MM/dd");
196
+
197
+ sp_date.setEditor(de_date);
198
+
199
+
200
+
201
+
202
+
203
+ sdm=new SpinnerDateModel();
204
+
205
+ sp_time=new JSpinner(sdm);
206
+
207
+ de_time=new JSpinner.DateEditor(sp_time,"HH:mm");
208
+
209
+ sp_time.setEditor(de_date);
210
+
211
+
212
+
213
+
214
+
215
+ Jpanel p1=new Jpanel();
216
+
217
+ p1.setLayout(new GridLayout(4,1));
218
+
219
+
220
+
221
+ JPanel p2=new JPanel();
222
+
223
+ p2.setLayout (new FlowLayout (FlowLayout. LEFT));
224
+
225
+ p2.add(new JLabel("名称:"));
226
+
227
+ p2.add(tf_title=new JTextField (30));
228
+
229
+ p1.add (p2);
230
+
231
+
232
+
233
+
234
+
235
+ p2=new JPanel();
236
+
237
+ p2.setLayout (new FlowLayout (FlowLayout. LEFT));
238
+
239
+ p2.add(new JLabel("日付:"));
240
+
241
+ p2.add(sp_date);
242
+
243
+ p1.add (p2);
244
+
245
+
246
+
247
+ p2=new JPanel();
248
+
249
+ p2.setLayout(new FlowLayout (FlowLayout. LEFT));
250
+
251
+ p2.add(new JLabel("時刻:"));
252
+
253
+ p2.add(sp_time);
254
+
255
+ p2.add(cb_allday=new JCheckBox ("終日:"));
256
+
257
+ cb_allday.addActionListener (this);
258
+
259
+ pl.add (p2);
260
+
261
+
262
+
263
+ p2=new JPanel();
264
+
265
+ p2.setLayout(new FlowLayout (FlowLayout. LEFT));
266
+
267
+ p2.add(new JLabel("場所:"));
268
+
269
+ p2.add(tf_place=new JTextField(30));
270
+
271
+ p1.add (p2);
272
+
273
+
274
+
275
+ set Layout (new BorderLayout());
276
+
277
+ add (p1, BorderLayout. NORTH);
278
+
279
+
280
+
281
+ p1=new JPanel();
282
+
283
+ p1.setLayout(new BorderLayout());
284
+
285
+
286
+
287
+ p1.add(new JLabel("メモ:"),BorderLayout.WEST);
288
+
289
+ p1.add(ta_memo=new JTextArea());
290
+
291
+ add(p1);
292
+
293
+
294
+
295
+ p1=new Jpanel();
296
+
297
+
298
+
299
+ JButton bt=new JButton("作成");
300
+
301
+ bt.addActionListener(this);
302
+
303
+ p1.add(bt);
304
+
305
+ bt=new JButton("キャンセル");
306
+
307
+ bt.addActionListener(this);
308
+
309
+ p1.add(bt);
310
+
311
+ add(p1,BorderLayout.SOUTH);
312
+
313
+ }
314
+
315
+ public void actionPerformed(ActionEvent ev){
316
+
317
+ switch(ev.getActionCommand()){
318
+
319
+ case "終日": changeAllDay(); break;
320
+
321
+ case "作成": doCreate(); break;
322
+
323
+ case"キャンセル": doCancel(); break;
324
+
325
+ }
326
+
327
+ }
328
+
329
+ private void changeAllDay(){
330
+
331
+ boolean ck=cb_allday.isSelected();
332
+
333
+ sp_time.setEnabled(true); /*⓵ここがtrueであっているのか*/
334
+
335
+                /*チェックボックスが選択されていなければ時刻スピナーを有効化する*/
336
+
337
+ }
338
+
339
+
340
+
341
+ private void doCreate(){
342
+
343
+ String ti=tf_title.getText();
344
+
345
+ String dt=de_date.getFormat().format(sp_date.getValue());
346
+
347
+ String tm=de_time.getFormat().format(sp_time.getValue());
348
+
349
+ boolean ad=cb_allday.isSelected();
350
+
351
+ String pl=tf_place.getText();
352
+
353
+ String me=ta_memo.getText();
354
+
355
+ try{                       /*予定を作成する*/
356
+
357
+ Schedule sc=new Schedule("yyyy/MM/dd HH:mm");/*⓶ここの引数も何を入れればいいかわかりません*/
358
+
359
+ cal_sys.addSchedule(sc);
360
+
361
+ dispose();
362
+
363
+ }
364
+
365
+ catch(ParseException e){
366
+
367
+ System.err.println("エラー:日時が不正です。");
368
+
369
+ }
370
+
371
+ }
372
+
373
+
374
+
375
+ private void doCancel(){
376
+
377
+ dispose();
378
+
379
+ }
380
+
381
+ }
382
+
383
+ ```
384
+
135
385
 
136
386
 
137
387
  ```ここに言語を入力
138
388
 
139
- /*[ScheduleEntry.java]*/
389
+ /*[Schedule.java]*/
140
-
141
-
142
-
143
- import java.awt.*;
144
-
145
- import java.awt.event.*;
146
-
147
- import javax.swing.*;
148
390
 
149
391
  import java.text.*;
150
392
 
@@ -152,296 +394,56 @@
152
394
 
153
395
 
154
396
 
155
- public class ScheduleEntry extends JDialog implements ActionListener{
156
-
157
- private CalendarSystem cal_sys;
158
-
159
- private JSpinner sp_date,sp_time;
160
-
161
- private JCheckBox cb_allday;
162
-
163
- private JTextField tf_title;
164
-
165
- private JTextField tf_place;
166
-
167
- private JTextArea ta_memo;
168
-
169
- private JSpinner.DateEzditor de_date,de_time;
170
-
171
-
172
-
173
- public ScheduleEntry(CalendarSystem cs){
174
-
175
- super(cs,"予定の作成",true);
176
-
177
- setSize(400,400);
178
-
179
- Dimension d=Toolkit.getDefaultToolkit().getScreenSize();
180
-
181
- setLocation((d.width-400)/2,(d.height-400)/2);
182
-
183
- cal_sys=cs;
184
-
185
-
186
-
187
-
188
-
189
- SpinnerDateModel sdm=new SpinnerDateModel();
190
-
191
- sp_date=new JSpinner(sdm);
192
-
193
- de_date=new JSpinner.DateEditor(sp_date,"yyyy/MM/dd");
194
-
195
- sp_date.setEditor(de_date);
196
-
197
-
198
-
199
-
200
-
201
- sdm=new SpinnerDateModel();
202
-
203
- sp_time=new JSpinner(sdm);
204
-
205
- de_time=new JSpinner.DateEditor(sp_time,"HH:mm");
206
-
207
- sp_time.setEditor(de_date);
208
-
209
-
210
-
211
-
212
-
213
- Jpanel p1=new Jpanel();
214
-
215
- p1.setLayout(new GridLayout(4,1));
216
-
217
-
218
-
219
- JPanel p2=new JPanel();
220
-
221
- p2.setLayout (new FlowLayout (FlowLayout. LEFT));
222
-
223
- p2.add(new JLabel("名称:"));
224
-
225
- p2.add(tf_title=new JTextField (30));
226
-
227
- p1.add (p2);
228
-
229
-
230
-
231
-
232
-
233
- p2=new JPanel();
234
-
235
- p2.setLayout (new FlowLayout (FlowLayout. LEFT));
236
-
237
- p2.add(new JLabel("日付:"));
238
-
239
- p2.add(sp_date);
240
-
241
- p1.add (p2);
242
-
243
-
244
-
245
- p2=new JPanel();
246
-
247
- p2.setLayout(new FlowLayout (FlowLayout. LEFT));
248
-
249
- p2.add(new JLabel("時刻:"));
250
-
251
- p2.add(sp_time);
252
-
253
- p2.add(cb_allday=new JCheckBox ("終日:"));
254
-
255
- cb_allday.addActionListener (this);
256
-
257
- pl.add (p2);
258
-
259
-
260
-
261
- p2=new JPanel();
262
-
263
- p2.setLayout(new FlowLayout (FlowLayout. LEFT));
264
-
265
- p2.add(new JLabel("場所:"));
266
-
267
- p2.add(tf_place=new JTextField(30));
268
-
269
- p1.add (p2);
270
-
271
-
272
-
273
- set Layout (new BorderLayout());
274
-
275
- add (p1, BorderLayout. NORTH);
276
-
277
-
278
-
279
- p1=new JPanel();
280
-
281
- p1.setLayout(new BorderLayout());
282
-
283
-
284
-
285
- p1.add(new JLabel("メモ:"),BorderLayout.WEST);
286
-
287
- p1.add(ta_memo=new JTextArea());
288
-
289
- add(p1);
290
-
291
-
292
-
293
- p1=new Jpanel();
294
-
295
-
296
-
297
- JButton bt=new JButton("作成");
298
-
299
- bt.addActionListener(this);
300
-
301
- p1.add(bt);
302
-
303
- bt=new JButton("キャンセル");
304
-
305
- bt.addActionListener(this);
306
-
307
- p1.add(bt);
308
-
309
- add(p1,BorderLayout.SOUTH);
310
-
311
- }
312
-
313
- public void actionPerformed(ActionEvent ev){
314
-
315
- switch(ev.getActionCommand()){
316
-
317
- case "終日": changeAllDay(); break;
318
-
319
- case "作成": doCreate(); break;
320
-
321
- case"キャンセル": doCancel(); break;
322
-
323
- }
324
-
325
- }
326
-
327
- private void changeAllDay(){
328
-
329
- boolean ck=cb_allday.isSelected();
330
-
331
- sp_time.setEnabled(true); /*⓵ここがtrueであっているのか*/
332
-
333
-                /*チェックボックスが選択されていなければ時刻スピナーを有効化する*/
334
-
335
- }
336
-
337
-
338
-
339
- private void doCreate(){
340
-
341
- String ti=tf_title.getText();
342
-
343
- String dt=de_date.getFormat().format(sp_date.getValue());
344
-
345
- String tm=de_time.getFormat().format(sp_time.getValue());
346
-
347
- boolean ad=cb_allday.isSelected();
348
-
349
- String pl=tf_place.getText();
350
-
351
- String me=ta_memo.getText();
352
-
353
- try{                       /*予定を作成する*/
354
-
355
- Schedule sc=new Schedule("yyyy/MM/dd HH:mm");/*⓶ここの引数も何を入れればいいかわかりません*/
356
-
357
- cal_sys.addSchedule(sc);
358
-
359
- dispose();
360
-
361
- }
362
-
363
- catch(ParseException e){
364
-
365
- System.err.println("エラー:日時が不正です。");
366
-
367
- }
368
-
369
- }
370
-
371
-
372
-
373
- private void doCancel(){
374
-
375
- dispose();
376
-
377
- }
397
+ public class Schedule{
398
+
399
+ private String title;
400
+
401
+ private Date date;
402
+
403
+ private boolean allday;
404
+
405
+ private String place;
406
+
407
+ private String memo;
408
+
409
+
410
+
411
+ public Schedule(String ti,String dt,String tm,boolean ad,
412
+
413
+ String pl,String dl) throws ParseException {
414
+
415
+ title=ti;
416
+
417
+ SimpleDateFormat sdf;
418
+
419
+ sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm");
420
+
421
+ date=sdf.parse(dt+" "+tm);
422
+
423
+ allday=ad;
424
+
425
+ place=pl;
426
+
427
+ memo=dl;
428
+
429
+ }
430
+
431
+ public String toString(){
432
+
433
+ return "名称:"+title+"\n"+
434
+
435
+ "日時: "+date+"\n"+
436
+
437
+ "終日: "+(allday?"○":"×")+"\n"+
438
+
439
+ "場所: "+place+"\n"+
440
+
441
+ "メモ: "+memo+"\n";
442
+
443
+ }
444
+
445
+
378
446
 
379
447
  }
380
448
 
381
449
  ```
382
-
383
- ```ここに言語を入力
384
-
385
- /*[Schedule.java]*/
386
-
387
- import java.text.*;
388
-
389
- import java.util.*;
390
-
391
-
392
-
393
- public class Schedule{
394
-
395
- private String title;
396
-
397
- private Date date;
398
-
399
- private boolean allday;
400
-
401
- private String place;
402
-
403
- private String memo;
404
-
405
-
406
-
407
- public Schedule(String ti,String dt,String tm,boolean ad,
408
-
409
- String pl,String dl) throws ParseException {
410
-
411
- title=ti;
412
-
413
- SimpleDateFormat sdf;
414
-
415
- sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm");
416
-
417
- date=sdf.parse(dt+" "+tm);
418
-
419
- allday=ad;
420
-
421
- place=pl;
422
-
423
- memo=dl;
424
-
425
- }
426
-
427
- public String toString(){
428
-
429
- return "名称:"+title+"\n"+
430
-
431
- "日時: "+date+"\n"+
432
-
433
- "終日: "+(allday?"○":"×")+"\n"+
434
-
435
- "場所: "+place+"\n"+
436
-
437
- "メモ: "+memo+"\n";
438
-
439
- }
440
-
441
-
442
-
443
- }
444
-
445
- ```
446
-
447
- ```

6

ソースコードの修正

2020/08/09 02:56

投稿

andersong
andersong

スコア7

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
  ```ここに言語を入力
54
54
 
55
- [CalendarSystem.java]
55
+ /*[CalendarSystem.java]*/
56
56
 
57
57
 
58
58
 
@@ -134,7 +134,9 @@
134
134
 
135
135
 
136
136
 
137
+ ```ここに言語を入力
138
+
137
- [ScheduleEntry.java]
139
+ /*[ScheduleEntry.java]*/
138
140
 
139
141
 
140
142
 
@@ -376,11 +378,11 @@
376
378
 
377
379
  }
378
380
 
379
-
381
+ ```
382
+
380
-
383
+ ```ここに言語を入力
381
-
382
-
384
+
383
- [Schedule.java]
385
+ /*[Schedule.java]*/
384
386
 
385
387
  import java.text.*;
386
388
 
@@ -441,3 +443,5 @@
441
443
  }
442
444
 
443
445
  ```
446
+
447
+ ```

5

ソースコードの修正

2020/08/09 02:49

投稿

andersong
andersong

スコア7

test CHANGED
File without changes
test CHANGED
@@ -298,7 +298,7 @@
298
298
 
299
299
  p1.add(bt);
300
300
 
301
- bt=new JButton(キャンセル");
301
+ bt=new JButton("キャンセル");
302
302
 
303
303
  bt.addActionListener(this);
304
304
 

4

依頼の明確化

2020/08/09 02:00

投稿

andersong
andersong

スコア7

test CHANGED
@@ -1 +1 @@
1
- Java 引数に何を指定すればよいか
1
+ Java 新規予定を作成し追加するプログラム 引数に何を指定すればよいか
test CHANGED
@@ -1,8 +1,56 @@
1
+ 1. 利用者が予定入力ダイアログの「作成」ボタンを押す。
2
+
3
+ 2. ボタンが押されたことが予定入力ダイアログに通知される。
4
+
5
+ 3. 通知を受けた予定入力ダイアログは、自分の上に配置されているGUI部品から予定を
6
+
7
+ 生成するために必要な情報を取り出し、新しい予定を作成する。
8
+
9
+ 4. 予定入力ダイアログは、生成した予定をカレンダーシステムへ追加する。
10
+
11
+ 5. カレンダーシステムは、受け取った予定をテキストエリアに追加し、予定を表示す
12
+
13
+ る。
14
+
15
+ 6. 予定入力ダイアログは、自分自身を破棄する。
16
+
17
+ 7. 予定入力ダイアログが閉じる。
18
+
19
+
20
+
21
+
22
+
1
- 引数に何を指定すればよいかわかりません
23
+ 上記のことをしたいのですが、2か所の引数に何を指定すればよいかわかりません
24
+
2
-
25
+ コード内の⓵と⓶です。
26
+
27
+ ⓵はtrueかfalseだと考えたのですが⓶のせいでエラーが起こるため確認できていません
28
+
29
+ ⓶は下記のコード以外にも入れたのですが
30
+
31
+ .\ScheduleEntry.java:119: エラー: クラス Scheduleのコンストラクタ Scheduleは指定された型に適用できません。
32
+
33
+ Schedule sc=new Schedule("yyyy/MM/dd HH:mm");/*xxxxxx*/
34
+
35
+ ^
36
+
37
+ 期待値: String,String,String,boolean,String,String
38
+
39
+ 検出値: String
40
+
41
+ 理由: 実引数リストと仮引数リストの長さが異なります
42
+
43
+ エラー1個
44
+
3
- 2か所あります。
45
+ のようなエラーが起こります。
46
+
47
+
48
+
4
-
49
+ 何を引数に指定すればよいか、回答よろしくお願いします。
50
+
51
+
52
+
5
-
53
+ ```ここに言語を入力
6
54
 
7
55
  [CalendarSystem.java]
8
56
 
@@ -302,7 +350,7 @@
302
350
 
303
351
  try{                       /*予定を作成する*/
304
352
 
305
- Schedule sc=new Schedule("yyyy/MM/dd HH:mm");/*⓶おそらくここの引数もあってので教えてください*/
353
+ Schedule sc=new Schedule("yyyy/MM/dd HH:mm");/*⓶ここの引数も何を入れればいいかわかりません*/
306
354
 
307
355
  cal_sys.addSchedule(sc);
308
356
 
@@ -330,7 +378,7 @@
330
378
 
331
379
 
332
380
 
333
- 一応とくに問題のなかったクラスも張っておきます
381
+
334
382
 
335
383
  [Schedule.java]
336
384
 
@@ -392,6 +440,4 @@
392
440
 
393
441
  }
394
442
 
395
-
396
-
397
- よろしくお願いします。
443
+ ```

3

依頼の明確化

2020/08/09 01:57

投稿

andersong
andersong

スコア7

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  引数に何を指定すればよいかわかりません
2
2
 
3
- 3か所あります。
3
+ 2か所あります。
4
4
 
5
5
 
6
6
 
@@ -58,7 +58,7 @@
58
58
 
59
59
  public void actionPerformed(ActionEvent ev){
60
60
 
61
- ScheduleEntry se=new ScheduleEntry(this); /*⓵ここがthisであっているか*/
61
+ ScheduleEntry se=new ScheduleEntry(this);
62
62
 
63
63
  se.setVisible(true);
64
64
 
@@ -278,7 +278,7 @@
278
278
 
279
279
  boolean ck=cb_allday.isSelected();
280
280
 
281
- sp_time.setEnabled(true); /*ここがtrueであっているのか*/
281
+ sp_time.setEnabled(true); /*ここがtrueであっているのか*/
282
282
 
283
283
                 /*チェックボックスが選択されていなければ時刻スピナーを有効化する*/
284
284
 
@@ -302,7 +302,7 @@
302
302
 
303
303
  try{                       /*予定を作成する*/
304
304
 
305
- Schedule sc=new Schedule("yyyy/MM/dd HH:mm");/*おそらくここの引数もあっていないので教えてください*/
305
+ Schedule sc=new Schedule("yyyy/MM/dd HH:mm");/*おそらくここの引数もあっていないので教えてください*/
306
306
 
307
307
  cal_sys.addSchedule(sc);
308
308
 

2

ソースコードの修正

2020/08/08 18:31

投稿

andersong
andersong

スコア7

test CHANGED
File without changes
test CHANGED
@@ -302,7 +302,7 @@
302
302
 
303
303
  try{                       /*予定を作成する*/
304
304
 
305
- Schedule sc=new Schedule(yyyy/MM/dd HH:mm);/*⓷おそらくここの引数もあっていないので教えてください*/
305
+ Schedule sc=new Schedule("yyyy/MM/dd HH:mm");/*⓷おそらくここの引数もあっていないので教えてください*/
306
306
 
307
307
  cal_sys.addSchedule(sc);
308
308
 

1

ソースコードの修正

2020/08/08 16:58

投稿

andersong
andersong

スコア7

test CHANGED
File without changes
test CHANGED
@@ -264,7 +264,7 @@
264
264
 
265
265
  switch(ev.getActionCommand()){
266
266
 
267
- case "終日": changeAllday(); break;
267
+ case "終日": changeAllDay(); break;
268
268
 
269
269
  case "作成": doCreate(); break;
270
270
 
@@ -362,7 +362,7 @@
362
362
 
363
363
  SimpleDateFormat sdf;
364
364
 
365
- sdf=new SimpleDateFomat("yyyy/MM/dd HH:mm");
365
+ sdf=new SimpleDateFormat("yyyy/MM/dd HH:mm");
366
366
 
367
367
  date=sdf.parse(dt+" "+tm);
368
368