拜求javax.swing.tree 的问题 1.我想做一个frame,他左边是一个tree,里面存的是几个学生的信息,右边是一个textArea,但点击左边的学生时,右边显示她的信息,2.拜求swing。tree的使用的例子 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不难,对Tree的每个结点(代表一个学生)添加事件处理,然后设置右边的显示区域的信息.这个例子在Java Tutorial中有,还有很多其他地方也有,如http://www.java2s.com/Code/Java/Swing-JFC/Tree.htm 往我邮箱里面发个邮件,我把我原来设计的一个程序发给你。[email protected] import java.awt.Dimension;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTree;import javax.swing.JTextField;import javax.swing.event.TreeSelectionEvent;import javax.swing.event.TreeSelectionListener;import javax.swing.JLabel;import javax.swing.tree.DefaultMutableTreeNode;import java.awt.Rectangle;import java.awt.Font;public class TreeFrame extends JFrame { JPanel contentPane; JTextField txtName = new JTextField(); JTree jTree2; JLabel lblName = new JLabel(); JLabel lblType = new JLabel(); JTextField txtType = new JTextField(); JLabel lblNumber = new JLabel(); JTextField txtNumber = new JTextField(); JLabel lblNode = new JLabel(); JTextField txtNode = new JTextField(); /** * 构造方法 */ public TreeFrame() { try { setDefaultCloseOperation(EXIT_ON_CLOSE); jbInit(); } catch (Exception exception) { exception.printStackTrace(); } } private void jbInit() throws Exception { contentPane = (JPanel) getContentPane(); contentPane.setLayout(null); setSize(new Dimension(450, 350)); setTitle("Welcome to JTree"); DefaultMutableTreeNode root = new DefaultMutableTreeNode("根节点"); DefaultMutableTreeNode parent = new DefaultMutableTreeNode("书籍"); lblNode.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11)); lblNode.setText("Node Name:"); lblNode.setBounds(new Rectangle(202, 115, 59, 14)); txtNode.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11)); txtNode.setText(""); txtNode.setBounds(new Rectangle(322, 112, 117, 20)); txtName.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11)); contentPane.setMaximumSize(new Dimension(600, 400)); contentPane.setPreferredSize(new Dimension(600, 400)); root.add(parent); // Creating Leaf nodes DefaultMutableTreeNode java = new DefaultMutableTreeNode("Java"); parent.add(java); DefaultMutableTreeNode complete = new DefaultMutableTreeNode( "Complete Reference"); java.add(complete); DefaultMutableTreeNode professional = new DefaultMutableTreeNode( "Java Programming"); java.add(professional); DefaultMutableTreeNode advanced = new DefaultMutableTreeNode( "Advanced Java Programming"); java.add(advanced); DefaultMutableTreeNode oracle = new DefaultMutableTreeNode("Oracle"); parent.add(oracle); DefaultMutableTreeNode learn = new DefaultMutableTreeNode( "Learning Oracle"); oracle.add(learn); DefaultMutableTreeNode sql = new DefaultMutableTreeNode("Learning SQL"); oracle.add(sql); DefaultMutableTreeNode plsql = new DefaultMutableTreeNode( "Learning SQL/PLSQL"); oracle.add(learn); DefaultMutableTreeNode program = new DefaultMutableTreeNode( "Learning Programming"); oracle.add(program); DefaultMutableTreeNode jsp = new DefaultMutableTreeNode("JSP"); parent.add(jsp); DefaultMutableTreeNode jsp1 = new DefaultMutableTreeNode("Learning JSP"); jsp.add(jsp1); DefaultMutableTreeNode jsp2 = new DefaultMutableTreeNode( "Programming In JSP"); jsp.add(jsp2); DefaultMutableTreeNode leaf = new DefaultMutableTreeNode("C#"); parent.add(leaf); DefaultMutableTreeNode programming = new DefaultMutableTreeNode( "Programming In C#"); leaf.add(programming); // Creating another Branch node parent = new DefaultMutableTreeNode("软件"); root.add(parent); // Creating Leaf nodes leaf = new DefaultMutableTreeNode("Operating System"); parent.add(leaf); DefaultMutableTreeNode dosObj = new DefaultMutableTreeNode("MS-DOS"); leaf.add(dosObj); DefaultMutableTreeNode windowsObj = new DefaultMutableTreeNode( "Windows 2000 Server"); leaf.add(windowsObj); DefaultMutableTreeNode winObj = new DefaultMutableTreeNode( "Windows 2000 Professional"); leaf.add(winObj); leaf = new DefaultMutableTreeNode("Database"); parent.add(leaf); DefaultMutableTreeNode accessObj = new DefaultMutableTreeNode( "MS-Access"); leaf.add(accessObj); DefaultMutableTreeNode mssqlObj = new DefaultMutableTreeNode( "MS-SQL Server"); leaf.add(mssqlObj); jTree2 = new JTree(root); txtName.setText(""); txtName.setBounds(new Rectangle(322, 64, 115, 21)); jTree2.setBounds(new Rectangle(5, 6, 188, 276)); jTree2.addTreeSelectionListener( new Frame1_jTree2_treeSelectionAdapter(this)); lblName.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11)); lblName.setText("Parent Name:"); lblName.setBounds(new Rectangle(201, 67, 66, 14)); lblType.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11)); lblType.setText("Type of Node:"); lblType.setBounds(new Rectangle(200, 162, 69, 14)); txtType.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11)); txtType.setText(""); txtType.setBounds(new Rectangle(322, 159, 104, 20)); lblNumber.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11)); lblNumber.setText("Number of Child Nodes:"); lblNumber.setBounds(new Rectangle(199, 210, 113, 14)); txtNumber.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11)); txtNumber.setText(""); txtNumber.setBounds(new Rectangle(322, 207, 78, 19)); contentPane.add(jTree2); contentPane.add(lblNumber); contentPane.add(lblName); contentPane.add(txtName); contentPane.add(txtNode); contentPane.add(lblNode); contentPane.add(lblType); contentPane.add(txtType); contentPane.add(txtNumber); } public void jTree2_valueChanged(TreeSelectionEvent e) { try { DefaultMutableTreeNode node = (DefaultMutableTreeNode) jTree2. getLastSelectedPathComponent(); String name = ""; Object nodeInfo = node.getUserObject(); if (node.isRoot()) { txtName.setText(""); txtNode.setText(nodeInfo.toString()); txtType.setText("Root"); txtNumber.setText("" + node.getChildCount()); } else { name = node.getParent().toString(); txtName.setText(name); txtNode.setText(nodeInfo.toString()); if (node.isLeaf()) { txtType.setText("Leaf"); } else { txtType.setText("Parent"); } int number = node.getChildCount(); txtNumber.setText("" + number); } } catch (Exception ex) { ex.printStackTrace(); } } public static void main(String []args) { TreeFrame tree = new TreeFrame(); tree.setVisible(true); }}class Frame1_jTree2_treeSelectionAdapter implements TreeSelectionListener { private TreeFrame adaptee; Frame1_jTree2_treeSelectionAdapter(TreeFrame adaptee) { this.adaptee = adaptee; } public void valueChanged(TreeSelectionEvent e) { adaptee.jTree2_valueChanged(e); }} 关于JAVA获取MAC地址和JNI的问题 快捷键冲突问题 在Applet上是否可以显示提示对话框 请问用applet做的游戏可以实现联机对战功能吗? 随机访问文件问题~~ log4j的配置文件properties应该放在什么地方? 高分求助!!!!! 5.1散分了,大家节日会快乐!11 Message driven Bean的问题!50分 一个关于Javamail的问题 我的一个打字练习程序 本地访问例如http://localhost:8080/jsp/a.jsp等网页非常的卡
这个例子在Java Tutorial中有,还有很多其他地方也有,如http://www.java2s.com/Code/Java/Swing-JFC/Tree.htm
[email protected]
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTree;
import javax.swing.JTextField;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.JLabel;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.Rectangle;
import java.awt.Font;public class TreeFrame extends JFrame {
JPanel contentPane;
JTextField txtName = new JTextField();
JTree jTree2; JLabel lblName = new JLabel();
JLabel lblType = new JLabel();
JTextField txtType = new JTextField();
JLabel lblNumber = new JLabel();
JTextField txtNumber = new JTextField();
JLabel lblNode = new JLabel();
JTextField txtNode = new JTextField();
/**
* 构造方法
*/
public TreeFrame() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
} private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
setSize(new Dimension(450, 350));
setTitle("Welcome to JTree");
DefaultMutableTreeNode root = new DefaultMutableTreeNode("根节点");
DefaultMutableTreeNode parent = new DefaultMutableTreeNode("书籍");
lblNode.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11));
lblNode.setText("Node Name:");
lblNode.setBounds(new Rectangle(202, 115, 59, 14));
txtNode.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11));
txtNode.setText("");
txtNode.setBounds(new Rectangle(322, 112, 117, 20));
txtName.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11));
contentPane.setMaximumSize(new Dimension(600, 400));
contentPane.setPreferredSize(new Dimension(600, 400));
root.add(parent);
// Creating Leaf nodes
DefaultMutableTreeNode java = new DefaultMutableTreeNode("Java");
parent.add(java);
DefaultMutableTreeNode complete = new DefaultMutableTreeNode(
"Complete Reference");
java.add(complete);
DefaultMutableTreeNode professional = new DefaultMutableTreeNode(
"Java Programming");
java.add(professional);
DefaultMutableTreeNode advanced = new DefaultMutableTreeNode(
"Advanced Java Programming");
java.add(advanced); DefaultMutableTreeNode oracle = new DefaultMutableTreeNode("Oracle");
parent.add(oracle);
DefaultMutableTreeNode learn = new DefaultMutableTreeNode(
"Learning Oracle");
oracle.add(learn);
DefaultMutableTreeNode sql = new DefaultMutableTreeNode("Learning SQL");
oracle.add(sql);
DefaultMutableTreeNode plsql = new DefaultMutableTreeNode(
"Learning SQL/PLSQL");
oracle.add(learn);
DefaultMutableTreeNode program = new DefaultMutableTreeNode(
"Learning Programming");
oracle.add(program); DefaultMutableTreeNode jsp = new DefaultMutableTreeNode("JSP");
parent.add(jsp);
DefaultMutableTreeNode jsp1 =
new DefaultMutableTreeNode("Learning JSP");
jsp.add(jsp1);
DefaultMutableTreeNode jsp2 = new DefaultMutableTreeNode(
"Programming In JSP");
jsp.add(jsp2); DefaultMutableTreeNode leaf = new DefaultMutableTreeNode("C#");
parent.add(leaf);
DefaultMutableTreeNode programming = new DefaultMutableTreeNode(
"Programming In C#");
leaf.add(programming); // Creating another Branch node
parent = new DefaultMutableTreeNode("软件");
root.add(parent); // Creating Leaf nodes
leaf = new DefaultMutableTreeNode("Operating System");
parent.add(leaf);
DefaultMutableTreeNode dosObj = new DefaultMutableTreeNode("MS-DOS");
leaf.add(dosObj);
DefaultMutableTreeNode windowsObj = new DefaultMutableTreeNode(
"Windows 2000 Server");
leaf.add(windowsObj);
DefaultMutableTreeNode winObj = new DefaultMutableTreeNode(
"Windows 2000 Professional");
leaf.add(winObj); leaf = new DefaultMutableTreeNode("Database");
parent.add(leaf);
DefaultMutableTreeNode accessObj = new DefaultMutableTreeNode(
"MS-Access");
leaf.add(accessObj);
DefaultMutableTreeNode mssqlObj = new DefaultMutableTreeNode(
"MS-SQL Server");
leaf.add(mssqlObj); jTree2 = new JTree(root); txtName.setText("");
txtName.setBounds(new Rectangle(322, 64, 115, 21));
jTree2.setBounds(new
Rectangle(5, 6, 188, 276));
jTree2.addTreeSelectionListener(
new Frame1_jTree2_treeSelectionAdapter(this));
lblName.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11));
lblName.setText("Parent Name:");
lblName.setBounds(new Rectangle(201, 67, 66, 14));
lblType.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11));
lblType.setText("Type of Node:");
lblType.setBounds(new Rectangle(200, 162, 69, 14));
txtType.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11));
txtType.setText("");
txtType.setBounds(new Rectangle(322, 159, 104, 20));
lblNumber.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11));
lblNumber.setText("Number of Child Nodes:");
lblNumber.setBounds(new Rectangle(199, 210, 113, 14));
txtNumber.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 11));
txtNumber.setText("");
txtNumber.setBounds(new Rectangle(322, 207, 78, 19));
contentPane.add(jTree2);
contentPane.add(lblNumber);
contentPane.add(lblName);
contentPane.add(txtName);
contentPane.add(txtNode);
contentPane.add(lblNode);
contentPane.add(lblType);
contentPane.add(txtType);
contentPane.add(txtNumber);
}
public void jTree2_valueChanged(TreeSelectionEvent e) {
try {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) jTree2.
getLastSelectedPathComponent();
String name = "";
Object nodeInfo = node.getUserObject();
if (node.isRoot()) {
txtName.setText("");
txtNode.setText(nodeInfo.toString());
txtType.setText("Root");
txtNumber.setText("" + node.getChildCount());
} else {
name = node.getParent().toString();
txtName.setText(name);
txtNode.setText(nodeInfo.toString());
if (node.isLeaf()) {
txtType.setText("Leaf");
} else {
txtType.setText("Parent");
}
int number = node.getChildCount();
txtNumber.setText("" + number);
} } catch (Exception ex) {
ex.printStackTrace();
}
}
public static void main(String []args)
{
TreeFrame tree = new TreeFrame();
tree.setVisible(true);
}
}class Frame1_jTree2_treeSelectionAdapter implements TreeSelectionListener {
private TreeFrame adaptee;
Frame1_jTree2_treeSelectionAdapter(TreeFrame adaptee) {
this.adaptee = adaptee;
} public void valueChanged(TreeSelectionEvent e) {
adaptee.jTree2_valueChanged(e);
}
}