欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

如何做出一個(gè)復(fù)雜的JTree模型?

系統(tǒng) 2150 0

以下是一個(gè)關(guān)于JTree構(gòu)建模型的例子,代碼貼出來(lái)如下:

package ?day18_JTree;

import ?java.awt. * ;
import ?java.awt.event. * ;
import ?javax.swing. * ;
import ?javax.swing.tree. * ;

class ?TreeEditFrame? extends ?JFrame? implements ?ActionListener? {
????
private ? static ? final ? long ?serialVersionUID? = ? 1L ;
????
private ?DefaultTreeModel?model;
????
private ?JTree?tree;
????
private ?JButton?addSiblingButton;
????
private ?JButton?addChildButton;
????
private ?JButton?deleteButton;
????
????
public ?TreeEditFrame()? {
????????setTitle(
" TreeEditTest " );
????????setSize(
300 ,? 200 );
????????
this .pack();
????????
this .setSize( 500 , 200 );
????????Toolkit?tool?
= ?Toolkit.getDefaultToolkit();
????????
double ?width? = ?tool.getScreenSize().getWidth();
????????
double ?height? = ?tool.getScreenSize().getHeight();
????????
this .setLocation((( int )(width - this .getWidth())) / 2 ,( int )(height - this .getHeight()) / 2 );
????????
this .setVisible( true );
????????
this .setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
????????TreeNode?root?
= ?makeSampleTree();
????????model?
= ? new ?DefaultTreeModel(root);
????????tree?
= ? new ?JTree(model);
????????DefaultTreeCellRenderer?renderer
= new ?DefaultTreeCellRenderer();
????????renderer.setLeafIcon(
new ?ImageIcon( " 1.gif " ));
????????renderer.setClosedIcon(
new ?ImageIcon( " 2.gif " ));
????????renderer.setOpenIcon(
new ?ImageIcon( " 3.gif " ));
????????
// renderer.setBackgroundNonSelectionColor(Color.BLUE);
????????
// renderer.setBackgroundSelectionColor(Color.RED);
????????renderer.setBorderSelectionColor(Color.RED);
????????tree.setCellRenderer(renderer);
????????Container?contentPane?
= ?getContentPane();
????????JScrollPane?scrollPane?
= ? new ?JScrollPane(tree);
????????contentPane.add(scrollPane,?
" Center " );
????????JPanel?panel?
= ? new ?JPanel();
????????addSiblingButton?
= ? new ?JButton( " Add???Sibling " );
????????addSiblingButton.addActionListener(
this );
????????panel.add(addSiblingButton);
????????addChildButton?
= ? new ?JButton( " Add???Child " );
????????addChildButton.addActionListener(
this );
????????panel.add(addChildButton);
????????deleteButton?
= ? new ?JButton( " Delete " );
????????deleteButton.addActionListener(
this );
????????panel.add(deleteButton);
????????contentPane.add(panel,?
" South " );
????}


????
public ?TreeNode?makeSampleTree()? {
????????DefaultMutableTreeNode?root?
= ? new ?DefaultMutableTreeNode( " World " );
????????DefaultMutableTreeNode?country?
= ? new ?DefaultMutableTreeNode( " USA " );
????????root.add(country);
????????DefaultMutableTreeNode?state?
= ? new ?DefaultMutableTreeNode( " California " );
????????country.add(state);
????????DefaultMutableTreeNode?city?
= ? new ?DefaultMutableTreeNode( " San???Jose " );
????????state.add(city);
????????city?
= ? new ?DefaultMutableTreeNode( " Cupertino " );
????????state.add(city);
????????state?
= ? new ?DefaultMutableTreeNode( " Michigan " );
????????country.add(state);
????????city?
= ? new ?DefaultMutableTreeNode( " Ann???Arbor " );
????????state.add(city);
????????country?
= ? new ?DefaultMutableTreeNode( " Germany " );
????????root.add(country);
????????state?
= ? new ?DefaultMutableTreeNode( " Schleswig-Holstein " );
????????country.add(state);
????????city?
= ? new ?DefaultMutableTreeNode( " Kiel " );
????????state.add(city);
????????
return ?root;
????}

????
public ? void ?actionPerformed(ActionEvent?event)? {
????????DefaultMutableTreeNode?selectedNode?
= ?(DefaultMutableTreeNode)?tree
????????.getLastSelectedPathComponent();
????????
if ?(selectedNode? == ? null )
????????????
return ;
????????
if ?(event.getSource().equals(deleteButton))? {
????????????
if ?(selectedNode.getParent()? != ? null )
????????????????model.removeNodeFromParent(selectedNode);
????????????
return ;
????????}

????????DefaultMutableTreeNode?newNode?
= ? new ?DefaultMutableTreeNode( " New " );
????????
if ?(event.getSource().equals(addSiblingButton))? {
????????????DefaultMutableTreeNode?parent?
= ?(DefaultMutableTreeNode)?selectedNode
????????????.getParent();

????????????
if ?(parent? != ? null )? {
????????????????
int ?selectedIndex? = ?parent.getIndex(selectedNode);
????????????????model.insertNodeInto(newNode,?parent,?selectedIndex?
+ ? 1 );
????????????}

????????}
? else ? if ?(event.getSource().equals(addChildButton))? {
????????????model.insertNodeInto(newNode,?selectedNode,?selectedNode
????????????????????.getChildCount());
????????}

????????TreeNode[]?nodes?
= ?model.getPathToRoot(newNode);
????????TreePath?path?
= ? new ?TreePath(nodes);
????????tree.scrollPathToVisible(path);
????}

}
?
public ? class ?TreeEditTest? {
????
public ? static ? void ?main(String[]?args)? {
????????JFrame?frame?
= ? new ?TreeEditFrame();
????????frame.show();
????}

}


截圖:
如何做出一個(gè)復(fù)雜的JTree模型?

如何做出一個(gè)復(fù)雜的JTree模型?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 一级黄色片欧美 | 亚洲毛片无码专区亚洲A片 日本高清www午色夜黄 | 亚洲一区二区三区免费视频 | 人人狠狠 | 国产在线视频2019最新视频 | 欧美一区二区三区久久久 | 久草首页在线观看 | 91在线直播 | 噜噜噜噜狠狠狠7777视频 | 亚洲人天堂 | 精品久久久av | 亚洲精品久久久 | 精品国产乱码久久久久久久 | 免费看一区二区三区 | 午夜电视剧 | 亚拍自拍 | 男女啪啪高清无遮挡 | japanesemature乱子在线 | 久久一区 | 午夜影院毛片 | 亚洲一区国产二区 | 日韩在线观看视频一区 | 欧美精品在线免费观看 | 在线视频 中文字幕 | 99久久这里只有精品 | 久久久无码精品亚洲日韩按摩 | 99re国产 | 国产欧美日韩视频在线观看 | 91精品国产色综合久久 | 青草福利 | 99中文在线 | 午夜影皖普通区 | 毛片a区 | 天天爽夜夜爽夜夜爽精品视频 | 九九色综合 | 欧美成人h版整片合集 | 欧美亚洲韩国国产综合五月天 | 国产91精品久久久久久久 | 亚洲精品一区二区深夜福利 | 日韩欧美色 | 超级碰碰碰视频在线观看 |