Galera, preciso de ajuda com java.
Tenho que buscar informações do banco de dados e com essas informações preciso armazenar num ArrayList, e depois de armazenar as informações preciso usar um For para rodar o ArrayList e a cada loop criar uma nova tela igual a da imagem .
Mas eu não sei como fazer isso.
segue uma imagem do que eu preciso fazer:
-código
1. import javax.swing.*;
2. import java.awt.*;
3. import java.awt.event.*;
4. import java.util.*;
5. import java.sql.Connection;
6. import java.sql.PreparedStatement;
7. import java.sql.SQLException;
8. import java.sql.ResultSet;
9. public class BuscaDados extends JFrame {
10. private JTextArea txtA;
11. private ArrayList<JTextArea> txtArea;
12. private String sugestao;
13. private int idSugestao;
14.
15. public BuscaDados(ArrayList<JTextArea> txtArea){
16. txtArea = new ArrayList<JTextArea>();
17. }
18. public BuscaDados(String sugestao){
19. this.sugestao = sugestao;
20. }
21. public BuscaDados(String sugestao, int idSugestao){
22. this.sugestao = sugestao;
23. this.idSugestao = idSugestao;
24. }
25. public BuscaDados(){
26. super("Tela");
27.
28. txtA = new JTextArea(5,5);
29. txtA.setLineWrap(true);
30.
31. Container tela = getContentPane();
32. tela.setLayout(new BorderLayout());
33.
34. tela.add(txtA, BorderLayout.NORTH);
35.
36. setVisible(true);
37. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
38. setSize(300,300);
39. this.setLocationRelativeTo(null);
40. }
41.
42. public String getSugestao(){
43. return sugestao;
44. }
45. public int getIdSugestao(){
46. return idSugestao;
47. }
48. public ArrayList<JTextArea> txtArea(){
49. return txtArea;
50. }
51. public void setSugestao(String sugestao){
52. this.sugestao = sugestao;
53. }
54. public void setIdSugestao(int idSugestao){
55. this.idSugestao = idSugestao;
56. }
57. public void setTxtArea(ArrayList<JTextArea> txtArea){
58. this.txtArea = txtArea;
59. }
60. public void buscarSugestao(Connection conn){
61. ArrayList<JTextArea> txtArea = buscarSugestoes(conn);
62. }
63. /*public void adicionarSugestao(){
64. txtArea.add(lista); (erro)
65. }*/
66. public void carregar(Connection conn) {
67. String sqlSelect = "SELECT id, sugestao FROM tabelaTeste WHERE id_sugestao = ?";
68. try (PreparedStatement stm = conn.prepareStatement(sqlSelect);) {
69. stm.setInt(1, getIdSugestao());
70. try (ResultSet rs = stm.executeQuery();) {
71. if (rs.next()) {
72. setIdSugestao(rs.getInt("id"));
73. setSugestao(rs.getString("sugestao"));
74. }
75. }
76. catch (Exception e) {
77. e.printStackTrace();
78. }
79. }
80. catch (SQLException e1) {
81. System.out.print(e1.getStackTrace());
82. }
83. }
84.
85. public ArrayList<JTextArea> buscarSugestoes(Connection conn){
86. String sqlSelect = "SELECT id, sugestao FROM tabelaTeste ";
87. ArrayList<String> lista = new ArrayList<>();
88.
89. try(PreparedStatement stm = conn.prepareStatement(sqlSelect);
90. ResultSet rs = stm.executeQuery();){
91. while(rs.next()){
92. BuscaDados bd = new BuscaDados();
93. bd.setIdSugestao(rs.getInt("id"));
94. bd.setSugestao(rs.getString("sugestao"));
95. //lista.add(bd); (erro)
96. }
97. }
98. catch(Exception e){
99. e.printStackTrace();
100. }
101. //return lista; (erro)
102. }
103. public static void main(String [] args){
104. new BuscaDados();
105. }
106. }
isso é o que eu consegui, eu não consegui fazer o for.
se puderem me ajudar explicando o que eu tenho que fazer, ficarei grato.
PS: estou postando de novo, dessa vez com o código, e tentei explicar melhor meu problema. ( caso tenha problema de postar de novo, removam sem problemas).