2013-07-18 15 views
0

這是我的第一個類名ConnectionDBClass.java 我想要保存從數據庫檢索數據,然後將/ show存入JTable。從數據庫表中添加JTable中的值

public class ConnectionDBClass implements Job { 

public void execute(JobExecutionContext arg0) throws JobExecutionException { 
String serverName = "192.168.0.1"; 
String portNumber = "1521"; 
String sid = "hifi"; 
String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid; 
String username = "courser_hotline"; 
String password = "courser_hotline"; 
String[] columnNames = {"command_name", "omc_name", "to_module", "start_time", "end_time", "status", "priority", "cmd_id"}; 

try { 
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 
// System.out.println("Connecting to the database..."); 
    Connection connection = DriverManager.getConnection(url, username, password); 
    Statement statement = connection.createStatement(); 
    String query = "select command_name, omc_name, to_module, start_time, end_time, status, priority, cmd_id from sync_task_table"; 
// String query = "select * from sync_task_table"; 
    ResultSet resultset = statement.executeQuery(query); 


    // Create some data 
    String dataValues[][] = 
    { 
    { resultset.getString("command_name"), resultset.getString("omc_name"), resultset.getString("to_module"), resultset.getString("start_time"),resultset.getString("end_time"),resultset.getString("status"),resultset.getString("priority"),resultset.getString("cmd_id") } 

    }; 
    // 
    //// Create a new table instance 
GUIClass.table = new JTable(dataValues, columnNames); 
    } 



catch (Exception e) { 
    System.out.println("The exception raised is:" + e); 
} 


} 

}

這是我的第二個類名GUIClass.java在這個類GUI的代碼

public class GUIClass extends JFrame { 
static JFrame frame; 
static JLabel formlabel; 
static JPanel panel1; 
static JPanel panel2; 
static JTextField t1; 
static JComboBox selectOMC; 
static JButton run; 
static JPanel panel3; 
static DefaultTableModel model; 
public static JTable table; 
static JScrollPane tableScroll; 
static Dimension tablePreferred; 


public static void createGUI() 
{ 
    InilizationAndLabelGUIVariables.Initilization(); 
    InilizationAndLabelGUIVariables.LabelForm(); 



} 

public static void main(String[] args) 
{ 
    createGUI(); 


} 

} 

我的第三類名是InilizationAndLabelGUIVariables.java在這個類用來初始化,並貼上標籤聲明在GUIClass.java類中的變量

public class InilizationAndLabelGUIVariables { 

public static void Initilization() 
{ 
    GUIClass.frame = new JFrame("Syncronization Optimizer"); 
    GUIClass.panel1 = new JPanel(new BorderLayout(5,5)); 

    GUIClass.panel2 = new JPanel(new FlowLayout(FlowLayout.RIGHT, 3,3)); 
    GUIClass.formlabel = new JLabel("Syncronization Optimizer Tool"); 

    GUIClass.t1 = new JTextField(23); 
    GUIClass.selectOMC = new JComboBox(ConnectionDB.OMCName); 
    GUIClass.run = new JButton(" Run "); 
    GUIClass.panel2 = new JPanel(); 
    GUIClass.model = new DefaultTableModel(ConnectionDBClass.dataValues, ConnectionDBClass.columnNames); 
    GUIClass.table = new JTable(GUIClass.model); 
    try { 
     // 1.6+ 
     GUIClass.table.setAutoCreateRowSorter(true); 
    } catch(Exception continuewithNoSort) { 
    } 
    GUIClass.tableScroll = new JScrollPane(GUIClass.table); 
    GUIClass.tablePreferred = GUIClass.tableScroll.getPreferredSize(); 
    GUIClass.tableScroll.setPreferredSize(
     new Dimension(GUIClass.tablePreferred.width, GUIClass.tablePreferred.height/3)); 


    GUIClass.frame.setContentPane(GUIClass.panel1); 

    GUIClass.frame.setBounds(150,100,570,491); 
    GUIClass.frame.setResizable(false); 
    GUIClass.frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); 
    GUIClass.frame.setVisible(true); 
} 


public static void LabelForm() 
{ 
    GUIClass.panel1.add(GUIClass.panel2, BorderLayout.NORTH); 
    GUIClass.panel2.add(GUIClass.formlabel); 
    GUIClass.panel2.add(GUIClass.selectOMC); 
    GUIClass.panel1.add(GUIClass.tableScroll); 
    GUIClass.panel2.add(GUIClass.table); 
    // gui.add(splitPane, BorderLayout.CENTER); 

} 

} 

請幫忙我被卡住做到這一點。

回答

4
  • JTable (its model)Table from Database具有相同的結構,數據被存儲在columnsrows

  • 循環內ResultSet和從Resultset每一行添加爲new Vector<Object>new Object[]表模型或JTable.addRowDefaultTableModel

  • serch爲ResultSetTableModel或更好爲TableFromDatabase ju ST避免推倒重來

+0

兄弟我明白這一點,但你可以根據需要並給我最後的,因爲我不知道如何根據您的指導修改我的代碼在我的代碼更改。我會非常感謝你。 – Programmer