【 課題 】
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
レスを投稿する
ニュース
- 自民・麻生太郎 副総裁 石破政権の1年は「どよーん」 高市政権の発足で「何となく明るくなった」「世の中のことが決まり動いている」 [Hitzeschleier★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【27歳会社員】「自慰行為に使うために」コインランドリーの乾燥機から24歳女性の下着など計11点(時価8万2080円相当)盗んだ疑い [nita★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- トランプ、G7に代わるcore 5を発表 [805596214]
- 為末大「ラーメン屋の行列を、年寄りが1万円渡してきて順番譲ってくれと言ったら? 答えられない問題だよ。」 [592058334]
- 麻生太郎が石破政権の1年を酷評「どよーんとして何も動かない感じだったな。それに引き換え高市政権は物事が動いている」 [597533159]
- 【速報】室井佑月、米山隆一との離婚を決意wwwwwwwwwwwwwwwwwwww [802034645]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★4
- 官僚「台湾有事についての質問か、『政府として逐一答えない』と…(カタカタカタ)」高市「私1人で答弁できるわよ!」 [972432215]
