MySqlを使用してボタンを生成するだけです。 ボタン関連のデータ(名前など)を格納しているMySql DBがある 今、私は各エントリに対して独自のボタンを生成しようとしました。デバッグはコンソールに表示されますが、ボタンは表示されません。任意のアイデアやヒント。アドバイスを受けたいですか? 1つのクラススイングと1つのmysqlリクエストをすべて処理します。(Java/MySQl)デイナナミックボタンを生成する
import javax.swing.*;
import java.awt.event.*;
public class swing {
static JFrame frame = new JFrame("MainMenu");
static JPanel panel = new JPanel();
public static void main(String[] args) {
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300,300);
frame.add(panel);
JButton button = new JButton("Dursuchen");
panel.add(button);
button.addActionListener(new search());
}
public static void addButton(String name){
JPanel rowPanel = new JPanel();
System.out.println("addButton " + name);
JButton button = new JButton(name);
rowPanel.add(button);
//button.addActionListener(new search());
}
static class Action implements ActionListener{
public void actionPerformed(ActionEvent e){
JFrame frame2 = new JFrame("Clicked");
frame2.setVisible(true);
frame2.setSize(200,200);
JLabel label = new JLabel();
JPanel panel = new JPanel();
frame2.add(panel);
panel.add(label);
}
}
static class search implements ActionListener{
public void actionPerformed(ActionEvent e){
Search.getAllFromKat(0);
}
}
}
ここで私はaddButton()を呼び出します。 この部分は、別のクラスにmysqlaccess.java
public static void showAllFromKat(int ID){
con = getInstance();
if(con != null){
Statement query;
try{
query = con.createStatement();
String sql =
"SELECT * FROM learn_themen_db";
ResultSet result = query.executeQuery(sql);
while(result.next()){
int KatID = result.getInt("Kat_ID");
String DisplayName = result.getString("Display_Name");
if(KatID == ID){
System.out.println(DisplayName);
swing.addButton(DisplayName);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
ボタンを追加した後のRepaint()? –
rowPanelはJFrameにどこに追加されていますか? – josemr
rowPanel is not added私はそれを削除しました。それはただのテストだった。 Repaint()はどのように機能しますか? – StonedLover