【问题标题】:draw a bar chart in java applet with array用数组在java小程序中绘制条形图
【发布时间】:2012-08-06 13:42:48
【问题描述】:

我创建了一个代码,用于在一段文本中查找单词模式,它会忽略任何不是字母的内容。所以基本上文本'hello world it is a lovely day'会给出1、2、1、2、1。 小程序以基本文本格式显示它,我想要的是它在条形图中显示结果。

原则上我知道怎么做,我需要从我的数组中链接我的数据并让我的小程序来绘制它,然后根据给定的值增加宽度(购物车将水平绘制,使用主基地,酒吧从垂直开始的地方,如果你明白我的意思)

我的问题是,我不知道如何执行此代码,我不知道如何启动它,任何帮助将不胜感激。

这是我的代码

import java.util.*;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;



public class Clarke_J_resitAss  extends Applet implements ActionListener

{
    Button pr_input1, pr_input2;
    Label pr_label;
    TextField pr_text;
    String pr_name;

    public void init()

    {
        pr_input1 = new Button("Analyze");
        pr_input2 = new Button("Reset");
        add(pr_input1);
        add(pr_input2);
        pr_input1.addActionListener(this);
        pr_input2.addActionListener(this);
        //add the buttons with action listeners
        pr_label = new Label("Word Pattern");
        add(pr_label);
        pr_text = new TextField();
        add(pr_text);
        pr_text.addActionListener(this);
        //add text field
    }    
    public void start()
    {           
        pr_name="";
            setSize(400,400);
            setBackground(Color.gray);
        pr_text.setBackground(Color.white);      
    }

    public void actionPerformed(ActionEvent e){



    pr_name = e.getActionCommand();
    repaint();
        if(e.getSource() == pr_input1)
            pr_name = pr_text.getText();
        else
            if(e.getSource() == pr_input2)
            {   pr_name = "";        
                pr_text.setText("");
                pr_label.setText("Word Pattern");
                }
         repaint();
             // The user's input from the text area.                     
            int pr_char;

            String array[]=pr_name.split(" ");
           int counter=0;
           for(int i=0;i<array.length;i++){
               int length = array[i].replaceAll("[^A-Za-z]", "").length();
               if(counter<length)
                   counter=length;}
           int intArray[]=new int[counter];
           for(int i=0;i<intArray.length;i++){
               intArray[i]=0;
           }
           for(int i=0;i<array.length;i++){
               intArray[array[i].replaceAll("[^A-Za-z]", "").length()-1]++;
           }
           String a="";
           for(int i=0;i<intArray.length;i++){
               if(intArray[i]>0)
               {
                a+=String.valueOf(intArray[i]);
                a+=", ";
               }
           }
           pr_label.setText(a);


           pr_char = pr_name.length(); 
    }

    public void paint(Graphics g)
    {

      pr_text.setSize(400, 200);
      pr_text.setLocation(0,0);
      pr_input1.setLocation(0,220);
      pr_input2.setLocation(337,220);
      pr_label.setLocation(0,270);
      pr_label.setSize(400,30);
    }



}

【问题讨论】:

    标签: java arrays swing charts


    【解决方案1】:

    如果你需要用 Java 绘制图表之类的东西,我建议你使用JFreechart。它非常强大和灵活,可以为您节省大量时间,而不是重新实现轮子。

    【讨论】:

      【解决方案2】:

      如果你真的想自己写一篇文章,试着通读一遍

      【讨论】:

        猜你喜欢
        • 2016-02-23
        • 1970-01-01
        • 2021-02-24
        • 1970-01-01
        • 2012-10-23
        • 2013-01-13
        • 1970-01-01
        • 2012-12-04
        • 1970-01-01
        相关资源
        最近更新 更多