[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 13126] 第 1 回議事録



吉本です。

「Filthy Rich Clientsを読む会」の第1回議事録を送付します。

よろしくお願いします。

Java“Ǐ‘‰ï uFilthy Rich Clientsv‚ð“Ç‚Þ‰ñi‘æ1‰ñj‹cŽ–˜^

“úŽž : 2009/4/11(“y)@10:00-17:00
êŠ : ‚’ÃŽs–¯ŠÙ@‘æ‚T‰ï‹cŽº
oÈŽÒF¡ˆäAŠâŽºA‰““¡A¬ìA”öŠÖA¬’I–؁A–å˜eA‚]BA‚‹´(“O)A‚‹´(’q)A
@@@@ª–{A¼‰iA‘ºŽRA‹g–{(‘‹L)
||||||||||||||||||||||||||||||||||||||||||||
¦“¯‘‚̌뎚’EŽš‚Í”ñí‚ɐ”‚ª‘½‚¢‚½‚߁A‹cŽ–˜^‚©‚ç‚ÍŠ„ˆ¤‚µ‚Ü‚·B

¡•\Ž†
@E•\Ž†‚̐F‚͉½FH
@@@¨Â‚Å‚¢‚¢‚̂ł́H

¡˜•¶
¡‘O‘‚«
@xx
@@ŠO•”ƒŠƒ\[ƒX
@@@E3s–ڂ́A‚í‚´‚Ɓu–âˆá‚¢v‚Æ‚µ‚Ä‚¢‚éB

@xxi
@@‘¼‚̃vƒƒWƒFƒNƒg
@@@EJOGL‚Å‚ÍJava3D‚ÍŽg—p‚µ‚Ä‚¢‚é‚Ì‚©H
@@@@¨Žg‚Á‚Ä‚¢‚È‚¢B

¡ŽÓŽ«
¡•MŽÒ‚ÉŠÖ‚µ‚Ä
¡“ú–{‚Ì“ÇŽÒ‚Ì‚Ý‚È‚³‚ñ‚Ö
¡–óŽÒ‘O‘‚«
¡‚Í‚¶‚ß‚É
@P1
@@Eƒf[ƒ^ƒoƒCƒ“ƒfƒBƒ“ƒO‚Ƃ͉½‚©H
@@@¨JAXB‚Ì‚±‚Æ‚©H
@@@@¨JAXB‚ÍJavaƒNƒ‰ƒX‚𐶐¬‚·‚éB
@@@@¨ƒNƒ‰ƒX‚ÍAPI‚ÆŒ¾‚Á‚Ä‚à‚¢‚¢‚Ì‚©H
@@@¨’1‚©‚ç”»’f‚µ‚āA–󒍂ł͈Ӗ¡‚ðŽæ‚èˆá‚¦‚Ä‚¢‚é‚Æ‚¢‚¤‚±‚Æ‚Í‚È‚¢‚Ì‚©H
@@@¨‚»‚̉”\«‚Í‚ ‚éBXML‚Í‚ÉŒ¾‹y‚³‚ê‚Ä‚¢‚È‚¢B

@P2
@P3
@P4
@P5
@P6
@@Eƒuƒ‹[ƒ€ƒGƒtƒFƒNƒg‚̃Tƒ“ƒvƒ‹‚ª“®‚©‚È‚¢
@@@¨Windows‚̉æ–ʐF”‚ª16ƒrƒbƒg‚¾‚Á‚½‚¾‚ß‚É—áŠO‚ª”­¶B
@@@¨32ƒrƒbƒg‚É‚·‚éB

@P7

¡‘æ‡T•”@ƒOƒ‰ƒtƒBƒbƒNƒX‚ÆGUI‚ÌŠî–{

¡‘æ1Í@ƒfƒXƒNƒgƒbƒvJavaƒOƒ‰ƒtƒBƒbƒNƒXAPI
@P11
@@EAWT‚ÆSwing‚Ì—¼•û‚ªƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚猩‚¦‚é‚Ì‚Í•ª‚©‚è‚É‚­‚¢B
@@@¨ŒÝŠ·«‚ðˆÛŽ‚µ‚È‚ª‚çŠg’£‚µ‚Ä‚¢‚Á‚½‚½‚߁B
@@@¨Java‚Ì—ðŽj
@@@¨–{“–‚ɐ«”\‚ð’Ç‹‚·‚é‚ƁAV‚µ‚¢‚à‚Ì‚É‚·‚邵‚©‚È‚¢‚ªB

@P12
@@EƒCƒ“ƒtƒ‰ƒXƒgƒ‰ƒNƒ`ƒƒ‚Æ‚µ‚Ä–ðŠ„ˆÈã‚Ì‚à‚Ì‚ðŽ‚Â‚æ‚¤‚É‚È‚Á‚Ä‚¢‚é‚Ƃ́H
@@@¨AWT‚ÍŒ³X‚̓c[ƒ‹ƒLƒbƒg‚¾‚Á‚½‚ªASwing‚̃Cƒ“ƒtƒ‰‚Æ‚µ‚Ä‚Ì–ðŠ„‚ðŽ‚Â‚æ‚¤‚É‚È‚Á‚½B

@P13
@@EJava2D‚Ì–{‚ŗǏ‘‚Í‚ ‚é‚©H
@@@¨—m‘‚ł̓Iƒ‰ƒCƒŠ[‚Ì–{‚ª‚ ‚éB
@@@¨˜a‘‚Å‚Í‚È‚³‚»‚¤B
@@@¨JDK‚Ì•t‘®ƒhƒLƒ…ƒƒ“ƒg‚ª‚ ‚éB

@@EŒy—ʂƂ́uƒlƒCƒeƒBƒu‚ɑΉž‚µ‚Ä‚¢‚È‚¢vˆÓ–¡‚Å‚¢‚¢‚Ì‚©H
@@@¨ƒOƒ‰ƒtƒBƒbƒN‚̓‰ƒCƒuƒ‰ƒŠ‚Å•`‰æ‚µ‚āAƒlƒCƒeƒBƒu‚̃Šƒ\[ƒX‚ÍŽg‚í‚È‚¢B
@@@¨‘‚¢‚Æ‚¢‚¤ˆÓ–¡‚Å‚Í‚È‚¢B
@@@¨d—ʂƂ́A•”•i‚P‚‚P‚‚ÉID‚ªU‚ç‚ê‚āAWindows‚Ì•”•i‚Æ‚µ‚Ä“®‚­‚à‚́B

yh‘èzŽ©‘î‚â‰ïê‚ŁAƒTƒ“ƒvƒ‹‚ð“®‚©‚µ‚Ă݂悤B

@P14

¡‘æ2Í@Swing‚̃Œƒ“ƒ_ƒŠƒ“ƒO‚ÌŠî–{
@P15
@@EƒOƒ‰ƒtƒBƒbƒNƒX‚̏ó‘ԂƂ́AƒOƒ‰ƒtƒBƒbƒNƒXƒRƒ“ƒeƒLƒXƒg‚Ì‚±‚Æ‚©H
@@@¨P51‚É‹Lq‚ª‚ ‚éB
@@@¨ƒOƒ‰ƒtƒBƒbƒNƒIƒuƒWƒFƒNƒg‚Ì‚±‚ƁH
@@@¨ƒOƒ‰ƒtƒBƒbƒNƒX‚ŁAˆê”Ê“I‚ɂ͂ǂ̂悤‚ÉŒ¾‚¤‚à‚Ì‚È‚Ì‚©H

yh‘èzŒ´‘‚ł́uó‘ԁv‚͂ǂ̂悤‚É‹Lq‚³‚ê‚Ä‚¢‚é‚©H@contextH@stateH

@P16
@@ESwing‚âJavaˆÈŠO‚ł́AEDT‚ƌĂԂ̂©H
@@@¨WPF‚Í“¯‚¶‚悤‚ÈŽd‘g‚Ý‚ðŽ‚Á‚Ä‚¢‚éB
@@@¨“ˆê“I‚È–¼Ì‚Í‚ ‚é‚Ì‚©H
@@@¨JavaˆÈŠO‚Å‚ÍEDT‚Í•·‚©‚È‚¢B

@P17
@P18
@@E15s–Ú‚Érepaint()‚ÌŒ‡“_‚́EEE‚Æ‹Lq‚³‚ê‚Ä‚¢‚āA16s–Ú‚É‚Ípaint()‚̌Ăяo‚µ‚Æ‚È‚Á‚Ä‚¢‚邪
@@@‚¢‚¢‚Ì‚©H
@@@¨— ‘¤‚Ì“®‚«‚́A‚±‚Ì‹Lq‚Å‚àŠÔˆá‚¢‚Å‚Í‚È‚¢B
@@@¨Œ´‘‚Å‚Í‚Ç‚¤‚È‚Á‚Ä‚¢‚é‚Ì‚©H
@@@¨—¼•û‚Æ‚àrepaint()‚Å‚à˜b‚Í’Ê‚¶‚éB

@P19
@@E3s–ڂ́u‚±‚́v‚Ì‹Lq‚Í—]Œv‚©H

@P20
@@E’3‚̍Ōã‚Ì3s‚͉½‚ðŒ¾‚Á‚Ä‚¢‚é‚Ì‚©H
@@@¨ƒWƒƒƒNƒ\ƒ“Eƒ|ƒƒbƒN‚ÌŠG‚𒲂ׂĂ݂é‚Æ•ª‚©‚éB

@P21
@@E9s–ڂɁA•W€‚Å‚±‚̂悤‚È‹@”\‚Í‚·‚Å‚ÉŽ‚Á‚Ä‚¢‚é‚Æ‚ ‚邪EE
@@@¨‚ ‚é’ö“x‚Ì•W€ˆÈŠO‚Ì‹@”\‚àSwing•”•i‚ÍŽ‚Á‚Ä‚¢‚é‚Æ‚¢‚¤‚±‚ƁB
@@@¨‹Lq‚ª•ª‚©‚è‚É‚­‚¢B

@P22
@P23
@P24
@@EdrawImage‚Ì4‚ÅŠ„‚Á‚Ä‚¢‚éˆÓ–¡‚ª‚æ‚­•ª‚©‚ç‚È‚¢B
@@@¨¶‚©‚ç1/4‚̈ʒu‚𒆐S‚É‚·‚é‚Æ‚¢‚¤‚±‚Æ‚©B

@P25
@P26
@@EƒTƒ“ƒvƒ‹ƒ\[ƒX‚Ì3s–ځ`5s–Ú‚Ì•”•ª‚̈Ӗ¡‚́H
@@@¨ƒ{ƒ^ƒ“‚̍‚‚³‚╝‚ª•ÏX‚³‚ê‚ê‚΁AÄ•`‰æ‚·‚é‚Æ‚¢‚¤‚±‚ƁB

@@EƒTƒ“ƒvƒ‹ƒ\[ƒX‚Ì6–ڂŁAcreateImage‚Ì–ß‚è’l‚ÍImage‚È‚Ì‚ÉBufferedImage‚É‚È‚ºƒLƒƒƒXƒg‚Å‚«‚é‚Ì‚©H
@@@¨‚±‚̕ӂ肪ƒSƒ`ƒƒ‚‚¢‚Ä‚¢‚é‚̂ŁA„§‚³‚ê‚Ä‚¢‚È‚¢B
@@@¨ƒ_ƒEƒ“ƒ[ƒho—ˆ‚éƒ\[ƒX‚ł́A„§‚³‚ê‚Ä‚¢‚éŒÝŠ·‰æ‘œ‚ªŽg‚í‚ê‚Ä‚¢‚éB
@@@@‚±‚¿‚ç‚ł̓LƒƒƒXƒg‚³‚ê‚Ä‚¢‚È‚¢B

@P27
@@EComposite‚ÌŠT”O‚́H
@@@¨‰½‚𒊏ۉ»‚µ‚½‚à‚Ì‚©H
@@@¨’¼–ó‚·‚é‚Æ•¡‡
@@@¨•¡”‚̉摜‚ðd‚˂邱‚Æ‚ªo—ˆ‚é‚Æ‚¢‚¤‚±‚Æ‚©B

@P28
@@EƒAƒ‹ƒtƒ@’l‚Ƃ́H
@@@¨ƒAƒ‹ƒtƒ@ƒuƒŒƒ“ƒh’l‚Ì‚±‚ƁBi“§‰ß“x‚ÌŠ„‡j

@@EƒOƒ‰ƒtƒBƒbƒNƒXƒvƒŠƒ~ƒeƒBƒu‚Ƃ́H
@@@¨üA“_A‰~‚È‚Ç‚ÌŠÈ’P‚È–½—ß‚Å•`‰æo—ˆ‚é}Œ`‚â•”•iB
@@@¨P77‚É’è‹`‚ª‚ ‚éB

@@E•s“§–¾‚È•”•i‚́A‚»‚Ì”wŒi‚ðŠ®‘S‚É•`‰æ‚·‚é‹`–±‚ª‚ ‚é‚Ƃ́H
@@@¨Ž©•ª‚Ì”wŒi‚ð“h‚è’ׂ·‚Æ‚¢‚¤‚±‚Æ‚©B
@@@¨ƒfƒtƒHƒ‹ƒg‚ÌpaintComponent()‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚é‚ƁA“h‚è’ׂµˆ—‚ªŒÄ‚΂ê‚È‚­‚È‚é‚Ì‚Å
@@@@Ž©•ª‚É“n‚³‚ꂽ—̈æ“à‚́A‘S‚ÄŽ©•ª‚Å•`‰æ‚µ‚È‚¢‚Æ‚È‚ç‚È‚¢B
@@@@iƒfƒtƒHƒ‹ƒg‚ÌpaintComponent()‚Ì’†‚É“h‚è’ׂµˆ—‚ª“ü‚Á‚Ä‚¢‚éBj

@P29
@P30
@P31
@@E^‚̃_ƒuƒ‹ƒoƒbƒtƒ@‚͍‚ƒRƒXƒg‚Å‚Í‚È‚¢‚Ì‚©H
@@@¨ƒtƒŠƒbƒvƒtƒƒbƒv•ûŽ®‚Ő؂è‘Ö‚¦‚é‚Ì‚Å‚ ‚ê‚΍‚ƒRƒXƒgB
@@@¨‚Å‚à‚µ‚Ä‚¢‚È‚¢‚¾‚낤B
@@@¨ƒoƒbƒNƒoƒbƒtƒ@‚Ö‚Ì•`‰æŠ®—¹‚ŁAƒEƒBƒ“ƒhƒE‚ɃRƒs[‚·‚é‚Ì‚Å‚ ‚ê‚Ζâ‘è‚È‚¢B
@@@¨‚±‚ê‚܂ł̃oƒbƒtƒ@‚ª“‚·‚¬‚½‚¾‚¯H

@P32
@@EƒLƒ…[‚̍ő咷‚ÍŒˆ‚Ü‚Á‚Ä‚¢‚é‚Ì‚©H
@@@¨–³ŒÀ‚Å‚Í‚È‚¢‚Í‚¸‚¾‚ªB
@@@¨LinkedList‚ðŽg‚Á‚Ä‚¢‚é‚̂ŁAƒƒ‚ƒŠ‚ÌŒÀŠE‚Ü‚Å‚Í‘åä•v‚ÆŽv‚í‚ê‚éB

@P33
@@EƒtƒŠ[ƒY‚·‚éƒfƒ‚‚ŁAƒ{ƒ^ƒ“‚ð‰Ÿ‚µ‚½‚Ü‚Ü‚É‚È‚Á‚Ä‚àÄ•`‰æ‚³‚ê‚Ä‚¢‚é‚悤‚¾‚ªEE
@@@¨Windows‚©‚ç‚̃ƒbƒZ[ƒW‚ðŽó‚¯•t‚¯‚éƒXƒŒƒbƒh‚Í“®‚¢‚Ä‚¢‚é‚̂ŁA
@@@@ÅŒã‚̍ĕ`‰æ‚ð‚µ‚Ä‚¢‚é‚ÆŽv‚í‚ê‚éB

@P34
@@Eu‚±‚ê‚ÍEDTã‚ŃeƒLƒXƒg•”•i‚̏ó‘Ô‚ð•ÏX‚µ‚È‚¢‚Æ‚¢‚¤Swing‚̃Vƒ“ƒOƒ‹ƒXƒŒƒbƒhƒ‹[ƒ‹‚É”½‚µ‚Ä‚¢‚éBv
@@@‚±‚Ì‹Lq‚Í”½‘΂Ȃ̂ł́H
@@@¨“ú–{Œê–󂪕ª‚©‚è‚É‚­‚·‚¬‚éB

@P35
@@EreadHugeFile()‚ª’·‚­ŽžŠÔ‚ª‚©‚©‚éê‡Anull‚Ìtext‚ÅinvokeLater()‚ªŒÄ‚яo‚³‚ê‚é‚Ì‚©H
@@@¨‚Ü‚¸readHugeFile()‚ðŒÄ‚яo‚·ƒXƒŒƒbƒh‚ªŠJŽn‚³‚êA‚»‚Ì’†‚ÅreadHugeFile()‚ªŒÄ‚яo‚³‚ê‚éB
@@@@‚»‚ÌŒã‚ŐV‚½‚ȃXƒŒƒbƒh‚𐶐¬‚µ‚āA‚»‚Ì’†‚ÅinvokeLater()‚ðŒÄ‚яo‚·ƒR[ƒh‚ª“n‚³‚ê‚ÄŽÀs‚³‚ê‚éB

@P36
@P37
@@EinvokeAndWait()‚ðEDTã‚Å“®‚©‚·‚Æ‚Ç‚¤‚È‚é‚©H
@@@¨ƒfƒbƒhƒƒbƒN‚·‚é‚Í‚¸B
@@@¨JavaSE6‚¾‚ÆError‚ª•Ô‚éŽÀ‘•‚Æ‚È‚Á‚Ä‚¢‚éB
@@@¨‚Å‚àFuture‚ðŽg‚¤•û‚ª¡•—‚©B

@P38
@P39
@P40
@P41
@P42
@P43

ˆÈã

ŽŸ‰ñ‚́A‘æ3Í‚æ‚èB