0
我只是嘗試通過MySql生成按鈕。 我得到了一個MySql數據庫,我存儲按鈕相關數據(名稱等) 現在我試圖爲每個條目生成一個自己的按鈕。 Debug不會在控制檯中打印,但按鈕不會顯示出來。任何想法或提示。想獲得建議。我得到了一個類的swing和一個處理所有mysql請求的地方。(Java/MySQl)生成daynamic按鈕
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);
}
}
}
MySql我調用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();
}
}
}
'在重新添加按鈕後重新繪製()'? –
將rowPanel添加到JFrame中的位置在哪裏? – josemr
rowPanel未添加我刪除它。這只是一個測試。 Repaint()如何工作? – StonedLover