私はデータベースから検索した情報を画面に表示する必要があります。 これについては、私は情報を検索し、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;
}
あなたがこれを行う方法を説明してくださいもらえますか?
あなたは、あなたのarraylistのすべてのオブジェクトの新しいテキストエリアが必要ですか?あなたの配列リストに含まれるテキストをテキストに書きたいのですか? – XtremeBaumer
これは、私のarraylistが含まれているすべてのオブジェクトのテキストエリアです Google翻訳者、申し訳ありません –