
Imprimir un patron en un JTextArea
Publicado por Luis (2 intervenciones) el 04/06/2014 05:33:30
Hola, soy nuevo en el foro y tambien en el mundo de java, actualmente me he puesto a estudiar este lenguaje con el libro Java for Students!
Bueno todo iba de maravilla hasta que llegue a una parte que no logro entender. Se trata de escribir un programa que muestre un patron de diente de sierra en un area de texto. Por area de texto supongo que se refiere a un JTextArea.
Deberia ser algo asi:
S
SS
SSS
SSSS
S
SS
SSS
SSSS
S
SS
SSS
SSSS
este es mi codigo:
Si imprimo todo esto usando System.Out.Prinln funciona, pero en el JTextArea no quiere!
Segun yo deberia funcionar pero no me muestra nada, anteriormente habia hecho una trampilla haciendo esto:
Pero esa no seria una solucion muy buena que digamos, segun yo debe ser con ciclos anidados, pero al parecer mi codigo no me respeta los for que quiero usar, tal vez este omitiendo algo!
Espero que alguien me pueda ayudar a encontrar una solucion! :D
Bueno todo iba de maravilla hasta que llegue a una parte que no logro entender. Se trata de escribir un programa que muestre un patron de diente de sierra en un area de texto. Por area de texto supongo que se refiere a un JTextArea.
Deberia ser algo asi:
S
SS
SSS
SSSS
S
SS
SSS
SSSS
S
SS
SSS
SSSS
este es mi codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class sawPattern extends JFrame implements ActionListener {
private JButton button;
private JTextArea area;
public static void main(String[] args) {
sawPattern sawPattern = new sawPattern();
sawPattern.setSize(300, 400);
sawPattern.createGUI();
sawPattern.setVisible(true);
sawPattern.setResizable(false);
}
private void createGUI() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container window = getContentPane();
window.setLayout(new FlowLayout());
area = new JTextArea(17,10);
area.setBackground(Color.red);
area.setForeground(Color.white);
area.setEditable(false);
window.add(area);
window.setLayout(new FlowLayout());
button = new JButton("Display");
window.add(button);
button.addActionListener(this);
}
public void actionPerformed(ActionEvent event) {
for(int i = 1; i <= 3; i++)
for(int j = 1; j <= 4; j++) {
for(int k = 0; k < j; k++)
area.setText("S\n");
area.setText("\n");
}
}
}
Si imprimo todo esto usando System.Out.Prinln funciona, pero en el JTextArea no quiere!
Segun yo deberia funcionar pero no me muestra nada, anteriormente habia hecho una trampilla haciendo esto:
1
area.setText("S\nSS\nSSS\nSSSS\n\nS\nSS\nSSS\nSSSS\n\nS\nSS\nSSS\nSSSS\n\n)
Pero esa no seria una solucion muy buena que digamos, segun yo debe ser con ciclos anidados, pero al parecer mi codigo no me respeta los for que quiero usar, tal vez este omitiendo algo!
Espero que alguien me pueda ayudar a encontrar una solucion! :D
Valora esta pregunta


0