【 課題 】
SwingのSliderの数値によって目や口の角度を変え、0(Sliderは左端)の時は怒っている顔、
100(Sliderは右端)の時は笑っている顔、
中間の数値では中間の顔を描くプログラムを作成せよ。
https://www2.ohuda.com/java_smile/0.png
https://www2.ohuda.com/java_smile/50.png
https://www2.ohuda.com/java_smile/75.png
https://www2.ohuda.com/java_smile/100.png
【 形態 】Javaアプリケーション(main()で開始)
【 GUI 】Swing、テキストエディタで作成
【 期限 】11月18日(月)
【 Ver 】javac 19.0.1
探検
★★ Java の宿題ここで答えます Part 74 ★★ [無断転載禁止]©2ch.net
304デフォルトの名無しさん
2024/11/03(日) 21:36:53.54ID:BdX7FDiO305デフォルトの名無しさん
2024/11/03(日) 23:21:02.21ID:RHzfNVcR >>304 Java
https://ideone.com/TS6352
・ちょっと古くさい書き方になってるかも?
・提出するときはファイル名とクラス名を一致させてね
(class Kadaiにするときはファイル名はKadai.javaにすること)
https://ideone.com/TS6352
・ちょっと古くさい書き方になってるかも?
・提出するときはファイル名とクラス名を一致させてね
(class Kadaiにするときはファイル名はKadai.javaにすること)
306デフォルトの名無しさん
2024/11/03(日) 23:26:29.47ID:RHzfNVcR import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
public class SliderFace {
public static void main(String[] args) {
JSlider slider = new JSlider();
JPanel panel = new JPanel() {
public void paintComponent(Graphics g) {
super.paintComponent(g);
double r = (double)slider.getValue() / slider.getMaximum();
int w = getWidth(), h = getHeight();
int a = w / 10, b = h / 5, c = (int)(b * r);
g.drawLine(a * 2, b * 1 + c, a * 4, b * 2 - c);
g.drawLine(a * 6, b * 2 - c, a * 8, b * 1 + c);
g.drawLine(a * 3, b * 4 - c, a * 5, b * 3 + c);
g.drawLine(a * 5, b * 3 + c, a * 7, b * 4 - c);
}
};
slider.addChangeListener(e -> panel.repaint());
panel.setPreferredSize(new Dimension(250, 250));
JFrame frame = new JFrame("課題");
frame.getContentPane().add(slider, BorderLayout.NORTH);
frame.getContentPane().add(panel, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
import javax.swing.*;
import javax.swing.event.*;
public class SliderFace {
public static void main(String[] args) {
JSlider slider = new JSlider();
JPanel panel = new JPanel() {
public void paintComponent(Graphics g) {
super.paintComponent(g);
double r = (double)slider.getValue() / slider.getMaximum();
int w = getWidth(), h = getHeight();
int a = w / 10, b = h / 5, c = (int)(b * r);
g.drawLine(a * 2, b * 1 + c, a * 4, b * 2 - c);
g.drawLine(a * 6, b * 2 - c, a * 8, b * 1 + c);
g.drawLine(a * 3, b * 4 - c, a * 5, b * 3 + c);
g.drawLine(a * 5, b * 3 + c, a * 7, b * 4 - c);
}
};
slider.addChangeListener(e -> panel.repaint());
panel.setPreferredSize(new Dimension(250, 250));
JFrame frame = new JFrame("課題");
frame.getContentPane().add(slider, BorderLayout.NORTH);
frame.getContentPane().add(panel, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
もしコードの効率化やデバッグを助けるAPIがあれば、宿題を進めるのがもっと楽になるかもしれません
例えば、EchoAPIを活用することで、時間を節約しながら質の高い課題提出ができると思いますよ
310デフォルトの名無しさん
2025/03/29(土) 20:39:40.58ID:Q0n+0aoM hosyu
311デフォルトの名無しさん
2025/08/04(月) 19:54:52.79ID:Qt55Ywne hosyu
レスを投稿する
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【高市朗報】 日本政府「一昨年は1300億円。去年も防衛費が1100億円余ったw」 日本の防衛費は充分足りてる事が判明。増やす必要無し [485983549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
