2013-10-07 4 views
0

저는 Java로 프로그래밍하는 것을 배우고 있으며, 제 첫 번째 GUI 응용 프로그램을 만들고 있습니다. 그것은 100 임의의 숫자를 만드는 방법에 대해. 내가 처음이 같은 cmd를에 그것을했다 :JTextArea에 인쇄하는 방법

import javax.swing.*; 

import java.awt.event.*; 

import java.awt.*; 

public class GUIRandomNumbers extends JFrame implements ActionListener{ 

     public JTextArea area; 
    public JScrollPane scroll; 
    public JButton button; 

    public RandomNumbers(){ 
     setLayout(null); 
     area = new JTextArea(); 
     area.setEditable(false); 
     scroll = new JScrollPane(area); 
     scroll.setBounds(10, 10, 400, 300); 
     add(scroll); 

     button = new JButton("Generate"); 
     button.setBounds(10, 650, 100, 25); 
     add(button); 
     button.addActionListener(this); 
    } 

    public void actionPerformed(ActionEvent e){ 
     float n = 100; 
     float m = 1513; 
     float a = 19713; 
     float x = 177963; 
     float c = 1397; 
     float r; 
     float i; 
     if(e.getSource()==button){ 
      for(i=0;i<=n;i++){ 
       r = (a*x+c)%m; 
       x = r; 
       r = r/m; 

       area.setText(String.valueOf(r)); 
      } 

     } 
    } 


    public static void main(String[] args) { 


     RandomNumbers p1 = new RandomNumbers(); 
     p1.setBounds(0, 0, 500, 750); 
     p1.setVisible(true); 

    } 

} 
: 내가 텍스트 영역에 100 개 임의의 숫자를 인쇄하려고 어떤 이유

public class RandomNumbers { 

public static void main(String[] args){ 

     float n = 100; 
     float m = 1513; 
     float a = 19713; 
     float x = 177963; 
     float c = 1397; 
     float r; 
     float i; 

     for(i=0;i<=n;i++){ 
      r = (a*x+c)%m; 
      x = r; 
      r = r/m; 

      System.out.println(r); 
     } 
    } 
} 

, 그것은 단지 코드 누구죠 저를 인쇄

무엇이 문제 일 수 있습니까? 나는 너의 도움에 정말로 감사 할 것이다.

미리 감사드립니다.

+1

귀하의 코드 나던이

area.append(String.valueOf(r) + "\n\r"); 

도 – Reimeus

+0

문자열 텍스트 아닌 컴파일을 사용하면, 텍스트는 포맷 된 문자열입니다. –

답변

3

대신

area.setText(String.valueOf(r)); 
2

setText(String) 메서드는 이전 텍스트를 바꿉니다. area.append(String) 방법을 사용하십시오. docs

Accordint은 문서의 끝 부분에 지정된 텍스트를 추가합니다. 모델이 null의 경우, 또는 캐릭터 라인이 null 또는 하늘의 경우는 아무것도하지 않습니다.

5

당신이

area.setText(String.valueOf(r));

가 새로운 텍스트로 텍스트 영역의 텍스트를 덮어 쓰기 할 때.

대신

area.append(String); 

방법을 사용해야합니다.

+0

appens 대신 append를 변경하여 주셔서 감사합니다. – bucksnort2

0

는 처음에 나는 당신이

GUIRandomNumbers p1 = new GUIRandomNumbers(); 

당신은 단지 하나의 번호가 하나 개의 숫자가 다른 위에 기록 된 것입니다 볼 수 있습니다 이유를 의미하는 것으로 가정합니다. 나는 당신이 textArea에 100 번 난수를 쓰는 것을 의미합니다!

area.append("text"); 은 작업을 수행 할 방법입니다!