導航:首頁 > 編程大全 > jtree與資料庫

jtree與資料庫

發布時間:2023-04-01 05:40:38

❶ jTree與jTable的聯合應用(最好是3層架構)

<dl class="code"><型辯困dt>java code</dt><dd><pre>
<!--

Code highlighting proced by Actipro CodeHighlighter (freeware)
www CodeHighlighter.com/

-->try
{
String sql="select * from table";

rs=connect.getResultSet(sql);

while(rs.next())
{
Vector vector=new Vector();
vector.add(rs.getString(1).toString());
vector.add(rs.getString(2).toString());
((DefaultTableModel)jTable1.getModel()).addRow(vector);
}
rs.close();

}
catch (Exception se)
{

}
</pre></dd></dl>
具體怎麼從連接、查詢你灶高自己寫。
嗯,不錯,學習學習
前些日子用過DefaultTableModel和JTree這一部分
基本y而是如此的結構吧,不過樓主說的三層架構是啥意思呢

更卜念詳細的解決辦法參考 :
http://passport..com/?logout&u=http%3A//..com.jishu6.cn/java/%3fa=1.81118455123

❷ java基於資料庫建樹

重新幫你寫了資料庫相關的語句。

但戚大是你必須得做響應的修改才能使用。

importjava.sql.Connection;
importjava.sql.PreparedStatement;
import兆仔java.sql.ResultSet;
importjava.sql.SQLException;

importjavax.swing.JFrame;
importjavax.swing.JScrollPane;
importjavax.swing.JTree;
importjavax.swing.tree.DefaultMutableTreeNode;

{

{
publicMyTreeNode(Objectobj){
super(obj);
}

publicMyTreeNode(MyTreeNodeparent,Objectobject){
super(object);
parent.add(this);
}

(Objectobj){
for(inti=0;i<getChildCount();i++){
MyTreeNodenode=(MyTreeNode)getChildAt(i);
if(node.valueEquals(obj)){
returnnode;
}
}
returnnewMyTreeNode(this,obj);
}

publicbooleanvalueEquals(Objectobj){
returngetUserObject().equals(obj);
}
}

privateMyTreeNoderootNode;

publicstaticvoidmain(String[]args){
newSwingTree();
}

publicSwingTree(){
this.setTitle("SwingTree");
this.setSize(800,600);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
initNode();
JTreetree=newJTree(rootNode);
this.add(newJScrollPane(tree));
this.setVisible(true);
}

privatevoidinitNode(){
rootNode=newMyTreeNode("清華大學");
try{
Stringsql="select*fromstudent_t";
PreparedStatementpreStmt族仔汪=getConnection().prepareStatement(sql);
ResultSetquery=preStmt.executeQuery();
while(query.next()){
Stringcollege=query.getString("college");
Stringdepartment=query.getString("department");
Stringclazz=query.getString("clazz");
Stringstudent=query.getString("student");
student+=""+query.getString("phone");
addNode(college,department,clazz,student);
}
}catch(SQLExceptione){
e.printStackTrace();
}
}

publicConnectiongetConnection(){
returnnull;
}

publicvoidaddNode(Stringcollege,Stringdepartment,Stringclazz,Stringstudent){
rootNode.findOrAddChild(college)
.findOrAddChild(department)
.findOrAddChild(clazz)
.findOrAddChild(student);
}

}

❸ JTree,如何用遞歸演算法構建樹

public void addChild(DefaultMutableTreeNode fatherNode,int fatherId) {
List<Map>list=codeservices.getAssetCode( fatherId);
for(Map map:list){
DefaultMutableTreeNode child=new DefaultMutableTreeNode((String)map.get("TYPENAME"));
int id=Integer.parseInt((String)map.get("TYPEID"棗嫌));
fatherNode.add(child);
addChild(child,id);
}
}

其中list是從資料庫獲取的所有節點,返岩讓fatherNode是根節點,fatherid是父id,後面的id是自身漏局節點id

❹ 在JFrame中建了一個JTree和JTable,想從樹中隨便點擊一項查詢,就從資料庫中調出數據,然後在插入JTable表

代碼我也不會,說下思路:
在Tree上做監遲冊伏聽,點擊某一項後,把查姿信詢數據,插進相應的model,jTable.setModel(model)。
步驟1、做JTree的事件監聽器,有操作就
步驟2、新建類 MyTableModel extends DefaultTableModel {
public void addData() { };
} 這個類碼攜就是用來保存數據的

