java 板


LINE

※ 引述《BlackMatrix (BlackMatrix)》之銘言: : 最近教授有教怎麼做出簡單&上面有按鈕的程序 : 那...教授叫我們做出一個程序 : 有八個按鈕, 然後一開始程序就會設定每種按鈕的顏色, 然後點擊按鈕的時候會變換 : 那個被點擊的按鈕的框框會自動改變隨機的顏色. : /////////想像//////// START : 以下是想像的程序碼 : int x = 0; : if x = 1 那就是我第一個按鈕 : 就是設定一個Counter, 像我的程序碼一樣, 然後每一個數字代表一個JButton : 就是如果counter ++, 那麼counter在2的時候就是會自動的等於我的JButton : 再利用X.setBackground(XXXX顏色), 可是因為我知道教授給我的數目是八個 : 所以我就利用JButton one, two, three four到eight : 萬一教授沒有指定框框數目可是又要求我們把每一個框框隨機不同顏色,點擊不同 : 的顏色怎麼辦? : 簡單來說, 要怎麼設定N個框框, 隨機顏色很簡單, 可是還有另一個重點就是 : ActiveListener的GetSource要怎麼把他設定成只要是我剛剛設定的N個框框要是被點擊 : 就會自動改變顏色? : /////////想像//////// END : 可是問題是我不會讓X = 1 等於一個JButton : 所以我就寫出以下的程序, 可以完成老師要求的事, 可是我不知道有什麼更簡單的方法 : 可以做出相同的事情 : Frame: : http://nopaste.csie.org/211d0 : Main: : http://nopaste.csie.org/50a20 問題一 , 怎麼讓x=1 是一個JButton. 用陣列 , 寫個sample給你 , 剩下的問題點你自己再慢慢深入去摸, 陣列操作上有一些難懂的地方,慢慢做下去你也會碰到. (比方說常常有人會只宣告陣列長度 , 沒有對內容做實體化就拿來操作之類的.) ===========你的原code============ oneOneButton = new JButton ("First Panel: Press me ONE"); oneOneButton.addActionListener(new PressListener()); oneTwoButton = new JButton ("First Panel: Press me TWO"); oneTwoButton.addActionListener(new PressListener()); oneThreeButton = new JButton ("First Panel: Press me THREE"); oneThreeButton.addActionListener(new PressListener()); oneFourButton = new JButton ("First Panel: Press me FOUR"); oneFourButton.addActionListener(new PressListener()); ================================ 改陣列的code String[] buttonName={"ONE","TWO","THREE","FOUR"}; JButton[] oneButton=new JButton[4]; for(int i=0;i<oneButton.length;++i){ oneButton[i]=new JButton("First Panel: Press me "+buttonName[i]); oneButton[i].addActionListener(new PressListener()); //話說回來,如果你Listener都只是做一樣的事情 , //沒啥特別的處理, 其實或許只要產生一個, // 所有人都add同一個就OK了... } 你也可以在事件發生的地方這樣判斷 Object obj=e.getSource(); for(int i=0;i<oneButton.length;++i){ if(obj==oneButton[i]){ //被選定的是按鈕i //對oneButton[i]改顏色等~ } } 如果你只有JButton會發生事件 , 你更可以用 JButton clickedButton=(JButton) e.getSource(); 針對被點擊的 clickedButton 做操作... -- 加油囉 -- What do you want to have ? / What do you have? 從書本中,你可以發現我的各種興趣。 從CD中,你可以瞭解我所喜歡的偶像明星。 或許從文字你很難以瞭解一個人,但從物品可以。 My PPolis , My past. http://ppolis.tw/user/Tony --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.93.82
1F:→ TonyQ:判斷instanceof也可, 純粹是懶得解釋instance才沒說XD 02/20 16:35
2F:推 BlackMatrix:謝謝TonyQ的提示, 我正在改進我的Code 02/20 17:23
3F:→ BlackMatrix:謝謝TonyQ的提示, 我已經把我的Code順利做完了,謝謝 02/20 17:54







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP