import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.imageio.ImageIO;
import java.io.*;
import java.awt.image.*;
class pic extends Frame{
Image img;
double c[][]=new double[6][6];
double y1[][]=new double[6][6];
double y2[][]=new double[6][6];
String[] data=new String[500];
double[] num=new double[6];
int datanumber,s,sx;
int p1,s1,s2,s3,h;
String str;
double dc,dy;
int z1[]=new int[6];
int z2[]=new int[6];
public static void main(String[] args) {
pic f = new pic();
f.setSize(500,500);
f.setTitle("夫婦の最適所得税");
f.setBackground(Color.blue) ;
f.setVisible(true);
f.addWindowListener(new WindowAdapter(){public void
windowClosing(WindowEvent e){System.exit(0);}});
}
pic(){
readfile("data.txt");
for(s=1;s<26;s++){
str=data[s];
String[] x=str.split(">");
for(sx=0;sx<x.length;sx++){
x[sx]=x[sx].replace("<","");
num[sx]=Double.parseDouble(x[sx]);
}
s1=(int)num[0];
s2=(int)num[1];
c[s1][s2]=num[2];
y1[s1][s2]=num[3];
y2[s1][s2]=num[4];
}
s2=1;
for(s1=1;s1<5;s1++){
dc=c[s1+1][s2]-c[s1][s2];
dy=y1[s1+1][s2]-y1[s1][s2];
z1[s1]=(int)(400-300*(1-dc/dy));
z2[s1]=(int)(100+300*y1[s1][s2]);
}
}
public void paint( Graphics g ) {
Graphics2D g2 = (Graphics2D)g;
BufferedImage readImage = null;
if (readImage == null){
readImage = new BufferedImage(getWidth(), getHeight(),
BufferedImage.TYPE_INT_BGR);
}
Graphics2D off = readImage.createGraphics();
off.setColor(Color.yellow);
off.fillRect(0,0,500,500);
off.setColor(Color.blue);
off.drawLine(100,400,400,400);
off.drawLine(100,400,100,100);
off.drawString("夫の所得",300,450);
off.drawString("限界税率",20,200);
for(s1=1;s1<4;s1++){
off.drawLine(z2[s1],z1[s1],z2[s1+1],z1[s1+1]);
}
off.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
BasicStroke wideStroke = new BasicStroke(2.0f);
off.setStroke(wideStroke);
if (readImage != null){g2.drawImage(readImage,0,0, this);}
try {
boolean result =
ImageIO.write(readImage, "jpg", new File("sam.jpg"));
} catch (Exception e) {
e.printStackTrace();
}
}
void readfile(String file){
String str;
BufferedReader br;
s=0;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"SJIS"));
while((str = br.readLine()) != null) {
s=s+1;
data[s]=str;
}
br.close();
} catch (IOException e) {System.out.println(e);}
datanumber=s;
}
}
最終更新:2011年07月31日 03:17