步驟3、jTable.setModel(new MyTableModel());
jTable.setVisible(true);

❺ java問題,怎樣從資料庫動態獲得jtree節點

一句兩句說不清楚,給個代碼大家交流哈,我也是虛返學編程的
import java.sql.*;
import java.io.*;
public class Test13{
public static void main(String[] args) throws Exception{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:folkmusic");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from main");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn1 = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:java","java1","test123"正譽凳);
//conn1.setAutoCommit(false);
while(rs.next()){
String content = rs.getString("content");
BufferedWriter bw = new BufferedWriter(new FileWriter("tmpfile.txt"舉旅));
bw.write(content);
bw.flush();
bw.close();
PreparedStatement stmt1 = conn1.prepareStatement("insert into main (content) values (?)");
InputStream is = new FileInputStream(new File("tmpfile.txt");
stmt1.setBinaryStream(1,is,is.available());
stmt1.executeUpdate();
}
//conn1.commit();
rs.close();
//stmt1.close();
}
};

❻ java 已經獲取某個mysql資料庫的所有表名 創建JTree

那隻能創建一層的JTree?

importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;

importjavax.swing.JFrame;
importjavax.swing.JTree;
importjavax.swing.tree.DefaultMutableTreeNode;

{
privateConnectioncon;
privateStatementste=null;
ResultSetrs;

JTreeDemo2(){
super("JTreeDemo");
this.setSize(200,200);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
OpenDb();
DefaultMutableTreeNodenode=newDefaultMutableTreeNode("所有表");
createNodes(node,"0");
JTreetree=newJTree(node);
this.add(tree);
this.setVisible(true);
}

publicvoidcreateNodes(DefaultMutableTreeNodeparent,StringParentID){
DefaultMutableTreeNodetemp=null;
Stringstrsql="showtables";
//游標的相對位置
try{
rs=ste.executeQuery(strsql);
while(rs.next()){
temp=newDefaultMutableTreeNode(rs.getString(1));
parent.add(temp);
}
}catch(Exceptione){
System.out.println(e);
}
}

//連接資料庫
voidOpenDb(){
Stringdriver="com.mysql.jdbc.Driver";
Stringconnection="jdbc:mysql://localhost:3306/test";
//資料庫用戶名
Stringuser="root";
//資料庫密碼
Stringpassword="root";
try{
Class.forName(driver);
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
try{
con=DriverManager.getConnection(connection,user,password);
ste=con.createStatement();
}catch(SQLExceptione){
e.printStackTrace();
}
}
publicstaticvoidmain(String[]argv)throwsException{
newJTreeDemo2();

}
}

❼ 在JFrame中建了一個JTree和JTable,想從樹中隨便點擊一項查詢,就從資料庫中調出數據,然後在插入JTable表

您說的我明白,但是不明白您要問啥,不會全套都讓我寫吧!

❽ 在NetBeans的GUI設計中,如何將Access中的資料庫填充進JTree(樹)中 如何用資料庫的數據初始化Jtree

別積聚

你的長裙絮游廳語,像一朵雪花蓮

多麼響亮的音色--灶拿

你說你害怕傷害,

縱使,在風雨中落中

總你的神辯隱翻過石頭,

❾ 誰能詳細介紹一下java swing里的JTable JTree是怎樣用的以及他們的方法!

Swing是由100%純Java實現的,Swing組件是用Java實現的輕量級( light-weight)組件,沒有本地代碼,不依賴操作系統的支持,這是它與AWT組件的最大區別。由於AWT組件通過與具體平台相關的對等類(Peer)實現,因此Swing比AWT組件具有更強的實用性。Swing在不同的平台上表現一致,並且有能力提供本地窗口系統不支持的其它特性。

Swing採用了一種MVC的設計範式,即"模型-視圖-控制"(Model-View-Controller),其中模型用來保存內容,視圖用來顯示內容,控制器用來控制用戶輸入。

在AWT組件中,由於控制組件外觀的對等類與具體平台相關,使得AWT組件總是只有與本機相關的外觀。Swing使得程序在一個平台上運行時能夠有不同的外觀。用戶可以選擇自己習慣的外觀。

7.1.2 Swing的類層次結構

在javax.swing包中,定義了兩種類型的組件:頂層容器(JFrame,JApplet,JDialog和JWindow)和輕量級組件。Swing組件都是AWT的Container類的直接子類和間接子類。

java.awt.Component
-java.awt.Container
-java.awt.Window
-java.awt.Frame-javax.swing.JFrame
-javax.Dialog-javax.swing.JDialog
-javax.swing.JWindow
-java.awt.Applet-javax.swing.JApplet
-javax.swing.Box
-javax.swing.Jcomponet

swing包是Swing提供的最大包,它包含將近100個類和25個介面,幾乎所有的Swing組件都在swing包中,只有JtableHeader和 JtextComponent是例外,它們分別在swing.table和swing.text中。
swing.border包中定義了事件和事件監聽器類,與AWT的event包類似。它們都包括事件類和監聽器介面。
swing.pending包包含了沒有完全實現的Swing組件。
swing.table包中主要包括了表格組建(JTable)的支持類。
swing.tree同樣是JTree的支持類。
swing.text、swing.text.html、swing.text.html.parser和swing.text.rtf都是用於顯示和編輯文檔的包。

❿ java讀取資料庫文件以樹的形式顯示在界面上,swing

程序寫好了,而且實現了延時載入。以免啟動速度過慢。

import java.io.File;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.MutableTreeNode;
public class TreeFrame extends JFrame {
private JTree tree;
public static void main(String[] args) {
new TreeFrame();
}
public TreeFrame() {
this.setSize(800, 600);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
tree = new JTree();
tree.addTreeExpansionListener(new TreeExpansionAction());
setRootDir(new File("c:/windows"));
this.add(new JScrollPane(tree));
this.setVisible(true);
}
private void setRootDir(File dir) {
tree.setModel(new DefaultTreeModel(createNode(dir)));
MutableTreeNode rootNode = (MutableTreeNode) tree.getModel().getRoot();
rootNode.setUserObject(dir);
updateNode(rootNode);
tree.updateUI();
}
private void updateNode(Object object) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) object;
for (int i = 0; i < node.getChildCount(); i++) {
DefaultMutableTreeNode node2 = (DefaultMutableTreeNode) node.getChildAt(i);
FileObject fileObject = (FileObject) node2.getUserObject();
if (!fileObject.isUpdated()) {
fileObject.setUpdated(true);
File file = fileObject.getFile();
if (file.isDirectory()) {
addSubFile(node2, file);
}
}
}
}
public MutableTreeNode createNode(File dir) {
DefaultMutableTreeNode node = new DefaultMutableTreeNode(new FileObject(dir));
if (dir.isDirectory()) {
addSubFile(node, dir);
}
return node;
}
private void addSubFile(DefaultMutableTreeNode node, File dir) {
File[] files = dir.listFiles();
if (files != null) {
for (File file : files) {
node.add(new DefaultMutableTreeNode(new FileObject(file)));
}
}
}
public class TreeExpansionAction implements TreeExpansionListener {
public void treeExpanded(TreeExpansionEvent event) {
updateNode(event.getPath().getLastPathComponent());
}
public void treeCollapsed(TreeExpansionEvent event) {
}
}
public class FileObject {
private File file;
private boolean updated;
public FileObject(File file) {
this.file = file;
}
public File getFile() {
return file;
}
public boolean isUpdated() {
return updated;
}
public void setUpdated(boolean updated) {
this.updated = updated;
}
public String toString() {
return file.getName();
}
}
}
閱讀全文

與jtree與資料庫相關的資料

熱點內容
截圖保存為哪個文件夾 瀏覽:101
微雲文件無法打開 瀏覽:373
越獄文件管理器哪個好用 瀏覽:947
桌面文件可以保存在哪裡 瀏覽:136
世界之窗修改密碼 瀏覽:555
系統文件巨大 瀏覽:138
重點畢業生數據採集有什麼用 瀏覽:341
手機抖音上的app在哪裡 瀏覽:215
thinkpad裝win7教程 瀏覽:793
2012文件伺服器資源管理器 瀏覽:459
純凈版win1032位改64 瀏覽:413
農產品行業融資主要分析哪些數據 瀏覽:601
華為微信不上網路設置 瀏覽:727
查看qq聊天記錄 瀏覽:931
nih是什麼意思網路用語 瀏覽:456
網路營銷課程設計公眾號論文 瀏覽:902
淘寶低價海關扣押蘋果 瀏覽:335
javadouble和float 瀏覽:303
atmega8下載程序 瀏覽:819
飛鴿傳輸文件和qq哪個快 瀏覽:519

友情鏈接