約 6,117,515 件
https://w.atwiki.jp/cthulhutech/pages/20.html
欠点(DRAWBACKS)一覧 (準備中)
https://w.atwiki.jp/macinakapiano/pages/261.html
ウィング高輪WEST Wing Christmas 2019 演奏可能時間 11 00 - 19 00 (金) 10 00 - 19 00 (土日) 設置期間 2019年11月8日 - 2019年11月10日 設置場所 東京都港区高輪4-10-18、wing TANAKAWA WEST アクセス 京急線・都営浅草線 品川駅から徒歩2分。 JR山手線・京浜東北線 品川駅から徒歩3分。 JR上野東京ライン・東海道線・常磐線 品川駅から徒歩4分。 JR横須賀線・総武線 品川駅から徒歩5分。 JR東海道新幹線 品川駅から徒歩6分。 都営浅草線 高輪台駅から徒歩11分。 羽田空港から 静岡から 長野から 仙台から いわきから 横浜から 長津田から 大宮から 千葉から 茂原から 設置ピアノ ヤマハ製アップライト(ペイントピアノ2号機)。 設置環境 屋内(吹き抜け) 近隣のまちなかピアノ 川崎地下街アゼリア REPAIR BOX: 京急線品川駅から列車で10分(品川→川崎)、川崎駅下車、徒歩3分。 NAVITIME検索結果はこちら 羽田空港Terminal 1: 京急線品川駅から列車で15分(品川→羽田空港国内線ターミナル)、羽田空港国内線ターミナル駅下車、徒歩5分。 NAVITIME検索結果はこちら その他 関連リンク YAMAHAの公式ページ twitter関連投稿 Instagram関連投稿
https://w.atwiki.jp/xboxarmy/pages/27.html
TOP>メンバー一覧>trywing trywing(トライウイング) ゲーマータグ trywing 性別 男 居住地 北海道 所持ハード XBOX360、PSP 所持ゲーム(XBOX系) FARCRY2、ベガス2、COD4、codWaW、、ゴーストリコン2、ぶれいぶるー FORZA2+ピニャー BF1943 BFBC 好きなゲームジャンル MMORPG FPS ゲーム以外の趣味 仕事とゲームしかしてない人に他の趣味を聞かれても(´・ω・`) 本人から一言 ネットゲーム中心に生活してますので、箱に居ないときはネトゲしてます。水城さんやリオさんなら呼び出せるはずですのでお気軽にどーぞ コメントには「他のメンバーから見たこのメンバーの印象」などを書いて下さい。(名前の無いコメントは削除対象とします) 淡々としてるかに見えて実はそうでもないというww「みんながやるなら」という意思の元、なんでもこなす万能プレイヤー! -- (水城) 2009-07-14 11 46 58 リオさんとナイフの双璧をなす。その上遠距離からスナイプも;; 中距離で待ってますね。 -- (モル) 2009-07-16 21 10 51 ナイフで同格、と言っておく!やられた時にたまに笑うのを聞くために今日も首を狙う。 -- (リオ) 2009-07-18 02 23 50 冷静に見えてじつは・・・・・・ -- (うれしいRED) 2009-07-25 10 34 57 火炎放射器とナイフが怖いです^^; -- (うげぴ) 2009-07-30 00 07 32 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/keroro00innovator/pages/4397.html
Strawberry candle Strawberry candle アーティスト 田村ゆかり 発売日 2019年5月22日 レーベル MAGES. デイリー最高順位 1位(2019年5月22日) 週間最高順位 1位(2019年5月28日) 月間最高順位 6位(2019年5月) 年間最高順位 69位(2019年) 初動売上 8034 累計売上 11016 週間1位 収録内容 曲名 タイアップ 視聴 1 聴こえないように 2 Darling Darling 3 セルフィッシュ 4 花チル夜道 5 Libido zone 6 シレーヌの心音 7 未来の果てにEscort 8 逢うたびキミを好きになる ランキング 週 月日 順位 変動 週/月間枚数 累計枚数 1 5/28 1 新 8034 8034 2 6/4 5 ↓ 1239 9273 2019年5月 6 新 9273 9273 3 6/11 10 ↓ 558 9831 4 6/18 ↓ 324 10155 5 6/25 ↓ 215 10370 6 7/2 246 10616 2019年6月 22 ↓ 1343 10616 7 7/9 175 10791 8 7/16 225 11016
https://w.atwiki.jp/keroro00innovator/pages/3180.html
Winning Day/Lucky☆Lucky Winning Day/Lucky☆Lucky アーティスト KARAKURI/4U 発売日 2016年12月7日 レーベル ビクター デイリー最高順位 8位(2016年12月9日) 週間最高順位 10位(2016年12月13日) 月間最高順位 25位(2016年12月) 年間最高順位 356位(2016年) 初動売上 3879 累計売上 4974 収録内容 曲名 タイアップ 視聴 1 Winning Day Tokyo 7th シスターズ 2 Lucky☆Lucky ランキング 週 月日 順位 変動 週/月間枚数 累計枚数 1 12/13 10 新 3879 3879 2 12/20 ↓ 579 4458 3 12/27 342 4800 2016年12月 25 新 4800 4800 4 17/1/10 174 4974 関連CD トワイライト -Zero/TREAT OR TREAT? TRIGGER/Fire and Rose AMATERRAS
https://w.atwiki.jp/elvis/pages/5595.html
Dictionnaire International D'Abreviations Aeronautiques Et Spatiales I B D Ltd? IBDLtd? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-General? Subjects-Professional&Technical-Engineering-General Subjects-Science-General English-French Encyclopedic Dictionary of Electronics I B D Ltd? M. Fleutry? IBDLtd? M.Fleutry? ユーズドブック(洋書)-Engineering Subjects-Engineering-Electrical&Electronics-Electronics-General? Subjects-Nonfiction-Education-Reference-Dictionaries&Thesauri-English(All)? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Electronics-General? Subjects-Reference-Dictionaries&Thesauruses-English(All)? Subjects-Reference-General? Illustrated Dictionary of Robotics English German French Russian I B D Ltd? Sergey M. Paley? IBDLtd? SergeyM.Paley? ユーズドブック(洋書)-Engineering Subjects-Engineering-ComputerTechnology-Robotics&Automation? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Engineering-Mechanical-Robotics? Subjects-Nonfiction-Education-Reference-Dictionaries&Thesauri-English(All)? Subjects-Nonfiction-Education-Reference-Dictionaries&Thesauri-ForeignLanguage-Russian? Subjects-Professional&Technical-Engineering-ComputerTechnology-Robotics&Automation? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Professional&Technical-Engineering-Mechanical-Robotics? Subjects-Reference-Dictionaries&Thesauruses-English(All)? Subjects-Reference-Dictionaries&Thesauruses-ForeignLanguage-Russian? Subjects-Reference-General? Art De L'Ingenieur Centre Georges Pompidou Service Commercial,France? Antoine Picon? CentreGeorgesPompidouServiceCommercial,France? AntoinePicon? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-Art-General? Subjects-Arts&Photography-Architecture-General? Subjects-Arts&Photography-Architecture-Reference? Subjects-Engineering? Subjects-Nonfiction-ForeignLanguageNonfiction-French? Subjects-Professional&Technical-Engineering? Subjects-Professional&Technical-Architecture-General? Subjects-Professional&Technical-Architecture-Reference? Refuge Wear Internos Books? Lucy Orta? InternosBooks? LucyOrta? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography? Subjects-Engineering-SpecialTopics-MilitaryEngineering? Subjects-Nonfiction-ForeignLanguageNonfiction-French? Subjects-Professional&Technical-Engineering-SpecialTopics-MilitaryEngineering? Short Pulse High Current Cathodes Editions Frontieres? J Le Duff? EditionsFrontieres? JLeDuff? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering? Subjects-Nonfiction-ForeignLanguageNonfiction-French? Subjects-Professional&Technical-Engineering? Active Control in Mechanical Engineering (International Symposiums) Kogan Page Ltd? Louis Jezequel? KoganPageLtd? LouisJezequel? ユーズドブック(洋書)-Engineering Subjects-Engineering-Aerospace-AdvancedMechanics? Subjects-Engineering-Civil-Mechanics? Subjects-Engineering-Mechanical-General? Subjects-Professional&Technical-Engineering-Civil-Mechanics? Subjects-Professional&Technical-Engineering-Aerospace-AdvancedMechanics? Subjects-Professional&Technical-Engineering-Mechanical-General? Subjects-Science-General Subjects-Science-Physics-Dynamics-General? Finite Volumes for Complex Applications 1 Kogan Page Ltd? Fayssal Benkhaldoun? Roland Vilsmeier? KoganPageLtd? FayssalBenkhaldoun? RolandVilsmeier? ユーズドブック(洋書)-Engineering Subjects-Engineering-Aerospace-AdvancedMechanics? Subjects-Engineering-Civil-Mechanics? Subjects-Engineering-Mechanical-General? Subjects-Professional&Technical-Engineering-Civil-Mechanics? Subjects-Professional&Technical-Engineering-Aerospace-AdvancedMechanics? Subjects-Professional&Technical-Engineering-Mechanical-General? Subjects-Science-General Subjects-Science-Mathematics-General? Subjects-Science-Mathematics-PureMathematics-Calculus? Subjects-Science-Mathematics-Applied-General? Mechanics of Quasi-Brittle Materials and Structures Kogan Page Ltd? Gilles Pijaudier-Cabot? Zdenek Bittnar? Bruno Gerard? KoganPageLtd? GillesPijaudier-Cabot? ZdenekBittnar? BrunoGerard? ユーズドブック(洋書)-Engineering Subjects-Engineering-Civil-General? Subjects-Engineering-MaterialsScience-General? Subjects-Engineering-Mechanical-General? Subjects-Professional&Technical-Engineering-Civil-General? Subjects-Professional&Technical-Engineering-MaterialsScience-General? Subjects-Professional&Technical-Engineering-Mechanical-General? Subjects-Science-General Packaging Design (Pro-graphics) RotoVision? Conway Lloyd-Morgan? Russell Sellers? RotoVision? ConwayLloyd-Morgan? RussellSellers? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-GraphicDesign-Commercial-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-Manufacturing? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-Manufacturing? Brightly Lit Spaces (ARCO Colour) RotoVision? Francisco Asensio Cerver? RotoVision? FranciscoAsensioCerver? ユーズドブック(洋書)-Engineering Subjects-Engineering-Civil-Construction-Heating,Ventilation&AirConditioning? Subjects-Home&Garden-InteriorDesign-General? Subjects-Professional&Technical-Engineering-Civil-Construction-Heating,Ventilation&AirConditioning? Designing With Light Public Places Lighting Solutions for Exhibitions, Museums and Historic Spaces (Designing With Light Series) Rotovision? Janet Turner? Rotovision? JanetTurner? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-GraphicDesign-Commercial-General? Subjects-Arts&Photography-Architecture-BuildingTypes&Styles-General? Subjects-Arts&Photography-Architecture-Drawing&Modelling-General? Subjects-Arts&Photography-Architecture-General? Subjects-Arts&Photography-Architecture-InteriorDesign-Lighting? Subjects-Engineering-Electrical&Electronics-Lighting? Subjects-Home&Garden-InteriorDesign-General? Subjects-Home&Garden-InteriorDesign-Lighting? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Lighting? Subjects-Professional&Technical-Architecture-BuildingTypes&Styles-General? Subjects-Professional&Technical-Architecture-Drawing&Modelling-General? Subjects-Professional&Technical-Architecture-General? Subjects-Professional&Technical-Architecture-InteriorDesign-Lighting? Designing With Light Retail Spaces Lighting Solutions for Shops, Malls and Markets (Designing With Light) Rotovision? Janet Turner? Rotovision? JanetTurner? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-GraphicDesign-Commercial-General? Subjects-Arts&Photography-Architecture-BuildingTypes&Styles-General? Subjects-Arts&Photography-Architecture-General? Subjects-Arts&Photography-Architecture-InteriorDesign-General? Subjects-Engineering-Electrical&Electronics-Lighting? Subjects-Home&Garden-InteriorDesign-Decoration&Ornament? Subjects-Home&Garden-InteriorDesign-General? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Lighting? Subjects-Professional&Technical-Architecture-BuildingTypes&Styles-General? Subjects-Professional&Technical-Architecture-General? Subjects-Professional&Technical-Architecture-InteriorDesign-General? The Product Book (D AD Mastercraft) Rotovision? Catherine McDermott? Rotovision? CatherineMcDermott? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-GraphicDesign-Commercial-General? Subjects-Arts&Photography-GraphicDesign-Design-General? Subjects-Arts&Photography-GraphicDesign-GraphicArts-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? 50 Sports Wares Innovations in Design and Materials (Pro-Design) Rotovision? Mel Byars Aaron Betsky? Rotovision? MelByars? AaronBetsky? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Sports? Subjects-Arts&Photography-Fashion-Commercial? Subjects-Arts&Photography-GraphicDesign-Commercial-FashionDesign? Subjects-Arts&Photography-GraphicDesign-Commercial-General? Subjects-Arts&Photography-GraphicDesign-Design-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-Manufacturing? Subjects-Home&Garden-Crafts&Hobbies-TextileArts? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-General? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-Manufacturing? Subjects-Sports-Miscellaneous-Reference? Designing With Light Bars and Restaurants (Designing with Light) Rotovision? Jill Entwistle? Rotovision? JillEntwistle? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-Architecture-BuildingTypes&Styles-Hotels,Restaurants,&RetailSpaces? Subjects-Arts&Photography-Architecture-BuildingTypes&Styles-General? Subjects-Arts&Photography-Architecture-Drawing&Modelling-General? Subjects-Arts&Photography-Architecture-General? Subjects-Arts&Photography-Architecture-InteriorDesign-Lighting? Subjects-Engineering-Civil-Construction-Heating,Ventilation&AirConditioning? Subjects-Home&Garden-InteriorDesign-General? Subjects-Home&Garden-InteriorDesign-Lighting? Subjects-Professional&Technical-Engineering-Civil-Construction-Heating,Ventilation&AirConditioning? Subjects-Professional&Technical-Architecture-BuildingTypes&Styles-Hotels,Restaurants,&RetailSpaces? Subjects-Professional&Technical-Architecture-BuildingTypes&Styles-General? Subjects-Professional&Technical-Architecture-Drawing&Modelling-General? Subjects-Professional&Technical-Architecture-General? Subjects-Professional&Technical-Architecture-InteriorDesign-Lighting? Light Transformations (Transformations (Crans-Pres-Celigny, Switzerland).) Rotovision? Carl Gardner? Raphael Molony? Rotovision? CarlGardner? RaphaelMolony? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-Architecture-General? Subjects-Arts&Photography-Architecture-InteriorDesign-Lighting? Subjects-Engineering-Electrical&Electronics-Lighting? Subjects-Home&Garden-InteriorDesign-General? Subjects-Home&Garden-InteriorDesign-Lighting? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Lighting? Subjects-Professional&Technical-Architecture-General? Subjects-Professional&Technical-Architecture-InteriorDesign-Lighting? 100 Designs/100 Years Rotovision? Mel Byars Rotovision? MelByars? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-Art-ArtHistory-General? Subjects-Arts&Photography-GraphicDesign-Commercial-General? Subjects-Arts&Photography-GraphicDesign-Design-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-History-HistoricalStudy-SocialHistory? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Packaging Prototypes (Design Fundamentals) RotoVision? Anne Emblem? Henry Emblem? RotoVision? AnneEmblem? HenryEmblem? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Arts&Photography-Architecture-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-Manufacturing? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-Manufacturing? Subjects-Professional&Technical-Architecture-General? Capturing the Image (Digital Imaging) Rotovision? Joe Farace? Rotovision? JoeFarace? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-Photography-General? Subjects-Arts&Photography-Photography-How-to-General? Subjects-Arts&Photography-Photography-DigitalPhotography? Subjects-Arts&Photography-Photography-Equipment? Subjects-Computers&Internet-ComputerScience-Circuitry-Communication&SignalProcessing? Subjects-Computers&Internet-GraphicDesign-DigitalPhotography? Subjects-Engineering-ComputerTechnology-ImagingSystems? Subjects-Professional&Technical-Engineering-ComputerTechnology-ImagingSystems? Subjects-Science-General Printing the Image (Digital Imaging) Rotovision? Joe Farace? Rotovision? JoeFarace? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-Photography-General? Subjects-Arts&Photography-Photography-DigitalPhotography? Subjects-Arts&Photography-Photography-Equipment? Subjects-Arts&Photography-Architecture-Drawing&Modelling-CAD-CAD&CAM? Subjects-Computers&Internet-Software-Design&Development-SoftwareDesign? Subjects-Computers&Internet-GraphicDesign-DigitalPhotography? Subjects-Computers&Internet-GraphicDesign-Printing? Subjects-Computers&Internet-GraphicDesign-General? Subjects-Computers&Internet-GraphicDesign-CAD-CAD&CAM? Subjects-Computers&Internet-General? Subjects-Engineering-ComputerTechnology-ImagingSystems? Subjects-Professional&Technical-Engineering-ComputerTechnology-ImagingSystems? Subjects-Professional&Technical-Architecture-Drawing&Modelling-CAD-CAD&CAM? Subjects-Science-General Total Beauty of Sustainable Products (Design Fundamentals) Rotovision? Edwin Datchefski? Rotovision? EdwinDatchefski? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-GraphicDesign-Design-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Science-Technology-RenewableEnergy? Plastic Materials for Inspirational Design (Materials) Rotovision? Chris Lefteri? Rotovision? ChrisLefteri? ユーズドブック(洋書)-Engineering Subjects-Arts&Photography-GraphicDesign-Design-General? Subjects-Arts&Photography-GraphicDesign-GraphicArts-General? Subjects-Engineering-Chemical-PolymerChemistry? Subjects-Professional&Technical-Engineering-Chemical-PolymerChemistry? Concept Car Design Driving the Dream (Interior and Industrial Design) Rotovision? Jonathan Bell? Rotovision? JonathanBell? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Automotive? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Nonfiction-Automotive-Industry? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Professional&Technical-Engineering-Automotive? Subjects-Science-General Subjects-Science-Technology-General&Reference What Is Packaging Design (Essential Design Handbooks) Rotovision? Giles Calver? Rotovision? GilesCalver? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Arts&Photography-GraphicDesign-Commercial-General? Subjects-Arts&Photography-GraphicDesign-GraphicArts-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Metals Materials for Inspirational Design (Materials for Inspirational Design) Rotovision? Ron Arad? Chris Lefteri? Rotovision? RonArad? ChrisLefteri? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-65? Subjects-Arts&Photography-GraphicDesign-Commercial-General? Subjects-Arts&Photography-GraphicDesign-Design-General? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Engineering-Materials-Metallurgy? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Professional&Technical-Engineering-Materials-Metallurgy? Eat Me delicious, desirable, successful food packaging design Rotovision? Ben Hargreaves? Rotovision? BenHargreaves? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-65? Subjects-Arts&Photography-GraphicDesign-GraphicArts-General? Subjects-Business&Investing-Marketing&Sales-Marketing-ProductManagement? Subjects-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Professional&Technical-Engineering-Industrial,Manufacturing&OperationalSystems-IndustrialDesign? Subjects-Professional&Technical-BusinessManagement-Marketing&Sales-Marketing-ProductManagement? Picosecond Electronics and Optoelectronics (1989 Proceedings Ser.) Optical Society of Amer? OpticalSocietyofAmer? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-35 Subjects-Engineering? Subjects-Professional&Technical-Engineering? Subjects-Science-Physics-Applied? Photoelectrochemical Solar Cells (Electrocomponent Science Monographs Vol 5) Gordon & Breach Science Pub? Suresh Chandra? Gordon&BreachSciencePub? SureshChandra? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Energy-Geothermal&SolarEnergy? Subjects-Medicine-Specialties-Pathology-ClinicalChemistry? Subjects-Professional&Technical-Engineering-Energy-Geothermal&SolarEnergy? Subjects-Professional&Technical-Medical-BasicSciences-Chemistry? Subjects-Professional&Technical-Medical-Medicine-InternalMedicine-Pathology-ClinicalChemistry? Subjects-Professional&Technical-ProfessionalScience-Physics-Energy? Subjects-Science-Chemistry-General&Reference? Subjects-Science-General Subjects-Science-Physics-Applied? Subjects-Science-Technology-RenewableEnergy? Subjects-Science-Medicine-Specialties-Pathology-ClinicalChemistry? Electromagnetic Methods of Nondestructive Testing (Nondestructive Testing Monographs and Tracts, Vol 3) Gordon & Breach Science Pub? William Lord? Gordon&BreachSciencePub? WilliamLord? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Materials-Testing? Subjects-Engineering-MaterialsScience-General? Subjects-Professional&Technical-Engineering-MaterialsScience-General? Subjects-Professional&Technical-Engineering-Materials-Testing? Subjects-Science-General Carcinogenic and Mutagenic Metal Compounds Environmental and Analytical Chemistry and Biological Effects (Current Topics in Environmental and Toxicological Chemistry) Gordon & Breach Science Pub? Ernest Merian? Gordon&BreachSciencePub? ErnestMerian? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Outdoors&Nature Substores-UnknownASINs-43? Subjects-Engineering-Civil-Environmental-General Subjects-Health,Mind&Body-General? Subjects-Medicine-Pharmacology-Toxicology? Subjects-Medicine-Specialties-Pathology-ClinicalChemistry? Subjects-Medicine-InternalMedicine-Oncology-General? Subjects-Outdoors&Nature-Environment-EnvironmentalScience Subjects-Professional&Technical-Engineering-Civil-Environmental-General Subjects-Professional&Technical-Medical-BasicSciences-Chemistry? Subjects-Professional&Technical-Medical-Administration&MedicineEconomics-PublicHealth-Toxicology? Subjects-Professional&Technical-Medical-Medicine-InternalMedicine-Oncology? Subjects-Professional&Technical-Medical-Medicine-InternalMedicine-Pathology-ClinicalChemistry? Subjects-Professional&Technical-Medical-Pharmacology-Toxicology? Subjects-Science-Chemistry-General&Reference? Subjects-Science-EarthSciences-EnvironmentalScience Subjects-Science-General Subjects-Science-Medicine-Pharmacology-Toxicology? Subjects-Science-Medicine-Specialties-Pathology-ClinicalChemistry? Subjects-Science-Medicine-InternalMedicine-Oncology-General? Space Kinematics and Lie Groups Gordon & Breach Science Pub? Adolf Karger? Josef Novak? Gordon&BreachSciencePub? AdolfKarger? JosefNovak? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-MaterialsScience-MechanicalPropertiesofSolids? Subjects-Professional&Technical-Engineering-MaterialsScience-MechanicalPropertiesofSolids? Subjects-Professional&Technical-ProfessionalScience-Physics-Dynamics? Subjects-Science-General Subjects-Science-Mathematics-General? Subjects-Science-Mathematics-PureMathematics-GroupTheory? Subjects-Science-Physics-Dynamics-General? Subjects-Science-Physics-Mechanics? Subjects-Science-Physics-Solid-StatePhysics-General? Hydrogeological Studies in Soil Percolation and Land Reclamation (Hydrogeological Studies in Soil Percolation and Land Reclamation) Gordon & Breach Science Pub? Y. G. Bogomolov? V. F. Zhabin? V. Kh. Khachaturain? Gordon&BreachSciencePub? Y.G.Bogomolov? V.F.Zhabin? V.Kh.Khachaturain? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Outdoors&Nature Subjects-Engineering-Civil-Environmental-Hydrology? Subjects-Outdoors&Nature-NaturalResources-WaterSupply&LandUse? Subjects-Outdoors&Nature-Environment-EnvironmentalScience Subjects-Professional&Technical-Engineering-Civil-Environmental-Hydrology? Subjects-Professional&Technical-ProfessionalScience-AgriculturalSciences-General? Subjects-Professional&Technical-ProfessionalScience-AgriculturalSciences-SoilScience? Subjects-Professional&Technical-ProfessionalScience-EarthSciences-EnvironmentalScience? Subjects-Science-EarthSciences-EnvironmentalScience Subjects-Science-EarthSciences-Geography-General? Subjects-Science-EarthSciences-Geology-General? Subjects-Science-EarthSciences-Geology-Hydrology? Subjects-Science-General Subjects-Science-Nature&Ecology-WaterSupply&LandUse? Subjects-Science-AgriculturalSciences-SoilScience? Subjects-Science-AgriculturalSciences-General? New Developments in Industrial Polysaccharides Gordon & Breach Science Pub? V. Crescenzi? I. C. M. Dea? S. S. Stvala? Gordon&BreachSciencePub? V.Crescenzi? I.C.M.Dea? S.S.Stvala? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Bioengineering-Biotechnology? Subjects-Medicine-Specialties-Pathology-ClinicalChemistry? Subjects-Professional&Technical-Engineering-Bioengineering-Biotechnology? Subjects-Professional&Technical-Medical-BasicSciences-Chemistry? Subjects-Professional&Technical-Medical-Medicine-InternalMedicine-Pathology-ClinicalChemistry? Subjects-Professional&Technical-ProfessionalScience-Chemistry-Organic? Subjects-Science-Chemistry-General&Reference? Subjects-Science-General Subjects-Science-Medicine-Specialties-Pathology-ClinicalChemistry? International Advances in Nondestructive Testing (International Advances in Nondestructive Testing) Gordon & Breach Science Pub? Warren J. McGonnagle? Gordon&BreachSciencePub? WarrenJ.McGonnagle? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Materials-Testing? Subjects-Engineering-MaterialsScience-General? Subjects-Professional&Technical-Engineering-MaterialsScience-General? Subjects-Professional&Technical-Engineering-Materials-Testing? Subjects-Science-General Dynamics of Josephson Junctions and Circuits Gordon & Breach Science Pub? Konstantin Likharev? Gordon&BreachSciencePub? KonstantinLikharev? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Computers&Internet-ComputerScience-Circuitry-CircuitComponents? Subjects-Engineering-Electrical&Electronics-Superconductivity? Subjects-Engineering-Electrical&Electronics-Circuits-Microwave? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Superconductivity? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Circuits-Microwave? Subjects-Professional&Technical-ProfessionalScience-Physics-General? Subjects-Science-General Subjects-Science-Physics-General? Subjects-Science-Physics-Solid-StatePhysics-Superconductivity? Subjects-Science-Physics-Electromagnetism-Electricity? Theory of Hydromagnetic Stability Gordon & Breach Science Pub? Bhimsen Shivamoggi? Gordon&BreachSciencePub? BhimsenShivamoggi? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Mechanical-FluidMechanics? Subjects-Professional&Technical-Engineering-Mechanical-FluidMechanics? Subjects-Professional&Technical-ProfessionalScience-Physics-General? Subjects-Science-General Subjects-Science-Mathematics-General? Subjects-Science-Physics-General? Subjects-Science-Physics-Solid-StatePhysics-PlasmaPhysics? Subjects-Science-Physics-FluidMechanics? Automated Nondestructive Testing Proceedings of a Topical Seminar (Nondestructive Testing Monographs and Tracts, Vol 4) Gordon & Breach Science Pub? Warren J. McGonnagle? Gordon&BreachSciencePub? WarrenJ.McGonnagle? ユーズドブック(洋書)-Engineering Subjects-Engineering-Materials-Testing? Subjects-Professional&Technical-Engineering-Materials-Testing? Subjects-Reference-Publishing&Books-Bibliographies&Indexes-General? Subjects-Reference-General? Wave Heating and Current Drive in Plasmas Gordon & Breach Science Pub? V. L. Granastein? Patrick L. Colestock? Gordon&BreachSciencePub? V.L.Granastein? PatrickL.Colestock? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Nuclear? Subjects-Professional&Technical-Engineering-Nuclear? Subjects-Professional&Technical-ProfessionalScience-Physics-General? Subjects-Science-General Subjects-Science-Physics-General? Subjects-Science-Physics-Solid-StatePhysics-PlasmaPhysics? Subjects-Science-Physics-Applied? Applications of the Mossbauer Effect Materials Science Gordon & Breach Science Pub? Yu. M. Kagan? I. S. Lyubutin? Gordon&BreachSciencePub? Yu.M.Kagan? I.S.Lyubutin? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Materials-Metallurgy? Subjects-Professional&Technical-Engineering-Materials-Metallurgy? Subjects-Professional&Technical-ProfessionalScience-Physics-General? Subjects-Science-General Subjects-Science-Physics-General? Subjects-Science-Physics-NuclearPhysics-Atomic&NuclearPhysics? Subjects-Science-Physics-Spectroscopy-General? Applications of the Mossbauer Effect Applications of Other Fields Gordon & Breach Science Pub? Yu. M. Kagan? I. S. Lyubutin? Gordon&BreachSciencePub? Yu.M.Kagan? I.S.Lyubutin? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Bioengineering-Biochemistry? Subjects-Professional&Technical-Engineering-Bioengineering-Biochemistry? Subjects-Professional&Technical-ProfessionalScience-Physics-General? Subjects-Science-Chemistry-Biochemistry? Subjects-Science-General Subjects-Science-Physics-General? Subjects-Science-Physics-NuclearPhysics-Atomic&NuclearPhysics? Subjects-Science-Physics-Spectroscopy-General? Technology and Biochemistry of Wine Gordon & Breach Science Pub? Jan Farkas? Gordon&BreachSciencePub? JanFarkas? ユーズドブック(洋書)-Cooking,Food&Wine? ユーズドブック(洋書)-Engineering Subjects-Cooking,Food&Wine-Drinks&Beverages-Wine-Wine&Winemaking? Subjects-Engineering-Chemical-General? Subjects-Professional&Technical-Engineering-Chemical-General? Subjects-Professional&Technical-ProfessionalScience-AgriculturalSciences-FoodSciences-General? Subjects-Science-Chemistry-ChemicalEngineering? Subjects-Science-General Subjects-Science-AgriculturalSciences-FoodScience? Tables of Ion Implantation Spatial Distributions Gordon & Breach Science Pub? A. F. Burenkov? F. F. Komarov? M. A. Kumakhov? M. M. Temkin? Gordon&BreachSciencePub? A.F.Burenkov? F.F.Komarov? M.A.Kumakhov? M.M.Temkin? ユーズドブック(洋書)-Computers&Internet? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Computers&Internet-ComputerScience-Circuitry-CircuitComponents? Subjects-Computers&Internet-ComputerScience-Circuitry-SolidStateCircuits? Subjects-Engineering-Electrical&Electronics-Circuits? Subjects-Engineering-Electrical&Electronics-Semiconductors? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Circuits? Subjects-Professional&Technical-Engineering-Electrical&Electronics-Semiconductors? Subjects-Professional&Technical-ProfessionalScience-Physics-General? Subjects-Science-General Subjects-Science-Physics-General? Subjects-Science-Physics-Solid-StatePhysics-General? Subjects-Science-Physics-Applied? Energy 2000 An Overview of the World's Energy Resources in the Decades to Come Gordon & Breach Science Pub? Heinz Knoepfel? Gordon&BreachSciencePub? HeinzKnoepfel? ユーズドブック(洋書)-Engineering ユーズドブック(洋書)-Outdoors&Nature Substores-UnknownASINs-43? Subjects-Business&Investing-Industries&Professions-RealEstate-General? Subjects-Engineering-Energy-General? Subjects-Engineering-General? Subjects-Engineering-Mechanical-General? Subjects-Outdoors&Nature-Ecology-LivingontheLand? Subjects-Outdoors&Nature-Environment-EnvironmentalScience Subjects-Professional&Technical-Engineering-Mechanical-General? Subjects-Professional&Technical-Engineering-Energy-General? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-Accounting&Finance-Industries&Professions-RealEstate-General? Subjects-Professional&Technical-ProfessionalScience-Physics-Energy? Subjects-Professional&Technical-ProfessionalScience-EarthSciences-EnvironmentalScience? Subjects-Science-EarthSciences-EnvironmentalScience Subjects-Science-General Subjects-Science-Physics-Energy? Subjects-Science-Technology-General&Reference New Commercial Polymers 2 Revised and Expanded English Edition Gordon & Breach Science Pub? Hans-Georg Elias? Friedrich Vohwinkel? Gordon&BreachSciencePub? Hans-GeorgElias? FriedrichVohwinkel? ユーズドブック(洋書)-Engineering Subjects-Engineering-Chemical-PolymerChemistry? Subjects-Engineering-Chemical-General? Subjects-Engineering-Chemical-Materials? Subjects-Engineering-MaterialsScience-PolymerScience? Subjects-Medicine-Specialties-Pathology-ClinicalChemistry? Subjects-Professional&Technical-Engineering-Chemical-PolymerChemistry? Subjects-Professional&Technical-Engineering-Chemical-General? Subjects-Professional&Technical-Engineering-Chemical-Materials? Subjects-Professional&Technical-Engineering-MaterialsScience-PolymerScience? Subjects-Professional&Technical-Medical-BasicSciences-Chemistry? Subjects-Professional&Technical-Medical-Medicine-InternalMedicine-Pathology-ClinicalChemistry? Subjects-Science-Chemistry-General&Reference? Subjects-Science-Chemistry-ChemicalEngineering? Subjects-Science-General Subjects-Science-Medicine-Specialties-Pathology-ClinicalChemistry? Ferroelectrics and Related Materials, Ferroelectricity and Related Phenomena Physics (Ferroelectricity and Related Phenomena) Gordon & Breach Science Pub? G. A. Smolenski? Gordon&BreachSciencePub? G.A.Smolenski? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Electrical&Electronics-ElectromagneticTheory? Subjects-Engineering-General? Subjects-Engineering-Materials-Properties-Electrical? Subjects-Engineering-MaterialsScience-General? Subjects-Engineering-MaterialsScience-MechanicalPropertiesofSolids? Subjects-Professional&Technical-Engineering-Electrical&Electronics-ElectromagneticTheory? Subjects-Professional&Technical-Engineering-MaterialsScience-General? Subjects-Professional&Technical-Engineering-MaterialsScience-MechanicalPropertiesofSolids? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-Engineering-Materials-Properties-Electrical? Subjects-Professional&Technical-ProfessionalScience-Physics-General? Subjects-Science-General Subjects-Science-Physics-General? Subjects-Science-Physics-Solid-StatePhysics-General? Subjects-Science-Physics-Solid-StatePhysics-CondensedMatter? Subjects-Science-Physics-Electromagnetism-General? Subjects-Science-Physics-Electromagnetism-Electricity? Mixing of Liquids by Mechanical Agitation (Chemical Engineering Concepts and Reviews Vol 1) Gordon & Breach Science Pub? Jaromir Ulbrecht? Gary K. Patterson? Gordon&BreachSciencePub? JaromirUlbrecht? GaryK.Patterson? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Chemical-General? Subjects-Medicine-Specialties-Pathology-ClinicalChemistry? Subjects-Professional&Technical-Engineering-Chemical-General? Subjects-Professional&Technical-Medical-BasicSciences-Chemistry? Subjects-Professional&Technical-Medical-Medicine-InternalMedicine-Pathology-ClinicalChemistry? Subjects-Science-Chemistry-General&Reference? Subjects-Science-Chemistry-Industrial&Technical? Subjects-Science-Chemistry-ChemicalEngineering? Subjects-Science-General Subjects-Science-Medicine-Specialties-Pathology-ClinicalChemistry? Concepts and Design of Chemical Reactors (Chemical Engineering Concepts and Reviews, Vol 3) Gordon & Breach Science Pub? Stephen Whitaker? Alberto E. Cassano? Gordon&BreachSciencePub? StephenWhitaker? AlbertoE.Cassano? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Chemical-General? Subjects-Professional&Technical-Engineering-Chemical-General? Subjects-Science-Chemistry-Industrial&Technical? Subjects-Science-Chemistry-ChemicalEngineering? Subjects-Science-General Shape Memory Alloys (Precision Machinery and Robotics, Vol 1) Gordon & Breach Science Pub? Hiroyasu Funakubo? J. B. Kennedy? Gordon&BreachSciencePub? HiroyasuFunakubo? J.B.Kennedy? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Civil-Mining? Subjects-Engineering-General? Subjects-Engineering-Materials-Metallurgy? Subjects-Engineering-MaterialsScience-General? Subjects-Professional&Technical-Engineering-Civil-Mining? Subjects-Professional&Technical-Engineering-MaterialsScience-General? Subjects-Professional&Technical-Engineering-General Subjects-Professional&Technical-Engineering-Materials-Metallurgy? Subjects-Science-General Steelmaking Data Sourcebook The Japan Society for the Promotion of Science The Nineteenth Committee on Steelmaking Gordon & Breach Science Pub? The Japan Society for the promotion of science? The 19th Committee on Steelmaking? Gordon&BreachSciencePub? TheJapanSocietyforthepromotionofscience? The19thCommitteeonSteelmaking? ユーズドブック(洋書)-Engineering Substores-UnknownASINs-43? Subjects-Engineering-Civil-Mining? Subjects-Engineering-Materials-Metallurgy? Subjects-Engineering-MaterialsScience-Metallurgy? Subjects-Professional&Technical-Engineering-Civil-Mining? Subjects-Professional&Technical-Engineering-MaterialsScience-Metallurgy? Subjects-Professional&Technical-Engineering-Materials-Metallurgy? Subjects-Reference? Subjects-Science-General ユーズドブック(洋書)-Engineering 洋書
https://w.atwiki.jp/i_ro/pages/14.html
Dragons are a race of monsters×. The majority of them are found in and around Abyss Lake . Cards concerning the Dragon race are Dragon Egg Card Adds a 0.5% chance of the {{item |id=12048 Honey Herbal Tea}} item dropping when killing a Dragon monsters. Driller Card Gain 5 SP× each time a Dragon monster is killed by Physical Melee Attack. Drain 5 SP as the weapon is unequipped. Dullahan Card Inflict 10% more damage with Critical× Attack. Critical + 7 on Dragon monsters. Earth Petite Card Increase damage on Dragon monsters by 20%. Explosion Card Recieve 10% more Experience Points from Dragon monsters. Receive 20% more damage from Dragon monsters. Sky Petite Card Reduce damage from Dragon monsters by 30%. Equipment concerning the Dragon race are Dragon Breath Reduces damage received from Dragon race by 15% Dragon Killer Dagger that ignores the defense of Dragon monsters and increases Experience reward for defeating Dragon monsters by 10%. Dragon Slayer Two-Handed Sword× that increases damage inflicted on Dragon monsters by 15% and ignores the defense of Dragon monsters. Dragon Wing Bow× that ignores Dragon monsters defense×. Has 3% chance of gaining Oridecon Arrow each time it kills a Dragon monster. Gae Bolg Two-Handed Spear× that ignores Dragon monsters defense and inflicts 10% more damage on Boss× monsters. Legacy of Dragon Book that ignores Dragon monsters defense. Gain 10 SP each time a Dragon monster is killed. INT× + 3 Skills concerning the Dragon race include Dragonology× Sage skill that increases ATK×, MATK× and damage reduction against the Dragon race. {{Navbox_Monster}} Category Races×
https://w.atwiki.jp/toho/pages/5487.html
CROW WING サークル:TAMUSIC Number Track Name Arranger Lyrics Vocal Original Works Original Tune Length 01 漆黒の翼 KEIGO KANZAKI - - 東方紅魔郷 上海紅茶館 ~ Chinese Tea [03 31] 02 Fly to the sky KEIGO KANZAKI ℃iel ℃iel 東方文花帖 風神少女 [03 31] 03 魔法のキノコで可愛くなるんだZE☆ KEIGO KANZAKI 夕野ヨシミ miko 東方永夜抄 恋色マスタースパーク [04 20] 04 No Direction KEIGO KANZAKI nayuta nayuta 東方文花帖 東の国の眠らない夜 [03 38] 05 緋色のクオリア Piano Ver. GIN MAKI 美里 東方紅魔郷 亡き王女の為のセプテット [04 40] 06 3つの瞳 琉姫アルナ 水川月依 YUNA 東方地霊殿 少女さとり ~ 3rd eye [03 26] 07 Starry sky 琉姫アルナ 水川月依 仲村芽衣子 東方星蓮船 春の湊に [04 42] 08 黒翼が辿り着く郷 TAM - - 東方文花帖 レトロスペクティブ京都 [06 42] 詳細 コミックマーケット78(2010/08/14)にて頒布 イベント価格:1,000円 ショップ価格:1,365円(税込) Guest KEIGO KANZAKI : (CyberCats) MAKI : (セブンスヘブンMAXION) レビュー 名前 コメント
https://w.atwiki.jp/keroro00innovator/pages/5094.html
Fighting Dreamer Fighting Dreamer アーティスト 2wink 発売日 2021年3月10日 レーベル フロンティアワークス CDデイリー最高順位 2位(2021年3月10日) 週間最高順位 3位(2021年3月16日) 月間最高順位 20位(2021年3月) 年間最高順位 130位(2021年) 初動総合売上 6461 累計総合売上 10098 収録内容 曲名 タイアップ 視聴 1 Fighting Dreamer あんさんぶるスターズ! キャラソン 2 BRAND NEW STARS!! CD/総合ランキング 週 月日 CDシングル 総合シングル 順位 週/月間枚数 累計枚数 順位 週/月間枚数 累計枚数 1 3/16 2 6461 6461 3 6461 6461 2 3/23 11 1255 7716 24 1255 7716 3 3/30 595 8311 595 8311 4 4/6 294 8605 31 294 8605 2021年3月 10 8605 8605 20 8605 8605 5 4/13 369 8974 369 8974 6 4/20 164 9138 164 9138 7 4/27 121 9259 121 9259 8 5/4 123 9382 123 9382 2021年4月 47 777 9382 59 777 9382 9 5/11 72 9454 72 9454 10 5/18 80 9534 80 9534 11 6/1 304 9838 304 9838 12 6/8 128 9966 128 9966 13 6/15 132 10098 132 10098 関連CD TRICK with TREAT!!
https://w.atwiki.jp/tmiya/pages/133.html
scala.swing パッケージ The scala.swing package Ingo Maier November 1, 2009 英語PDF 1 紹介 (Introduction) scala.swing パッケージは Java Swing クラスの周りに、薄いラッパーのコレクションを提供します。 我々の目標は、Scala 中で自然に使えると同時に、既存の Swing プログラミング経験のある Java プログラマーも気にいる、Java Swing に十分近いライブラリを配布することです。 このドキュメントは Scala における Swing プログラミングの簡単な紹介であり、scala.swing 中の利用可能なクラスを概観し、そのデザイン原則を示します。最後に、ライブラリ拡張者が追加ラッパーを書くときに従うべきガイドラインを示します。 このドキュメント全体を通して、scala.swing ディストリビューションの一部である scala.swing.test パッケージ中の例を参照します。 読者には、少なくとも Scala についての基本的知識と、Java Swing あるいは似たような GUI ツールキットのある程度の経験が必要とされます。Scala の一般的な紹介については、http //www.scala-lang.org/node/1305 を参照してください。scala.swing の基本を含む、より包括的な紹介については、本『Programing in Scala』[1]を推奨します。Java Swing の良いチュートリアルは http //java.sun.com/docs/books/tutorial/uiswing にあります。 2 はじめ (Getting started) 次の図 1 で示す例は、コンパイルして簡単な "Hello World" scala.swing プログラムを生成します。 import swing._ object HelloWorld extends SimpleSwingApplication { def top = new MainFrame { title = "Hello, World!" contents = new Button { text = "Click Me!" } } } helloWorld.jpg 図 1 簡単な "Hello World!" アプリケーションのフレーム たいていの簡単な scala.swing アプリケーションは、上記の HelloWorld のような、クラス SimpleSwingApplication(*1) を拡張するメインオブジェクトから成ります、メインオブジェクトは、引数をとらず、Frame あるいはこの場合 MainFrame を返す、メソッド top を実装する必要があります。フレームは、閉じるボタンやリサイズハンドルのような飾りをもつ、OS の通常の表示窓です。 MainFrame はフレームであり、閉じるときに自動的にアプリケーションを停止し、上記のようにただ 1 つのフレームだけを必要とする大部分のアプリケーションで使われています。 (*1) SimpleGUIApplication は Scala 2.8 では クラス SimpleSwingApplication に置き換わりました。 起動時は、クラス SimpleSwingApplication は Swing フレームワークの初期化を行い、メソッド top によって返されるフレームを開きます。上の実装は、メンバーの初期化に scala.swing の標準的な構文を使ってメインフレームを生成します。本当は、次の式をもつ無名クラスを生成しています。 new MainFrame { title = "Hello, World!" contents = new Button { text = "Click Me!" } } 無名クラス構文により、弓カッコ内のクラス MainFrame のすべてのメンバーにアクセスできます。フレームのタイトルプロパティを文字列 "Hello、World!" に設定し、フレームのコンテンツを、"Click Me!" と書いてある、クリックされても何もしないシンプルなクリックボタンに設定しています。 多くのクラスでは、Java Swing が提供するものに似た少数の便利なコンストラクタを提供し、コンポーネント生成をより簡潔にしています。上記のボタンインスタンス化は、次のようにも書けます。 contents = new Button("Click Me!") しかし、より多数のプロパティ設定では、プロパティに明示的に名前をつけると scala.swing コードが分かり易くなることがよくあるので、一般的には無名クラス構文の使用が望ましいです。 2.1 クラス SwingApplication と SimpleSwingApplication 上記の クラス SimpleSwingApplication は、デフォルト main メソッドを実装する SwingApplication を拡張しています。それはさらに次の 3 つのメソッドを提供します。 def startup(args Array[String]) def quit() { ... } def shutdown() { ... } メソッド startup は、デフォルト main メソッド実装中で呼び出され、クライアントによって実装される必要があります。これは Swing イベントディスパッチングのスレッド上で呼び出されます。メソッド quit は、アプリケーションを潔く停止するときに呼び出されるべきです。それは、アプリケーションを最終的に終了させる前に、最後のステップとしてメソッド shutdown を呼び出します。リソースをクリーンアップし、シャットダウンで特定のコードを実行する必要があるクライアントは、メソッド shutdownを上書きすべきです。 サブクラス SimpleSwingApplication は、メソッド startup のデフォルト実装を提供していて、それは、クライアントが実装したメソッド top によって返さるフレームを表示します。 我々の手法が、http //java.sun.com/developer/technicalArticles/javase/swingappfr/ において導入された Java Swing アプリケーションフレームワークに似てはいるがよりシンプルであることに言及しておきます。 3 レイアウトコンポーネント (Laying out components) 前に、フレームにボタンを加える方法を見ました。より複雑なレイアウトに対しては、コンテナ内にコンポーネントをネストし、特定のルールに従って、それら子コンポーネントを配置します。Java Swing と同じく scala.swing にも、コンテナコンポーネントに 2 つの型、ペインとパネルがあります。ペインは、可能なら各ペインに特有の装飾と一緒に、決まった数の子コンポーネントを表示します。1 つの例は分割ペインです。それは 2 つのコンポーネントを水平あるいは垂直に並べて表示し、そのあいだにノブをいれて、ユーザーが 2 つのコンポーネントの広さを調整できるようにします。もう 1 つの例はスクロールペインです。それはスクロールバーのついたキャンバスの中にただ一つのコンポーネントを置きます。 他方、パネルは、クライアントがある程度カスタマイズ可能なレイアウトルールに従って、任意数の子コンポーネントを配置するコンテナです。 3.1 強く型付けされた、簡潔なコンテナインターフェース (A strongly typed, concise container interface) Java Swing では、コンテナは特定のレイアウトマネージャからは切り離されています。Java Swing コンテナを生成するために、次のように、クライアントは適切なレイアウトマネージャと一緒に JPanel コンポーネントを使います。 val panel = new JPanel() panel.setLayout(new BorderLayout()) java.awt.Component 基底クラスの add メソッドの 1 つを使って、コンポーネントを加えることができます。 def add(comp Component, constraints Object) Component def add(comp Component, index Int) Component def add(comp Component,constraints Object, index Int) Component 次は、上のパネルに、Borderlayout マネージャ ルックスのボタンを加えます。 panel.add(new JButton("click me"), BorderLayout.CENTER) JPanel.add メソッドは、与えられたコンポーネントとそのレイアウト制約を利用できるようにする共通のインターフェースを介して、レイアウトマネージャを呼び出します。Java Swing と異なり、scala.swing 中のコンテナとレイアウトマネージャは繋がっています。これにより、インターフェースがより簡潔になり、コンパイル時により多くの型エラーを検出できます。Java Swing では、上記 add メソッのインターフェースで示されるように、レイアウト制約は、型 Object あるいは Int でなければなりません。型引数としてレイアウトマネージャと制約型をとるジェネリックなパネルクラスは、もっと良く型付けできますが、より複雑なインターフェースとなります。 class JGenericPanel[L LayoutManager[C], C LayoutConstraint] extends JComponent { protected def layout L def add(comp Component, constraints C) = { ... layout.addLayoutComponent(comp, constraints) ... } } さらにまた、レイアウトマネージャとコンテナにオブジェクト合成を使っても、何も柔軟性を得られません。なぜなら、レイアウトマネージャを変えることは必然的に、すべての子コンポーネントに対して相容れない制約を再設定することになるからです。これは、新しいコンテナを生成しすべての子コンポーネントを読み出すのと同じ量の仕事になります。 上記 2 つの議論から、次の統一されたレイアウトコンテナのインターフェースが導かれます。 trait LayoutContainer extends Container.Wrapper { type Constraints AnyRef val layout Map[Component, Constraints] = ... protected def constraintsFor(c Component) Constraints protected def areValid(c Constraints) (Boolean, String) protected def add(comp Component, c Constraints) } コンポーネントをレイアウトマップに加えることで、それらを、型 Constraints の制約に関連づけできます。 3.2 LayoutContainer の拡張 (Extending LayoutContainer) LayoutContainer の具象サブクラスは、抽象 Contraints 型を修正し、ラッパーを基盤のピアへ接続する次の 3 つのメソッドを追加実装する必要があります。 constraintsFor(c Component) Constraints 与えられたコンポーネントの現在の制約を入手します。 areValid(c Constraints) (Boolean, String) 与えられた制約が有効かどうか決定するための実行時チェックを行い、もし有効でなければ、Option型でエラーメッセージを提供します。 add(comp Component, c Constraints) このコンテナに、与えられた制約をもつ与えられたコンポーネントを加えます。 Subclass BorderPanel, for instance, assigns the Contraints type to a custom Position enumeration and obtains the constraints from the underlying layout_manager while performing some casting operations. たとえば、サブクラス BorderPanel は、カスタムの Position 列挙に Contraints 型を割り当て、そしていくつかのキャスト操作を実行している間に、基盤のレイアウトマネージャから制約を入手します。有効な Position 列挙値だけなので、メソッド areValid はどのような実行時チェックもする必要が無く、常に (true、" ") を返します。BorderPanel にコンポーネントを加えるのは、たいていの場合、簡単で、単に適切な引数で JPanel.add メソッドを呼び出すことです。 class BorderPanel extends Panel with LayoutContainer { import BorderPanel._ def layoutManager = peer.getLayout.asInstanceOf[BorderLayout] type Constraints = Position.Value protected def constraintsFor(comp Component) = wrapPosition(layoutManager.getConstraints(comp.peer).asInstanceOf[String]) protected def areValid(c Constraints) (Boolean, String) = (true, "") protected def add(c Component, l Constraints) { peer.add(c.peer, l.toString) } } 4 イベントへの反応 (Reacting to events) scala.swing 中のイベントの監視と反応は、発行者とリアクタ(反応者)のコンセプトをベースにしています。あらゆる scala.swing コンポーネントは、自動的に、イベントを発行する発行者およびイベントに反応するリアクタの両方です。図 2 で描かれたシンプルな Celsius から Fahrenheit への変換器をどのように実装できるか見ていきましょう。 最初に、2 つのそっくりなテキストフィールドをもつフレームを生成し、ユーザーが Celsius と Fahrenheit で温度を入力できるようにします。 celsius.jpg 図 2 シンプルな Celsius から Fahrenheit への変換器 object Converter extends SimpleSwingApplication { def newField = new TextField { text = "0" columns = 5 } val celsius = newField val fahrenheit = newField def top = new MainFrame { title = "Convert Celsius / Fahrenheit" contents = new FlowPanel(celsius, new Label(" Celsius = "), fahrenheit, new Label(" Fahrenheit")) } } テキストフィールドは、型 EditDone のイベント発行者であり、このイベントは、ユーザーがフィールドをちょうど編集し終えたことを示します。それらのイベントに反応するために、テキストフィールドを監視するリアクタにリアクションを加える必要があります。SimpleSwingApplication はアプリケーションのデフォルトのグローバルなリアクタであり、それを拡張するメインオブジェクト Converter に、次のコードを入れることができます。 listenTo(fahrenheit, celsius) reactions += { case EditDone(`fahrenheit`) = val f = Integer.parseInt(fahrenheit.text) val c = (f - 32) * 5 / 9 celsius.text = c.toString case EditDone(`celsius`) = val c = Integer.parseInt(celsius.text) val f = c * 9 / 5 + 32 fahrenheit.text = f.toString } 最初に、クラス Reactor のメソッド listenTo を呼び出すことで、メインオブジェクトが各テキストフィールドからのイベントを待つことを指示します。Reactor は SimpleSwingApplication の基底クラスです。次に、テキストフィールド celsius とテキストフィールド fahrenheit からの EditDone イベントに 2 つのリアクションを加えます。このリアクションはそれぞれ、編集されなかった他方のコンテンツを更新します。イベントは通常ケースクラス、あるいは抽出子(extractor)をもつクラスであり、上記の例のように、クライアントはそれらを容易にパターンマッチできます。 この例の完全なソースコードは、scala.swing テストパッケージにあります。 4.1 Java Swing Listeners 対 scala.swing Reactions 上述で見たように、scala.swing 中のイベントはパターンマッチング中でディスパッチされます。各イベントは普通の Scala オブジェクトなので、パターンマッチ方法を決定するただ一つの型を持ちます。これを Java Swing と対比してみてください。Java Swing では、それらの型プラス追加のリスナーメソッドに応じて 2 つのフェーズでディスパッチします。次の例は、Java Swing 中でのマウスクリックイベントの監視方法を示します。 new JComponent { addMouseListener(new MouseAdapter { @Override def mouseClicked(e MouseEvent) { System.out.println("Mouse clicked at " + e.getPoint) } }) } ここで、インターフェース MouseListener のすべてのメソッドを実装する便利なクラス MouseAdapter を使って、MouseListener の他メソッドの実装を避けていることに注意してください。 This interface is one example were we first dispatch on the event s Java type (MouseEvent) and then refine the match by implementing one of the listener s methods which all take the same parameter (using listener MouseListener and method mouseClicked). このインターフェースは、最初にイベントの Java 型 (MouseEvent)に応じてディスパッチし、次に、すべて同じパラメータをとるリスナーのメソッドの 1 つを実装することで(リスナー MouseListener とメソッド mouseClicked を使います)、マッチイングを改善する 1 つの例です。scala.swing において、イベントの型に応じてマッチする等価なものは、次のようです。 new Component { listenTo(mouse) reactions += { case e MouseClicked = println("Mouse clicked at " + e.point) } } 効率の点から、マウスイベントはコンポーネント自身ではなく、そのメンバー mouse によって発行されます。そのため、最初にマウス発行者を listenTo しなければなりません。 4.2 発行者とリアクタ (Publishers and Reactors) 発行/リアクト システム全体は、クラス Publisher、Reactor、Reactions 中で実装されます。API ユーザーにとって、Publisher 中で唯一興味を引くメソッドは次です。 def publish(e Event) これは、登録された全てのリアクタに通知を行います。トレイト Event の唯一の目的は今のところ、あるクラスがイベントを定義することを示すことです。オブジェクトを発行者にするには、クラス Publisher を拡張して、イベントを発行させる上記のメソッドを呼び出すだけです。クラス Reactor 中の次のメソッドを使って、1 つ以上の発行者にリアクタの登録と登録解除を行えます。 def listenTo(ps Publisher*) def deafTo(ps Publisher*) クラス Reactor の 3 つめに興味を引くメンバーは次です val reactions Reactions これは、リアクションのコレクションを表します。リアクションは、型 Reactions.Reaction のオブジェクトであり、PartialFunction[Event,Unit] のエイリアスです。上記で、リアクションをメソッド += を使って加える方法を見てきました。クラス Reaction の他の興味を引くメソッド -= は、前に登録されたリアクションを撤去します。両方のメソッドとも、受け取ったリアクションオブジェクトを返します。 def +=(r Reactions.Reaction) this.type def -=(r Reactions.Reaction) this.type このことによりクライアントは、一つのリアクションの撤去や付加を構文上連結して書けます。 4.3 アクション(Actions) Java Swing は、イベントへのリアクションとして実行されるコードをカプセル化する、インターフェース javax.swing.Action を提供します。リスナーと異なりますが、しかしアクションもまた、ユーザーインターフェースコンポーネントのいくつかの型に関して役に立つ情報を保存します。しばしば使われるプロパティには、アクションの名称があります。それは通常、ボタンタイトル、あるいはメニュー項目のタイトルと、(各種のボタンとメニュー項目に対するキーボード・ショートカットに使用される)アクションのニーモニックキーとして表示されます。アクションのプロパティの完全なリストについては、http //java.sun.com/docs/books/tutorial/uiswing/misc/action.html を参照してください。 scala.swing では、コンポーネントに似た Java Swing ピア周りのラッパーである Action トレイトによって、アクションを表現します。Action コンパニオンオブジェクトは、いくつかの便利なメンバーを定義しています。次のメソッドにより、クライアントは大変手軽にアクションを生成できます。 def apply(title String)(block = Unit) = new Action(title) { def apply() { block } } 次のように書いて、アクションを生成できます。 Action("Run me") { println("Someone executed this action.") } コンポーネントをアクションに関連づけるには、トレイト Action.Triger を拡張します。次は、クリックボタンにアクションを関連づける 1 つの方法です。 val button = new Button { action = Action("Click me") { println("Someone executed clicked button " + this) } } ボタンがアクションを持つのは非常に一般的なので、コンパニオンオブジェクト Button 中に便利なファクトリメソッドがあります。次は、前の例と等価です。 val button = Button("Click me") { println("Someone executed clicked button " + this) } アクションをもつコンポーネントは、アクションの情報を必要なだけ使います。ボタンとメニュー項目は、通常それらのアクションの本体、名前、アクセラレータ・キー、アイコンその他を使いますが、テキストフィールドはアクションの本体のみ使うことがあります。コンポーネントが関連するアクションを持っていないと言うためには、コンポーネントのアクションのデフォルト値である Action.NoAction オブジェクトを使わなくてはなりません。 button.action = Action.NoAction NoAction をもつコンポーネントは、アクションのプロパティの代わりにそれ自身のプロパティを使います。Java Swing で、NoAction と等価なものは null です。 5 List Views と Tables リストビューとテーブルは、任意数のアイテムを均一な配置で表示するコンポーネントです。リストビューは、各アイテムを単純に水平あるいは垂直に配置し、図 5 のように、各アイテムはしばしば単純な文字列として描画されます。テーブルは要素を格子中に配置し、図 6 のように、オプションで行と列ヘッダーを表示します。 5.1 クラス ListView クラス ListView は、パラメータにアイテムのシーケンスをとる便利なコンストラクタを持っています。リストビューは、次のようにインスタンス化できます。 val items = List("Lausanne", "Paris", "New York", "Berlin", "Tokio") val view = new ListView(items) listview.jpg 図 3 ListView コンポーネント table.jpg 図 4 Table コンポーネント Java Swing と対照して、ListView とそのコンストラクタは、アイテム型について多相的です。 class ListView[A] extends Component { def this(items Seq[A]) = ... ... } ListView はメンバー選択を定義していて、それによりクライアントは、現在の選択状況を問いあわせできます。たとえば、現在選択されているアイテムのシーケンスです。 クラス ListView がジェネリックであることがどれだけ有益であるか見るために、上の例を少し修正してみましょう。 case class City(name String, country String, population Int, capital Boolean ) val items = List(City("Lausanne", "Switzerland", 129273, false), City("Paris", "France", 2203817, true), City("New York", "USA", 8363710 , false), City("Berlin", "Germany", 3416300, true), City("Tokio", "Japan", 12787981, true)) val view = new ListView(items) 今度は、現在選択されているアイテムを問いあわせて、すぐに操作できる City オブジェクトのシーケンスを受け取ることができます。 val cityNames = view.selection.items.map(_.name) Java Swing では、キャストを実行するか、選択されたインデックスのリストを経なければならず、そのどちらもエラーを起こしがちで簡潔でないコードになります。 5.2 レンダラ (Renderers) もし実際に 上記から city オブジェクトを表示するリストビューコードを取り除いて、それをフレームの中に置くと、結果は図 7 のようになるでしょう。 city.jpg 図 5 City オブジェクトのリストを表示する ListView コンポーネント こうなるのは、デフォルトでは、リストビューはそのアイテム上で toString を呼び出し、文字列を含むラベルとしてそれぞれを表示するからです。City のようなケースクラスに対して、メソッド toString はクラス名とそのコンストラクタ引数からなる文字列を返すので、図 7 に描かれたような結果になります。 形の上では、クラス ListView は、クラス ListView.Renderer のインスタンスを使って各アイテムをレンダー(描画)します。コンパニオンオブジェクト ListView は、クライアントの役に立つ、多数のレンダラ関連のメンバーを持っています。オブジェクト GenericRenderer は、Java Swing によって与えられたデフォルトレンダラのラッパーであり、上記のように、各アイテムに対して toString を呼び出します。 コンパニオンオブジェクト Renderer は、次の合成メソッドを定義しています。 def apply[A,B](f A = B)(implicit renderer Renderer[B]) Renderer[A] これは、アイテム型 B に対して暗黙のうちに供給されたレンダラを使う、アイテム型 A のレンダラを返します。結果として生じるレンダラは、関数 f を各アイテムに適用することで、型 B のアイテムを入手します。この関数と暗黙の GenericRenderer オブジェクトを使って、もっと良い city ビューを生成できます。 import ListView._ val view = new ListView(items) { renderer = Renderer(_.name) } オブジェクト ListView の最後の役に立つクラスはクラス AbstractRenderer であり、より精巧なアイテムビューを生成できます。そのコンストラクタは、コンポーネント --- その paintComponent メソッドがアイテムを描画する --- を引数にとります。 abstract class AbstractRenderer[-A, C Component](protected val component C) extends Renderer[A] クライアントは、各アイテムにそのコンポーネントを設定するために、次のメソッドを実装する必要があります。 def configure(list ListView[_], isSelected Boolean, focused Boolean, a A, index Int) クラス Item のアイテムを表示するビュー用のメソッド configure は、次のように実装できます。 def configure(list ListView[_], isSelected Boolean, focused Boolean, icon Icon, index Int) { component.icon = icon component.xAlignment = Alignment.Center if(isSelected) { component.border = Swing.LineBorder(list.selectionBackground, 3) } else { component.border = Swing.EmptyBorder(3) } } 似たような例が、サンプルパッケージのコンボボックスのデモ中にあります。 5.3 クラス Table クラス Table とそのレンダラの設計は、ListView とそのレンダラの設計に似ています。しかし クラス Table は、特定の用途向けに作られておらず、アイテムのリスト表示や、たとえば表計算ソフト中の 2 次元配列のようなより一般的な格子データ構造にも使えます。ですから、Table のアイテムは、1 つの列、1 つのカラム、あるいはただ 1 つのセルを表現できます。ですから、クラス Table はジェネリックではありません。 In the future, we might add a generic ListTable class tailored to lists of items similar to cass ListView but in a layout with multiple columns . 将来、我々は、クラス ListView に似てはいるが、複数カラムをもつレイアウトでアイテムのリストに仕立てるジェネリックな ListTable クラスを加えるかもしれません。 6 カスタム描画 (Custom Painting) scala.swing 中のカスタムのコンポーネント描画は、Java Swing に非常によく似ています。コンポーネント中でカスタム描画を実行したいほとんどのユーザーは、Component あるいはそのサブクラスの 1 つをインスタンス化し、メソッド paintComponent をオーバライドしたいでしょう。次は、scala.swing サンプルパッケージの LinePainting デモでのやり方です。 new Component { ... override def paintComponent(g Graphics2D) = { super.paintComponent(g) g.setColor(new Color(100,100,100)) g.drawString("Press left mouse button and drag to paint.", 10, size.height-10) g.setColor(Color.black) g.draw(path) } } これは super.paintComponent() を呼び出し、コンポーネントがその背景と飾りを適切に描画することを確実にしています。次に、カスタムの文字列と、ユーザーがマウスをドラッグしている間デモによって維持されるパスを描画します。 次は、クラス Component で提供される利用可能な描画メソッドです。 protected def paint(g Graphics2D) protected def paintBorder(g Graphics2D) protected def paintChildren(g Graphics2D) protected def paintComponent(g Graphics2D) メソッド paint は、Swing 描画メカニズムによって呼び出され、コンポーネントを描画し、その標準的な実装では他の 3 つのメソッドを起動して、各コンポーネントに特有の飾り、境界線とその子等を描画します。javax.swing.Component 中の対応するメソッドが Graphics オブジェクトをとるのに対して、これら 3 つのメソッドが Graphics2D オブジェクトをとることに注意してください。内部的には、Swing は、あらゆるイベント中の Graphics2D オブジェクトを処理します。scala.swing シグニチャのおかげで、クラス Graphics2D のより新しいインターフェースにアクセスするために、よく使われるキャスト g.asInstanceOf[Graphics2D] をする必要はありません。 カスタム描画の入門については、http //java.sun.com/docs/books/tutorial/ uiswing/painting/index.html を訪れてください。 Graphics2D と補助クラスのような、Swing 図形処理 API の包括的な紹介は、http //java.sun.com/docs/ books/tutorial/2d/index.html にあります。 AWT と Swing 描画メカニズムについての詳細は、http //java.sun.com/products/jfc/tsc/articles/painting/ で論じられています 6.1 メソッドオーバーライドによるカスタマイズ (Customizing by overriding methods) カスタム描画は、メソッドオーバーライドによるより一般的なクラスカスタマイズ方法の 1 例に過ぎません。この方法をラッパーライブラリ中で機能させるために、ピアをインスタンス化するとき、メソッド委譲とミックスイン合成を実行します。 クラス Component 中の描画メソッドの実装は、次のようになります。クラス Component は、次のトレイトを定義します。 protected trait SuperMixin extends JComponent { override def paint(g Graphics) { Component.this.paint(g.asInstanceOf[Graphics2D]) } def __super__paint(g Graphics) { super.paint(g) } このトレイトは、ピアの paint メソッドの呼び出しをラッパーの paint メソッドへリダイレクトし、__super__paint を介してオリジナルの paint メソッドが見えるようします。そうするために、クラス Component は、そのピアへ SuperMixin トレイトをミックスします。 override lazy val peer javax.swing.JComponent = new javax.swing.JComponent with SuperMixin クラス Component 中のメソッド paint のデフォルト実装は、そのピアのオリジナルの paint メソッドを呼び出します。 def paint(g Graphics2D) { peer match { case peer SuperMixin = peer.__super__paint(g) case _ = peer.paint(g) } } 循環を避けるために、ミックスインがあるときは(たとえば、ピアが scala.swing によって生成されているとき) __super__paint メソッドを呼び出します。そうでなければ、単にピアの paint メソッドを呼び出します。 paintComponent のような private および protected のメソッドに対しては、ピアのメソッドを呼び出せません。上の Component.paint 実装中の 2 番目のケースを削らなければなりません。その結果、既存の Java Swing コンポーネント用に生成されたラッパーに対しては、そのようなメソッドは何もしません。 7 ラッパーを書くためのガイドライン (Guidelines for Writing Wrappers) 前章では、 scala.swing の基本的なデザイン原則を概観しました。この章では、新しいラッパーを書くときに考慮すべき、多くの点を列挙、要約します。詳細については、示された章を参照してください。 Java Swing から離れない まず最も重要な原則は、あまりに巧妙にしないことです。オリジナルのデザインから離れないことは、Java Swing に精通した開発者に時間的余裕をもたらします。ピア毎のラッパークラスから始めてください。プロパティは、できる限り同じ名前を維持すべきです。Java のゲッターとセッター( get、set, あるいは booleansに対して is で始まるメソッド)は、Scala ゲッターとセッターに対応するペアに変換し、便利な代入構文と統一アクセス原則を利用できるようにすべきです。他のメソッドは、ピアとラッパーの必要なラッピングとアンラッピングをする、ただの委譲コードであるべきです。この大前提から外れるのは、そうする良い理由がある場合に限ります(例としては、以下を参照)。 共通インターフェースの抽出 Java インターフェースあるいは基底クラスによって表わせない、共通の API を共有する Swing クラスがいくつかあります。1 つの例として、共通のメソッドを共有するが、しかし互いに拡張せず、AWT クラスとは異なる、ウィンドウクラスの部分階層があります(詳細は??参照)。共通インターフェースだけでなく共通ラッパーコード(??)のくくり出しにも、トレイトあるいは(抽象)基底クラスを使ってください。 必要とされるインターフェース(??)にピアを適合させるために、ピアのミックスインを使ってください。もし常にピア生成を管理したければ、トレイトを使ってください。;もしそうしないなら、scala.swing.Oriented 中にあるような構造型を使ってください。 オーバライド可能なメソッドにスーパーのミックスインパターンを使う If a class can be customized by overriding certain methods such_as in custom component painting (6), create a peer mixin that overrides the desired methods each delegating to the respective wrapper_method. Supply a method that lets the wrapper access the original peer method for the default wrapper implementation (6.1) . もしクラスを、カスタムコンポーネント描画(6)中のように、ある特定のメソッドのオーバーライドによってカスタマイズできるなら、それぞれ、ラッパーメソッドへ委譲するのに必要なメソッドをオーバライドする、ピアミックスインを生成してください。 ラッパーがデフォルトのラッパー実装(6.1)に代わってオリジナルのピアメソッドにアクセスできるような、メソッドを提供してください。 抽象と実装トレイトの対を使う Traits that custom widgets can implement in Scala should stay abstract. For a default implementation that delegates to its Java Swing peer, create a trait called Wrapper in the companion_object. Scala 中でカスタムウィジェットが実装できるトレイトは、抽象のままであるべきです。その Java Swing ピアへ委譲するデフォルト実装に対して、コンパニオンオブジェクト中で Wrapper と呼ばれるトレイトを生成してください。例としては、Container と Scrollable を見てください。 Scala コレクション API との統合 Java Swing と Java 標準コレクションとの統合は不完全です。我々はよりうまくやることを目指します。適切な所ではどこでも、Scala コレクションを使ってください。これはプログラマに 2 つの利益をもたらします。第一に、プログラマはすでに知っている強力な API を使うことができます。第二に、Scala 標準コレクションを要求する他の API を用いたコンポーネントあるいはコンポーネントメンバーを使えます。たとえば、scala.swing 中のコンテナクラスを見てください。 あなたの要求を完全に満たす利用可能なコレクションがないなら、上で述べたと同じ理由から、独自のカスタムインターフェースを生成する代わりに、既存のコレクションをサブクラス化してください。 ジェネリック型とメンバー型の使用 ジェネリック型と抽象メンバー型は、より型安全で、適切に使えば、より便利なそして一貫した API を導きます。リストやコンボボックスのような同じ形のアイテムコンテナは、ジェネリック型の理想的な例なのに対して、テーブルは議論の余地がある例です。我々は、標準的な Table クラスの型安全性よりも柔軟性と簡潔性を選びました。それは、目的にふさわしいがより制限された型安全なテーブルの可能性を排除するものではありません。 Member types are sometimes preferable over type_parameters because they can lead to more concise type signatures, e.g., if the member_type needs not to be refined at use site (*2) . メンバー型は、型パラメータよりも望ましいことがしばしばあります。なぜなら、たとえばもしメンバー型を使用場所で修正する必要がないなら、メンバー型はより簡潔な型シグニチャで書けるからです(*2)。レイアウトコンテナにはメンバー型があっています。正確な制約とその意味が、LayoutContainer(3.1)のただ 1 つの具象サブクラスに限定されるからです。言い替えると、もしただ一つの適合している基底クラス、たとえば BorderPanel だけがあるなら、一般的に「BorderPanel.Position 制約をもつレイアウトコンテナ」について話をすることは意味がありません。 (*2) もしそれが一般的なら、ジェネリック型の MyClass[Arg] の代わりに、メンバー型の MyClass { type Param Arg } といつも書くことになります。 型パラメータはコンボボックスとリストには望ましいものです。なぜなら、コンパイラがコンストラクト時にアイテムの型を推論して欲しいからです。コンストラクタ引数中のメンバー型は参照できないので、それはメンバー型ではできません。複雑な型、あるいは、パス依存型のような Scala のより洗練された型システムフィーチャを使う前に、注意深く理性を働かせてください。我々は、そのようなフィーチャが、scala.swing のような伝統的なスタイルの GUI ツールキットの文脈中で役に立つ場面に出会ったことがありません。 便利なコンストラクタあるいはファクトリの提供 少数のプロパティ設定でいつも生成するコンポーネントに対して、便利なコンストラクタを提供してください。もし引数の意味がそれらの場所と型から明らかなら、名前付き引数は避けてください。1 つの文字列と 1 つの整数をとる単純なコンストラクタは問題ありませんが、3 つの文字列をとるコンストラクタは、そうではないでしょう。 scala.swing.Action のように、クロージャを最後の引数として渡すことに意味があるなら、ファクトリメソッドを提供してください。しかしながら、コンストラクタは、無名クラス構文を用いて便利なコンストラクタをミックスできるので、一般的には望ましいです。 フラグを列挙に変える Java Swing が整数フラグを使う場所では、列挙を使ってください。Orientation あるいは Alignment のような scala.swing の既存の列挙を再利用してください。 ラッパーキャッシュの使用 ラッパーを自分で記憶しないでください。これは簡単にメモリリークを引き起こしがちです。組み込みキャッシュを使ってください。あなたのラッパーのコンパニオンオブジェクト(??)中にキャッシュメソッドを提供してください。 独自クラス用に指定された"null"オブジェクトの生成を検討 公開インターフェースで null は決して使わないでください。代わりに Option を考える前に、それらの "null 値" を表現するオブジェクトについて検討してください。例としては、クラス scala.swing.Action とそれに対応する scala.swing.Action.NoAction オブジェクト(4.4)を見てください。この手法は null 参照の共通の欠点を避け、ユーザーとフレームワークコードの両方に関して Options ほど冗長ではありません。 参考文献 (References) [1] Martin_Odersky, Lex Spoon, and Bill Venners. Programming in Scala A Comprehensive Stepby-step Guide.Artima Incorporation, USA, 2008 . SIDライブラリ ページ先頭