![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Java JPanelを使ったコードについての質問です
ごめんなさい。切れてしまいました・・・
http://soudan1.biglobe.ne.jp/qa5885595.htmlからの質問です
下記がコードの続きです。どうぞよろしくお願いします
public void actionPerformed(ActionEvent bt)
{
dop.repaint();
}
class DrawOvalPane extends JPanel
{
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if((t1.getText().equals("") || t1.getText().equals(null)) &&
(t2.getText().equals("") || t2.getText().equals(null)) &&
(t3.getText().equals("") || t3.getText().equals(null)) &&
(t4.getText().equals("") || t4.getText().equals(null)))
{
return;
}
try
{
h = Integer.parseInt(t1.getText());
m = Integer.parseInt(t2.getText());
l = Integer.parseInt(t3.getText());
n = Integer.parseInt(t4.getText());
}
catch (NumberFormatException nfe)
{
System.out.println(nfe);
}
int total = h + m + l + n;
w = 360 * (h/total);
x = 360 * (m/total);
y = 360 * (l/total);
z = 360 * (n/total);
g.setColor(Color.red);
g.fillArc(200, 100, 300, 300, 90, -w);
g.setColor(Color.blue);
g.fillArc(200, 100, 300, 300, 90-w, -x);
g.setColor(Color.yellow);
g.fillArc(200, 100, 300, 300, 90-w-x, -y);
g.setColor(Color.pink);
g.fillArc(200, 100, 300, 300, 90-w-x-y, -z);
}
}
public Dimension getMinimumSize()
{
return new Dimension(700,550);
}
public Dimension getPreferredSize()
{
return getMinimumSize();
}
class SampleActionListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
dop.repaint();
}
}
}
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?e8efa67)
No.1ベストアンサー
- 回答日時:
エラーの原因はimport文が無いからです。
以下のimport文を追加してください。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
この事以外では角度の計算部分でintだけを使って計算しているので計算結果がゼロになってしまい円グラフが表示できません。
計算途中でdoubleも利用すると解決できます。
例としてはこんな感じです。
double total = h + m + l + n;
double wd = 360 * (h/total);
w = (int)wd ;
double xd = 360 * (m/total);
x = (int) xd;
double yd = 360 * (l/total);
y = (int)yd;
z = 360 - w -x -y ;
ありがとうございます、無事解決しました!
import文は文字制限が理由で外してました・・・
円グラフのfillArcはintじゃないと0が取られるのですね。
助かりました、また機会があったらよろしくお願いします!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Visual Basic(VBA) Visual Basic : ImageListの画像がそろったときにメッセージを表示 1 2023/07/20 13:53
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実数からの小数部の取得
-
べき乗
-
Javaで何パーセント%かを表示...
-
0dの意味を教えてください
-
C言語のポインターに関する警告
-
ループ処理の際、最後だけ","を...
-
EXCEL VBA で、0から?1から?
-
JSPやサーブレットでSystem.out...
-
ActionForm form にnullが入っ...
-
Java配列でNullPointerExceptio...
-
オブジェクトの中のプロパティ...
-
パソコンキーボードで時分秒を...
-
大量のデータを読み込んで表示...
-
数字文字列をパック10進数に変...
-
privateなフィールドは継承され...
-
javaで質問です。 文字列2023/2...
-
IF関数でEmpty値を設定する方法。
-
StrutsでJSPからListを受け取り...
-
戻り値を使用する呼出
-
論理演算子”||”またはの入力方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0dの意味を教えてください
-
べき乗
-
Javaで何パーセント%かを表示...
-
実数からの小数部の取得
-
double型変数値の整数部分のみ...
-
doubleとintの違い
-
double型の足し算について
-
最大値と最小値の求め方
-
少数50桁以上を表示するには
-
自然対数の底Eを含むStringの数...
-
Java言語プログラミングについ...
-
Javaプログラムのフローチャー...
-
モンテカルロ法を用いた球の体...
-
printfでのエラーがわからない...
-
double型で収まりきれない小数...
-
Javaで計算
-
JAVAのプログラムで、2乗計算...
-
フラクタルで雲を作る。
-
doubleで入力するには?
-
プログラムのおかしいところを...
おすすめ情報