回答編集履歴
2
fillOval
test
CHANGED
@@ -57,11 +57,19 @@
|
|
57
57
|
@Override public void paintComponent(Graphics g) {
|
58
58
|
super.paintComponent(g);
|
59
59
|
|
60
|
+
// g.setColor(Color.CYAN);
|
61
|
+
// int diameter = slider.getValue();
|
62
|
+
// int radius = diameter / 2;
|
63
|
+
// int x = 400 / 2 - radius;
|
64
|
+
// int y = 400 / 2 - radius;
|
65
|
+
// g.fillOval(x, y, diameter, diameter);
|
66
|
+
|
60
67
|
Graphics2D g2 = (Graphics2D) g;
|
61
68
|
g2.setColor(Color.CYAN);
|
62
69
|
|
63
70
|
int diameter = slider.getValue(); // 円の直径
|
71
|
+
|
64
|
-
double radius = diameter / 2d;// 円の半径
|
72
|
+
double radius = diameter / 2d; // 円の半径
|
65
73
|
double x = 400 / 2d - radius; // xは左上座標のため、描きたい中心より半径ぶん左
|
66
74
|
double y = 400 / 2d - radius; // yは左上座標のため、描きたい中心より半径ぶん上
|
67
75
|
|
1
嘘コメントorz
test
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
22
22
|
frame.setResizable(false); // nullレイアウトのためリサイズされたくない
|
23
23
|
frame.add(new TestPanel());
|
24
|
-
frame.pack(); // TestPanelのサイズにframeを合わせる(frameは
|
24
|
+
frame.pack(); // TestPanelのサイズにframeを合わせる(frameは400x400より大きくなる)
|
25
25
|
frame.setLocationRelativeTo(null); // 画面中央に表示(pack後でないとずれる)
|
26
26
|
frame.setVisible(true);
|
27
27
|
}
|
@@ -32,7 +32,7 @@
|
|
32
32
|
TestPanel() {
|
33
33
|
setLayout(null);
|
34
34
|
setBackground(Color.WHITE);
|
35
|
-
// (タイトルバーや枠を含まない)クライアントエリアを
|
35
|
+
// (タイトルバーや枠を含まない)クライアントエリアを400x400に設定(正しく中央寄せにできる)
|
36
36
|
setPreferredSize(new Dimension(400, 400));
|
37
37
|
|
38
38
|
label = new JLabel("test");
|