いや、悪い反応では無いのでむしろ喜ぶべきことなんだけど、意外と好評なエントリーなので続きを書きます。 タイトルだけは前回同様釣りっぽいタイトルで^^ 前回のエントリーが思ったより反響が大きくてびっくりしてます。なんか炎上してるのか?って思っちゃいましたw 炎上っていうのはさすがにネガティブだし、内容とかけ離れすぎてるのでタイトル変えました。 さて前回はコマンドパターンとコマンドの実装について書きましたが、今回は予告どおり実行部の実装についてです。 といっても、今回はとっても単純な話です。Undo用にスタックにコマンドを積んで、Undoするよって呼ばれたら、スタックからコマンドをpopしてきてundoの処理を実行するだけです。 ただし、Redoも出来ないと行けないので、実行したコマンドは今度はRedo用のスタックに積んでいきます。 実装は次のようになります。 まず前回の二番目のパターンに則っ
undo,redoの実装って何十回もやってる気がする。毎回同じパターンだ。undo,redoが登場するような編集ソフトは大体同じパターンに落とせる。フレームワークも作った。ブログにそういう内容を書きたいが面倒くさい。需要があれば面倒でも書くんだけどなあ http://twitter.com/youpychan/status/994486992 という発言をしたら何人か反応を頂いたので書いてみることにする。 需要があるなら書こう。undo,redoだけじゃなくてグラフィカルな編集ソフト全般の話をいつかまとめたいと思っていたので、ちょいとシリーズで書いてみようかとおもう http://twitter.com/youpychan/status/994636764 書こうと思う。 まずUndo,Redoについて。 Unod,Redoってみなさんどういう風に実装しているでしょうか? 私はコマンドパタ
AndroidプログラミングのTOPへ 重要なお知らせ: この記事で公開した情報は,AndroidのMVCフレームワーク「Android-MVC」の機能の一部として取り込まれました。 より正確な設計情報や,動作可能な全ソースコードを閲覧したい場合,「Android-MVC」の公式ページより技術情報を参照してください。 AndroidのMVCフレームワーク - 「Android-MVC」 http://code.google.com/p/android-mvc-... Androidアプリの画面遷移時には, Intentオブジェクト内にputExtra()でデータを詰め込んで,次の画面に渡す。 Intentに対してStringとかintとか,プリミティブな値を格納するのは容易だ。 しかし,格納する値のデータ構造が複雑になってくると, 独自オブジェクトのインスタンスを丸ごと格納したくなる。 ど
Yet another fast Java decompilerThe “Java Decompiler project” aims to develop tools in order to decompile and analyze Java 5 “byte code” and the later versions. JD-Core is a freeware library that reconstructs Java source code from one or more “.class” files. JD-Core may be used to recover lost source code and explore the source of Java runtime libraries. New features of Java 5, such as annotations
はじめに マウスカーソルの軌跡で線画を描く「お絵かきアプレット」は、Javaのプログラミングを学習するための練習課題としてよく取り上げられます。最低限の機能を実現するには、カーソルの座標を配列に格納し、それを結んで折れ線を描画すればよいので、そんなに難しい話ではありません。しかし、少し気の利いたドローソフトを作ろうとした場合には、描画範囲の拡大縮小(ズーム)や平行移動(パン)の機能が必要になります。このようなズームやパンを行いながら、さらに描画操作を継続できるようにするには、座標変換のための計算が必要になります。 私がネット上で検索した限りでは、ズームとパンという最低限の機能を満たすドローソフトについて、よいサンプルが見つからなかったので、ここでは次のようなアプレットを作成する方法を紹介します。 マウスの左ドラッグ……カーソルの軌跡で線を描画 マウスの右ドラッグ……平行移動(パン) マウス
はじめに Java使いには欠かせないIDEであるEclipse。賢く補完してくれるのが魅力ですが、Visual Studioに慣れていると「補完がもっさりしてるなー」と思ってしまうのも事実。 でも補完設定をカスタマイズすることで、Visual Studio並みにバリバリ補完してくれるようになるのです。 環境 Eclipse 3.6.1 Helios 今回はWindows 7でPleiades All in Oneを使用していますが、素のEclipseでも同じです。もちろんLinux版でもOK。 Javaの補完設定のカスタマイズ やることは コンテンツ・アシストの自動有効化遅延を短くする 補完候補の一覧が表示されるまでの時間を短く設定することで、補完を速くします。 コンテンツ・アシストの自動有効化トリガーとなる文字を追加する 「.」以外の文字を入力した場合にも補完を開始するように設定し、特別
Java9で、日付時刻APIのChronoUnitに変換するメソッドが追加された。[2017-09-27] import java.time.temporal.ChronoUnit; import java.util.concurrent.TimeUnit; ChronoUnit seconds = TimeUnit.SECONDS.toChronoUnit(); // ChronoUnit.SECONDS TimeUnit seconds = TimeUnit.of(ChronoUnit.SECONDS); // TimeUnit.SECONDS java.util.Date java.util.Dateは、Javaで日時を保持するクラス。Date(日付)という名前だけど、時刻も保持できる。タイムゾーンは保持されない(UTCである)。 (→JDK1.8のLocalDateTime)[/2
westail.mydns.jp is not accessible... Sorry. I do not know why this site is not working. If you know Administrator of this site, please contact directly. You may be able to see it in Google cache. For administrator ... MyDNS.JP did not received IP address from you over One week. Please check your notify system. If you restart notification of IP address, MyDNS.JP will apply your IP address to DNS i
Jericho HTML Parser is a java library allowing analysis and manipulation of parts of an HTML document, including server-side tags, while reproducing verbatim any unrecognised or invalid HTML. It also provides high-level HTML form manipulation functions. It is an open source library released under the Eclipse Public License (EPL), GNU Lesser General Public License (LGPL), and Apache Licence. You ar
ジェネリック: Java vs C# 概要 2005 年初頭に公開された Java 言語仕様第 3 版 (開発実行環境は 2004 年秋に先立って公開されていた) と 2005 年 6 月に ECMA に承認された C# 言語仕様第 3 版 (開発実行環境は 2005 年末に公開された) では、共にジェネリック (ジェネリックス、ジェネリクス、総称: generics) という新しい概念が導入され、文法もそれに伴って変化している。 Java と C# はどちらも静的な型付けを行うオブジェクト指向プログラミング言語であり、C 言語を基にした 似たような文法をしている。 この記事では、Java 言語のジェネリックと C# 言語のジェネリックを、その機能や文法の違いを中心に比較する。 ジェネリックな型 ジェネリックな型は、どちらの言語でも山型の括弧を使って表される。ジェ
ここでは、Java SE 5.0 以降を知っている人が C# 2.0 を使うことになった場合を考える*1 *2。 あと、ライブラリについては触れないことにする*3。 命名規約 まず、命名規約が全然違う。Java ではメソッド名にキャメル形式*4を使うけど、C# では Pascal 形式*5を使い、Java では定数名に大文字アンダーバー区切り*6を使うけど、C# では Pascal 形式を使う。 C# に関する命名規約としては、ここだとかここだとかにあるので、参考にするといい。 間違っても、オブジェクト倶楽部のは参考にしないこと*7。 struct の扱い Java ではユーザ定義型は全て参照型だけど、C# では値型も作成できる。また、標準ライブラリの中に struct で定義されたものもある。 で、何にはまるかというと、struct は class と違い、「値渡し」される*8、つまりコ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く