【发布时间】:2013-12-29 21:49:11
【问题描述】:
我正在制作这个小程序,它从头开始显示 mysql 数据库中的信息(无需拖放)。 好的,所以我尝试使用带有拖放方法的 NetBeans,练习如何使用来自 mysql 数据库的信息填充 JTable,它就像一个魅力。 但是当我对它进行硬编码时(如果那是术语)它就行不通了。 这是我的代码。对不起,如果它凌乱或什么我仍然是一个菜鸟。
import java.sql.*;
import java.awt.Dimension;
import javax.swing.*;
import net.proteanit.sql.DbUtils;
public class Main extends JFrame{
Connection conn = null;
ResultSet rs = null;
PreparedStatement pst = null;
public JLabel label1,label2,label3,background;
public JButton button1 , button2 , button3;
public JTable table = new JTable();
//query for updating the JTable
public void UpdateJTable(){
String sql = "SELECT name , TypeDebt , amount , DateDebt,Due_Date from btable";
try{
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
}catch(Exception xe){
JOptionPane.showMessageDialog(null, "error");
}
}
//WindowEvent code
private void formWindowOpened(java.awt.event.WindowEvent evt){
conn = sqlconnection.ConnectDb();
UpdateJTable();
}
//constructor to be called in the main method
public Main(){
init();
}
//method for the GUI of the program
public void init(){
// Images for the buttons
ImageIcon img = new ImageIcon("C:\\Users\\janyjan\\Pictures\\addbutton.jpg");
ImageIcon img2 = new ImageIcon("C:\\Users\\janyjan\\Pictures\\searchbutton.jpg");
ImageIcon img3 = new ImageIcon("C:\\Users\\janyjan\\Pictures\\deletebutton.jpg");
// frame components/attributes
setLayout(null);
getContentPane();
setTitle("DEBT LIST");
setResizable(false);
JLabel background=new JLabel(new ImageIcon("C:\\Users\\janyjan\\Pictures\\background.jpg"));
background.setBounds(0,0,700,600);
add(background);
setVisible(true);
setSize(700,600);
getContentPane();
setLocationRelativeTo(null);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});
//Button attributes - Location and Designs
button1 = new JButton();
button1.setBounds(30,130,150,30);
button1.setIcon(img);
background.add(button1);
button2 = new JButton();
button2.setBounds(30,90,150,30);
button2.setIcon(img2);
background.add(button2);
button3 = new JButton();
button3.setBounds(30,170,150,30);
button3.setIcon(img3);
background.add(button3);
//Jtable attribute and location
JTable table = new JTable();
table.setModel(new javax.swing.table.DefaultTableModel(
new Object [][]{
{null , null , null , null , null},
{null , null , null , null , null},
{null , null , null , null , null},
{null , null , null , null , null},
{null , null , null , null , null},
{null , null , null , null , null},
{null , null , null , null , null},
{null , null , null , null , null},
{null , null , null , null , null}
},
new String []{
"name" , "TypeDebt" , " amount " , "DateDebt" , "Due_Date"
}
));
table.setPreferredScrollableViewportSize(new Dimension(300,400));
table.setSelectionBackground(getBackground());
JScrollPane scrollpane = new JScrollPane(table);
scrollpane.setBounds(200, 60, 490, 490);
background.add(scrollpane);
}
// Main Method
public static void main(String args[]){
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Main();
}
});
}//end of main method
}//end of class Main
【问题讨论】:
-
从避免
null布局开始,了解如何使用layout managers
标签: java mysql sql swing jtable