用java awt怎么能把一维数据里的数组里的数据用图形的形式显示出来,数组下标为横轴,值为纵轴。

 我来答
小屠户
2013-04-14 · TA获得超过383个赞
知道小有建树答主
回答量:329
采纳率:100%
帮助的人:227万
展开全部
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JFrame;
import java.awt.*;
import java.util.*;
public class DrawShape1 extends JFrame {
int[] num=new int[]{1,4,2,4,3,8};
int[] copyNum=Arrays.copyOf(num,num.length);
final int MAXNUM;
final int DANWEI;
public DrawShape1() {
Arrays.sort(copyNum);
MAXNUM=copyNum[num.length-1];
DANWEI=(MAXNUM/10)+1;
this.setSize(600, 450);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
public void paint(Graphics g) {
Image image = createImage(getWidth(), getHeight());
DrawZuoBiao(image.getGraphics(),num);
g.drawImage(image, 0, 0, null);
}
public void DrawZuoBiao(Graphics g,int[] num){
int r=2;
g.setColor(Color.green);
g.drawLine(50,270,550,270);
g.drawLine(300,20,300,500);
for(int i=0;i<10;i++){
g.setColor(Color.red);
g.drawString(i+"",320+i*25-i,285);
g.drawString((i+1)*DANWEI+"",280,250-i*25+i);
g.setColor(Color.black);
g.fillOval(323+i*24 - r, 270 - r, r * 2, r * 2);
g.fillOval(300 - r, 247-i*24-r, r * 2, r * 2);
}
DrawArray(g);
g.dispose();
}
public void DrawArray(Graphics g){
for(int i=0;i<num.length;i++){
g.setColor(Color.pink);
g.fillRect(295+(i+1)*24,270-num[i]*24/DANWEI,8,num[i]*24/DANWEI);
g.setColor(Color.blue);
g.drawString(num[i]+"",295+(i+1)*24,270-num[i]*24/DANWEI);
}
}
public static void main(String[] args){
DrawShape1 drawshape=new DrawShape1();
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式