在分割面板JSplitPane中左边放一个JPanel(leftPanel),右边放一个JPanel(rightPanel),leftPanel中放树

在leftPanel的树JTree中单击不同的节点,如何在rightPanel中响应对应事件。比如左边有一个节点“档案登记”,点击该节点后,右边rightPanel就要显... 在leftPanel的树JTree中单击不同的节点,如何在rightPanel中响应对应事件。比如左边有一个节点“档案登记”,点击该节点后,右边rightPanel就要显示档案登记界面。最好给出示例。当然给出联系方式进行交流也行。 展开
 我来答
790028352
2012-06-18 · TA获得超过568个赞
知道小有建树答主
回答量:417
采纳率:0%
帮助的人:265万
展开全部
package ff;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.UIManager;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;

@SuppressWarnings("serial")
public class TextFrame extends JFrame{

private JSplitPane jSplitPane=new JSplitPane();//窗体分割线
private JScrollPane jRightScrollPane=new JScrollPane();//右边切换panel
private JScrollPane jLeftScrollPane=new JScrollPane();//左边放主Tree
private JLabel jlRightDef= new JLabel();//右边默认界面
public TextFrame()
{
jSplitPane.setOrientation(JSplitPane.HORIZONTAL_SPLIT);
jSplitPane.setDividerLocation(170);//左边大小
jSplitPane.setLeftComponent(jLeftScrollPane);
jSplitPane.setRightComponent(jRightScrollPane);
initMainJTree();
this.add(jSplitPane);
this.setSize(400,500);
this.setLocation(200,100);
this.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
this.setVisible(true);
}
//初始化功能树
private void initMainJTree()
{
JTree jTree=new JTree();
jLeftScrollPane.setViewportView(new JPanel().add(jTree));
jTree.setEditable(false);
jTree.addTreeSelectionListener(new TreeSelectionListener() {
@Override
public void valueChanged(TreeSelectionEvent e) {
TreePath treePath=e.getNewLeadSelectionPath();//获得根节点到选着节点的路径
DefaultMutableTreeNode node = (DefaultMutableTreeNode) treePath.getLastPathComponent();
jlRightDef.setText(node.toString());
jRightScrollPane.setViewportView(jlRightDef);
}
});
}
public static void main(String[]args)
{
try {//windows风格
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
new TextFrame();
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式