我需要安裝一個屏幕,我從數據庫中搜索的信息。 爲此,我搜索了信息並將其存儲在ArrayList
中。我需要使用for
循環來通過ArrayList
和每個循環來安裝JTextArea
。我有一個Java的GUI,我不知道如何繼續
我試圖讓for
循環通過ArrayList
去安裝屏幕,但我什麼也做不了。
屏幕代碼:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
public class TelaSugestao extends JFrame implements ActionListener {
public void actionPerformed(ActionEvent e) {}
private JTextArea txtArea;
private Sugestao sugestao;
private Connection conn;
public TelaSugestao(Connection conn) {
super("Tela sugestao");
txtArea = new JTextArea(3,3);
this.conn = conn;
Container caixa = getContentPane();
caixa.setLayout(new FlowLayout());
caixa.add(txtArea);
setSize(432,400);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
// Trying to mount the screen every time the For runs the ArrayList.
public void montaTela() {
Sugestao sugestao = new Sugestao();
ArrayList<Sugestao> listaSugestao = sugestao.carregaSugestao(conn);
for (int i = 0; i < listaSugestao.size(); i++) {
}
}
}
我在尋找數據庫中的信息是這樣的:
public ArrayList<Sugestao> carregaSugestao(Connection conn) {
String sqlSelect = "Select id, sugestao from tabelaTeste where id_sugestao = ?";
ArrayList<Sugestao> listaSugestao = new ArrayList<>();
try (PreparedStatement stm = conn.prepareStatement(sqlSelect);) {
stm.setInt(1, getIdSugestao());
try (ResultSet rs = stm.executeQuery();) {
while (rs.next()){
Sugestao s = new Sugestao();
s.setIdSugestao(rs.getInt("id_sugestao"));
s.setSugestao(rs.getString("sugestao"));
listaSugestao.add(s);
guardaSugestao = carregaSugestao(conn);
}
} catch (Exception e) {
e.printStackTrace();
}
} catch (SQLException e1) {
System.out.print(e1.getStackTrace());
}
return listaSugestao;
}
能否請你解釋如何做到這一點?
你想爲你的數組列表中的每個對象都創建一個新的textarea?或者你想寫你的數組列表中的文本到textare? – XtremeBaumer
這是一個針對每個對象的textarea,我的arraylist包含 谷歌翻譯,對不起 –