24/11/03 21:36:53.54 BdX7FDiO.net
【 課題 】
SwingのSliderの数値によって目や口の角度を変え、0(Sliderは左端)の時は怒っている顔、
100(Sliderは右端)の時は笑っている顔、
中間の数値では中間の顔を描くプログラムを作成せよ。
URLリンク(www2.ohuda.com)
URLリンク(www2.ohuda.com)
URLリンク(www2.ohuda.com)
URLリンク(www2.ohuda.com)
【 形態 】Javaアプリケーション(main()で開始)
【 GUI 】Swing、テキストエディタで作成
【 期限 】11月18日(月)
【 Ver 】javac 19.0.1
309:デフォルトの名無しさん
24/11/03 23:21:02.21 RHzfNVcR.net
>>308 Java
URLリンク(ideone.com)
・ちょっと古くさい書き方になってるかも?
・提出するときはファイル名とクラス名を一致させてね
(class Kadaiにするときはファイル名はKadai.javaにすること)
310:デフォルトの名無しさん
24/11/03 23:26:29.47 RHzfNVcR.net
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);
}
}
311:304
24/11/03 23:53:19.56 V+C1yv6A.net
>>309-310
素早い回答に感謝します。
ありがとうございました。
312:デフォルトの名無しさん
24/11/04 21:05:20.22 /bKvtSDl.net BE:629052145-2BP(1000)
URLリンク(img.5ch.net)
もしコードの効率化やデバッグを助けるAPIがあれば、宿題を進めるのがもっと楽になるかもしれません
例えば、EchoAPIを活用することで、時間を節約しながら質の高い課題提出ができると思いますよ
313:
25/01/01 08:42:09.60 mXXjs4NT.net
!omikuji!dama!ken:100
314:デフォルトの名無しさん
25/03/29 20:39:40.58 Q0n+0aoM.net
hosyu
315:デフォルトの名無しさん
25/04/03 16:38:25.75 2Wz0hc5zN
巣で死ね
316:デフォルトの名無しさん
25/08/04 19:54:52.79 Qt55Ywne.net
hosyu