想做一个这样的界面 想做一个类似下图这样界面,点击左边的选项,在右边显示信息,用什么方法呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不用太复杂,最好用swing就能实现的 不是很难,主要是界面管理器要选择对,用SWING实现最好,实在不行就用SWT了 import java.awt.BorderLayout;import javax.swing.*;import javax.swing.event.TreeSelectionEvent;import javax.swing.event.TreeSelectionListener;import javax.swing.tree.DefaultMutableTreeNode;public class Test extends JFrame{ private JLabel label = new JLabel(); private DefaultMutableTreeNode tn =new DefaultMutableTreeNode("显示"); private DefaultMutableTreeNode tn1 = new DefaultMutableTreeNode("显示A"); private DefaultMutableTreeNode tn2 = new DefaultMutableTreeNode("显示B"); private DefaultMutableTreeNode tn3 = new DefaultMutableTreeNode("显示C"); private DefaultMutableTreeNode tn11 = new DefaultMutableTreeNode("显示AA"); private DefaultMutableTreeNode tn22 = new DefaultMutableTreeNode("显示BB"); private DefaultMutableTreeNode tn33 = new DefaultMutableTreeNode("显示CC"); private JTree tree = new JTree(tn); public Test(){ tn.add(tn1); tn.add(tn2); tn.add(tn3); tn1.add(tn11); tn1.add(tn22); tn1.add(tn33); tn2.add(tn22); tn2.add(tn33); tn3.add(tn33); //事件触发点击左边的JTree里的节点,触发右边的变化 tree.addTreeSelectionListener(new TreeSelectionListener(){ public void valueChanged(TreeSelectionEvent e) { // TODO Auto-generated method stub String selectedTreeNodeStr = tree.getLastSelectedPathComponent().toString(); if(selectedTreeNodeStr.equals("显示AA")){ label.setText("显示AA"); }else if(selectedTreeNodeStr.equals("显示BB")){ label.setText("显示BB"); }else if(selectedTreeNodeStr.equals("显示CC")){ label.setText("显示CC"); } }}); this.add(tree,BorderLayout.WEST); this.add(label,BorderLayout.CENTER); this.setSize(400, 400); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } public static void main(String[] args){ Test test = new Test(); }}看看这个可以挖 结合4楼和6的,大体框架就出来了。左边JTree,右边使用CardLayout布局添加多个JPanel,tree的节点改变事件中右边显示的JPanel。 得到彼此位数上的数字不相同的三位数的所有组合 FTP获取文件名清单的过滤方法 请大家推荐一本JAVA经典的入门书籍,谢谢! 什么是ASCII码? java 输出不确定?- - 各高手指教一下吧,多谢!java问题 寻求帮助:Jface下如何布局界面问题。 请...问... 如何获得一个 10~20之间的 随机数 样式如 18.92 求问基础知识?谢谢? 两道JAVA笔试题 j2ee发展之路。。。
import java.awt.BorderLayout;import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;public class Test extends JFrame{
private JLabel label = new JLabel();
private DefaultMutableTreeNode tn =new DefaultMutableTreeNode("显示");
private DefaultMutableTreeNode tn1 = new DefaultMutableTreeNode("显示A");
private DefaultMutableTreeNode tn2 = new DefaultMutableTreeNode("显示B");
private DefaultMutableTreeNode tn3 = new DefaultMutableTreeNode("显示C");
private DefaultMutableTreeNode tn11 = new DefaultMutableTreeNode("显示AA");
private DefaultMutableTreeNode tn22 = new DefaultMutableTreeNode("显示BB");
private DefaultMutableTreeNode tn33 = new DefaultMutableTreeNode("显示CC");
private JTree tree = new JTree(tn);
public Test(){
tn.add(tn1);
tn.add(tn2);
tn.add(tn3);
tn1.add(tn11);
tn1.add(tn22);
tn1.add(tn33);
tn2.add(tn22);
tn2.add(tn33);
tn3.add(tn33);
//事件触发点击左边的JTree里的节点,触发右边的变化
tree.addTreeSelectionListener(new TreeSelectionListener(){ public void valueChanged(TreeSelectionEvent e) {
// TODO Auto-generated method stub
String selectedTreeNodeStr = tree.getLastSelectedPathComponent().toString();
if(selectedTreeNodeStr.equals("显示AA")){
label.setText("显示AA");
}else if(selectedTreeNodeStr.equals("显示BB")){
label.setText("显示BB");
}else if(selectedTreeNodeStr.equals("显示CC")){
label.setText("显示CC");
}
}});
this.add(tree,BorderLayout.WEST);
this.add(label,BorderLayout.CENTER);
this.setSize(400, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args){
Test test = new Test();
}
}
看看这个可以挖
左边JTree,右边使用CardLayout布局添加多个JPanel,tree的节点改变事件中右边显示的JPanel。