2012-08-09 3 views
1

텍스트의 한 부분에서 단어 패턴을 찾는 코드를 만들었으므로 문자가 아닌 것은 모두 할인됩니다. 그래서 기본적으로 'hello world it lovely day'라는 텍스트는 1, 2, 1, 2, 1을 제공합니다. 애플릿은 기본 텍스트 형식으로 표시하며 원하는 것은 막대 차트에 결과를 표시하는 것입니다. .배열이있는 Java 애플릿에 막 대형 차트를 그려야합니다.

나는 원칙적으로 어떻게 해야할지 알기 때문에 배열에서 데이터를 연결하고 그리기 위해 애플릿을 가져온 다음 주어진 값에 따라 너비가 증가해야합니다 (카트가 가로로 당신이 내 말 뜻을 이해한다면 바가 수직으로 시작하는 기본베이스)

내 문제는이 코드를 어떻게 수행해야할지 모르겠다. 어떻게 시작해야할지 모르겠다. 도움을 많이 주시면 감사하겠습니다. 당신은 자바처럼 차트와 물건을 그릴 필요, 내가 JFreechart를 사용하도록 제안하는 경우

여기 내 코드

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); 
    } 



} 

답변

4

입니다. 매우 강력하고 유연하며 바퀴를 다시 구현하는 대신 많은 시간을 절약 할 수 있습니다.

관련 문제