回答編集履歴

2

fillOval

2024/02/14 03:38

投稿

TN8001
TN8001

スコア9363

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

2024/02/13 12:15

投稿

TN8001
TN8001

スコア9363

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は800x800より大きくなる)
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
- // (タイトルバーや枠を含まない)クライアントエリアを800x800に設定(正しく中央寄せにできる)
35
+ // (タイトルバーや枠を含まない)クライアントエリアを400x400に設定(正しく中央寄せにできる)
36
36
  setPreferredSize(new Dimension(400, 400));
37
37
 
38
38
  label = new JLabel("test");