java
数字を描いた画像ファイルを読み込んで並べていき今月のカレンダーを作りたいのですが、
うまくいきません。具体的に言うと、カレンダーの一日を決めるためにを使いw=0で日曜日にして初めの画像を張り付ける座標を決めたいのですが、public static void main(String[] args) 内のwを値を保持したままpublic void paintComponent(Graphics g) 内でも使えるようにするにはどうすればよいのでしょうか、プログラムはまだ途中なのでおかしいところもあると思いますが、wの値に困っているのでお願いします。
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class R3_2_1 extends JPanel {
BufferedImage[] img = new BufferedImage[10];
public R3_2_1() { try { img[0] = ImageIO.read(new File("0.png")); img[1] = ImageIO.read(new File("1.png")); img[2] = ImageIO.read(new File("2.png")); img[3] = ImageIO.read(new File("3.png")); img[4] = ImageIO.read(new File("4.png")); img[5] = ImageIO.read(new File("5.png")); img[6] = ImageIO.read(new File("6.png")); img[7] = ImageIO.read(new File("7.png")); img[8] = ImageIO.read(new File("8.png")); img[9] = ImageIO.read(new File("9.png")); } catch (Exception ex) { ex.printStackTrace(); System.exit(-1); } } public static void main(String[] args) { Calendar today = new GregorianCalendar(); int year = today.get(Calendar.YEAR); int month = today.get(Calendar.MONTH) + 1; int date = today.get(Calendar.DATE); int m_len = today.getActualMaximum(Calendar.DATE); int w = today.get(Calendar.DAY_OF_WEEK ) ; JFrame app = new JFrame(); app.add(new R3_2()); app.setSize(1200, 1200); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); app.setVisible(true);} public void paintComponent(Graphics g) { for(int i=0;i<35;i++) { g.drawImage(img[i], w, 0, 40, 40, null); } } }
回答1件
あなたの回答
tips
プレビュー