透過連線資料庫來動態的生成樹的問題
看看這段程式碼,我想要實現的是透過連線資料庫來動態的生成樹,
問題是在“////////”處
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class TreeView1 extends JApplet {
JTextArea textArea = new JTextArea();
String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=login";
String user="sa";
String password="";
ResultSet rs;
ResultSet rs2;
public void init() {
Class.forName(sDBDriver); //連線資料庫並讀出相關欄位
Connection conn= DriverManager.getConnection(url,user,password);
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from modules where m_parentId=0";
rs=stmt.executeQuery(sql);
while(rs.next()) {
int id=rs.getInt(1);
String iid=rs.getString(3);
stmt=conn.createStatement();
DefaultMutableTreeNode root = new DefaultMutableTreeNode(iid);
rs2 = stmt.executeQuery("select * from modules where m_parentId='"+id+"'");
while (rs2.next()) {
String iid1=rs2.getString(3);
stmt=conn.createStatement();
DefaultMutableTreeNode ParenId1 = new DefaultMutableTreeNode(iid1);
root.add(ParenId1);
}
JTree tree=new JTree(root); //生成樹
JScrollPane scrollpane=new JScrollPane(tree);
Container con=getContentPane();
con.add(scrollpane);}
/*rs.close();
stmt.close();
conn.close();*/
JSplitPane splitPane = new JSplitPane(
JSplitPane.HORIZONTAL_SPLIT,
new JScrollPane(tree), ////////錯誤是找不到我這個包裡面的tree
splitPane.setDividerLocation(150);
textArea.setFont(new Font("Serif", Font.PLAIN, 17));
getContentPane().add(splitPane, BorderLayout.CENTER);
tree.addTreeSelectionListener( ////////這裡的提示同上
new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
TreePath path = e.getNewLeadSelectionPath();
String s = new String();
if(path != null) {
s += "New lead selection path: " +
path.toString() + "\n";
}
else
s += "selection cleared\n";
path = e.getOldLeadSelectionPath();
if(path != null) {
s += "Old lead selection path: " +
path.toString() + "\n";
}
else
s += "No previous lead selection\n";
textArea.append(s + "\n");
printSelectionInformation(e);
}
void printSelectionInformation(TreeSelectionEvent e) {
showPaths(e);
textArea.append("\n----------------------------");
textArea.append("----------------------------\n");
}
private void showPaths(TreeSelectionEvent e) {
TreePath[] paths = e.getPaths();
textArea.append("Number of Paths: " +
paths.length + "\n");
for(int i=0; i < paths.length; ++i) {
TreePath path = paths;
boolean wasAdded = e.isAddedPath(path);
textArea.append(" path " + i + ": ");
textArea.append(path +
(wasAdded ? " added to selection" :
" removed from selection") + "\n");
}
}
});
}
}
請各位看看,如果有程式碼帖上來看看也可以,謝謝!
問題是在“////////”處
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class TreeView1 extends JApplet {
JTextArea textArea = new JTextArea();
String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=login";
String user="sa";
String password="";
ResultSet rs;
ResultSet rs2;
public void init() {
Class.forName(sDBDriver); //連線資料庫並讀出相關欄位
Connection conn= DriverManager.getConnection(url,user,password);
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from modules where m_parentId=0";
rs=stmt.executeQuery(sql);
while(rs.next()) {
int id=rs.getInt(1);
String iid=rs.getString(3);
stmt=conn.createStatement();
DefaultMutableTreeNode root = new DefaultMutableTreeNode(iid);
rs2 = stmt.executeQuery("select * from modules where m_parentId='"+id+"'");
while (rs2.next()) {
String iid1=rs2.getString(3);
stmt=conn.createStatement();
DefaultMutableTreeNode ParenId1 = new DefaultMutableTreeNode(iid1);
root.add(ParenId1);
}
JTree tree=new JTree(root); //生成樹
JScrollPane scrollpane=new JScrollPane(tree);
Container con=getContentPane();
con.add(scrollpane);}
/*rs.close();
stmt.close();
conn.close();*/
JSplitPane splitPane = new JSplitPane(
JSplitPane.HORIZONTAL_SPLIT,
new JScrollPane(tree), ////////錯誤是找不到我這個包裡面的tree
splitPane.setDividerLocation(150);
textArea.setFont(new Font("Serif", Font.PLAIN, 17));
getContentPane().add(splitPane, BorderLayout.CENTER);
tree.addTreeSelectionListener( ////////這裡的提示同上
new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
TreePath path = e.getNewLeadSelectionPath();
String s = new String();
if(path != null) {
s += "New lead selection path: " +
path.toString() + "\n";
}
else
s += "selection cleared\n";
path = e.getOldLeadSelectionPath();
if(path != null) {
s += "Old lead selection path: " +
path.toString() + "\n";
}
else
s += "No previous lead selection\n";
textArea.append(s + "\n");
printSelectionInformation(e);
}
void printSelectionInformation(TreeSelectionEvent e) {
showPaths(e);
textArea.append("\n----------------------------");
textArea.append("----------------------------\n");
}
private void showPaths(TreeSelectionEvent e) {
TreePath[] paths = e.getPaths();
textArea.append("Number of Paths: " +
paths.length + "\n");
for(int i=0; i < paths.length; ++i) {
TreePath path = paths;
boolean wasAdded = e.isAddedPath(path);
textArea.append(" path " + i + ": ");
textArea.append(path +
(wasAdded ? " added to selection" :
" removed from selection") + "\n");
}
}
});
}
}
請各位看看,如果有程式碼帖上來看看也可以,謝謝!
相關文章
- 通過讀取properties檔案動態生成對資料庫的連線資料庫
- 透過sqlplus連線資料庫伺服器很慢的問題SQL資料庫伺服器
- 資料庫連線池的問題,連線池物件為靜態變數有問題麼資料庫物件變數
- 連線資料庫的ASP樹圖生成程式(原始碼) (轉)資料庫原始碼
- jive的資料庫連線配置問題資料庫
- 請問,關於資料庫連線的問題。資料庫
- 如何動態連線Access資料庫資料庫
- hibernate資料庫連線池的問題資料庫
- 資料庫連線未關閉的問題資料庫
- 一個資料庫連線池的問題資料庫
- 資料庫的連線過程資料庫
- 【YashanDB資料庫】PHP無法透過ODBC連線到資料庫資料庫PHP
- 圖論 最小生成樹問題(最優連線問題)圖論
- oracle透過trigger來限制使用者和ip連線資料庫的限制Oracle資料庫
- laradock 資料庫連線問題資料庫
- 請教關於資料庫連線的問題資料庫
- JSP+javaBean連線資料庫的問題JSJavaBean資料庫
- C#連線Oracle資料庫,通過EF自動生成與資料庫表相關的實體類C#Oracle資料庫
- 通過sqlplus連線資料庫伺服器很慢的問題SQL資料庫伺服器
- DOCKER簡明教程 : 透過容器連線REDIS資料庫DockerRedis資料庫
- 急:webshere配置資料庫sybase的連線池的問題Web資料庫
- 關於資料庫連線的一些小問題資料庫
- 關於tomcat資料庫連線池的問題Tomcat資料庫
- 獲取oracle資料庫連線出現的問題Oracle資料庫
- Django資料庫連線丟失問題Django資料庫
- 請教資料庫連線問題??急!資料庫
- [求助]資料庫連線池配置問題資料庫
- 關於JPetstore連線資料庫問題資料庫
- 關於android stdio連線mysql資料庫出現過的問題AndroidMySql資料庫
- oracle資料庫透過sqlplus連線的幾種方式介紹Oracle資料庫SQL
- informix一個奇特的不能透過dbaccess連線對方資料庫原因ORM資料庫
- 透過ADO連線各種資料庫的字串翠集(一) (轉)資料庫字串
- 資料來源連線資料庫資料庫
- Oracle 11g RAC通過SCAN IP連線資料庫 - JDBC連線串問題Oracle資料庫JDBC
- 樹莓派透過nmcli命令連線WIFI樹莓派WiFi
- IDEA無法連線docker中的資料庫的問題IdeaDocker資料庫
- 使用Visual Studio的動態連線庫建立通用資料庫連線對話方塊資料庫
- 監控資料庫連線遇到的一個小問題資料庫