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

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