有没人回答呢?我真得不知如何用swing做这么强功能的树?恳求各位高手大侠帮帮小弟忙!!!
解决方案 »
- java 返回的类型能多样么?
- java图像处理
- java调用perl 程序的一个问题
- 请问谁知道 java核心技术 第八版 中文版什么时候能出?
- 关于JButton的问题
- 如何判断一个字符串为空?s=""还是s.equals(null)还是s.compareTo(null)==1?
- [请进]大家能不能说说抽象类和接口的异同.....up有分!
- eclipse不支持subversion1.8.1怎么办?
- JDOM问题:如何得到一个Element下的Comment?
- 大家帮忙,这是一个小问题,大家来帮忙?
- 大家进来研究一下,在不同的包中,超类中定义了protected 成员的时候,子类的继承问题?
- 如何动态生成一个类
swing中的JTree控件可以实现。
//Application.javaimport javax.swing.UIManager;
import java.awt.*;public class Application {
boolean packFrame = false; /**Construct the application*/
public Application() {
MainFrame frame = new MainFrame();
//Validate frames that have preset sizes
//Pack frames that have useful preferred size info, e.g. from their layout
if (packFrame) {
frame.pack();
}
else {
frame.validate();
}
//Center the window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
}
/**Main method*/
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
e.printStackTrace();
}
new Application();
}
}
//MainFrame.java
//演示怎样显示现实的用户和用户组数据import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import javax.swing.tree.*;public class MainFrame extends JFrame {
JPanel contentPane;
BorderLayout borderLayout1 = new BorderLayout();
JScrollPane jScrollPane1 = new JScrollPane(); Vector userData=new Vector();
Vector groupData=new Vector(); JTree tree ; /**Construct the frame*/
public MainFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
/**Component initialization*/
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(MainFrame.class.getResource("[Your Icon]")));
initTree();
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(400, 300));
this.setTitle("Demo how to use JTree");
contentPane.add(jScrollPane1, BorderLayout.CENTER);
jScrollPane1.getViewport().add(tree, null); }
/**Overridden so we can exit when window is closed*/
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
} void initDataSource(){
for (int i=0;i<5;i++){
userData.addElement("User"+i);
groupData.addElement("Group"+i);
}
}
void initTree(){
initDataSource(); DefaultMutableTreeNode top = new DefaultMutableTreeNode("Root");
tree=new JTree(top); DefaultMutableTreeNode groups = new DefaultMutableTreeNode("Groups");
DefaultMutableTreeNode users = new DefaultMutableTreeNode("Users");
for (int i=0;i<groupData.size();i++){
DefaultMutableTreeNode leaf = new DefaultMutableTreeNode((String)groupData.elementAt(i));
groups.add(leaf);
}
top.add(groups);
for (int i=0;i<userData.size();i++){
DefaultMutableTreeNode leaf = new DefaultMutableTreeNode((String)userData.elementAt(i));
users.add(leaf);
}
top.add(users);
// tree.setShowsRootHandles(true);
} public static void main(String[] args){
MainFrame frame=new MainFrame();
frame.show(); }
}
比较简单的例子。
我找了很多书和资料,都找不到,好像没人做这样的树一样。
不过以前看过用友的B/S模式的JAVA做的MIS系统网站,界面非常好看,左边的导航栏也是用树做,功能和JBuilder一样强,他是一个用swing设计的applet。
我现在很想做这样的树,但是真的没能力,不知还有哪位大侠做过的,能帮帮我忙吗?最好的applet的
我真的不知如何操作,最好能给个例子来看看,行吗?
还有哪位高人做过的,能帮帮我吗?