回答編集履歴
1
コードミス
answer
CHANGED
@@ -15,9 +15,8 @@
|
|
15
15
|
class MyFrame extends JFrame {
|
16
16
|
int w;
|
17
17
|
|
18
|
-
MyFrame(
|
18
|
+
MyFrame(int w) { // constructorで必要な情報を受け取り
|
19
|
-
|
19
|
+
this.w = w; // それをインスタンスフィールドへ覚える
|
20
|
-
this.w = w;
|
21
20
|
...
|
22
21
|
setDefaultCloseOperation(EXIT_ON_CLOSE);
|
23
22
|
pack();
|
@@ -25,6 +24,7 @@
|
|
25
24
|
|
26
25
|
@Override
|
27
26
|
public void paintComponent(Graphics g) {
|
27
|
+
// this.wに必要な値が入ってるのでそれを参照すればよい
|
28
28
|
...
|
29
29
|
}
|
30
30
|
|
@@ -35,7 +35,7 @@
|
|
35
35
|
// このクラスは一々定義せず、MyFrameに直接mainメソッドを書くことも多いです。
|
36
36
|
class Main {
|
37
37
|
public static void main(String[] args) {
|
38
|
-
...wを計算する
|
38
|
+
int w = ...; // wを計算する
|
39
39
|
MyFrame myFrame = new MyFrame(w);
|
40
40
|
// setVisibleだけはmainでやるのがよいです。理由は長くなるので省略します。
|
41
41
|
myFrame.setVisible(true);
|