?
前言
????? 已經(jīng)有近一個(gè)半月沒有寫總結(jié)了,蠻慚愧的,這說(shuō)明我的毅力不足。一旦把精力放在專業(yè)課上,數(shù)天不敲編碼,整個(gè)人就松懈下來(lái)了。前幾天,參閱QQ界面相關(guān)資料時(shí),看到了這樣一句話: 如今我來(lái)了,你們看到的也將不同.....
???? ?而我們呢?我們來(lái)到了藍(lán)杰,可是我們究竟改變了多少了?我想這和我們投入的時(shí)間和精力是成正比的。現(xiàn)在的我還很爛,不過(guò)我也會(huì)一步步讓你們看到我的改變。。。。
?????
????? 步入正題!
????? 這幾天一直在嘗試做QQ界面,查閱資料下,掌握了對(duì)JTree添加圖片的方法,以及Swing組件的setBounds(int x, int y, int width, int height)方法的應(yīng)用
?
JTree添加圖片
?
???? 1.首先定義根節(jié)點(diǎn)和葉節(jié)點(diǎn)
???? DefaultMutableTreeNode root = new DefaultMutableTreeNode("根節(jié)點(diǎn)");
?
???? DefaultMutableTreeNode leafNode1 = new DefaultMutableTreeNode("葉節(jié)點(diǎn)1");
???? DefaultMutableTreeNode leafNode2 = new DefaultMutableTreeNode("葉節(jié)點(diǎn)2");
???
??? root.add(leafNode1);
??? root.add(leafNode2);
?
??? 2.設(shè)置樹的顯示風(fēng)格
????? UIManager.getDefaults().put("Tree.lineTypeDashed", true);// 設(shè)置連接線為虛線
????? UIManager.getDefaults().put("Tree.lineTypeDashed",false); //設(shè)置連接線為直線
??
????? JTree? tree = new JTree(root);//建樹
?????
????? tree.putClientProperty("JTree.lineStyle","None");//去掉連接線
????? tree.putClientProperty("JTree.lineStyle","Horizontal");//將樹設(shè)為水平分隔風(fēng)格
????? tree.putClientProperty("JTree.lineStyle","Angled");//默認(rèn)
?
??? 3.給樹上節(jié)點(diǎn)添加圖片
?????
????? 首先要獲得樹的DefaultTreeCellRenderer?
????? DefaultTreeCellRenderer? renderer = (DefaultTreeCellRenderer) tree.getCellRenderer();
?????
????? Icon rootIcon = new ImageIcon("rootIcon路徑");
????? Icon leafIcon = new ImageIcon("leafIcon路徑");
?????? 添加圖片
?????? rend.setLeafIcon(leafIcon);//葉節(jié)點(diǎn)圖片
???????rend.setOpenIcon(rootIcon);//樹打開時(shí)顯示的圖片
???????rend.setClosedIcon(collIcon);//樹關(guān)閉時(shí)顯示的圖片
?
?????? 若要隱藏根節(jié)點(diǎn)
?????? tree.setRootVisible(false);
????
?
setBounds(int x, int y, int width, int height)方法的應(yīng)用
???? 很早以前就看到了這個(gè)方法,其說(shuō)明:(x,y)為組件顯示的坐標(biāo),(width,height)為組件的寬和高
???? 但無(wú)論我怎么設(shè)置都沒有用,知道前天看到了一個(gè)具體實(shí)例才豁然開朗,只需要加上一行代碼:
???? this.setLayout(null);
???? 郁悶,很多時(shí)候困擾我的都是一行代碼的事。
????
???? ?
思考
???? 初學(xué)JAVA不過(guò)2個(gè)多月,我們對(duì)API類的運(yùn)用還處于低級(jí)水平。我想,同小組的很多人都沒有用過(guò)API類庫(kù),上面有詳細(xì)的注解和實(shí)例,我也是前天才下了一個(gè)。 API類庫(kù)是一個(gè)很好的工具 。
???? ?其次,我們添加組件調(diào)用的都是API庫(kù)內(nèi)現(xiàn)成的類,很多時(shí)候都達(dá)不到我們想要的效果,如果我們寫一個(gè)類繼承某個(gè)組件,在其內(nèi)寫方法進(jìn)行設(shè)置,可能就方便很多。比如給JButton添加圖標(biāo),寫一個(gè)類MyJButton extends JButton ,在其構(gòu)造器內(nèi)傳入圖標(biāo)。。。對(duì)JTree添圖標(biāo)也可以采用相同的做法。。。
????? 這只是我的一些小想法,還沒有真的用過(guò),只是一種思路罷了。
?
???? 最后, 我覺得越是細(xì)節(jié)的東西,越是重要,細(xì)節(jié)的地方掌握多了,以后做東西就很得心應(yīng)手 。???
??
?
????
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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