[scala]scala.swing.SplitPaneのバグ
コンストラクタで分割の方向を指定できるのだけれど、VerticalとHorizontalが逆になります。
import scala.swing._ object SplitTest extends SimpleSwingApplication { def top = new MainFrame { title = "Scala SplitTest" contents = new SplitPane(Orientation.Horizontal, new Label("Left"), new Label("Right")) } } /* fsc SplitTest.scala scala SplitTest */
理由は、javax.swing.JSplitPane.HORIZONTAL_SPLIT(値は1) 、またはjavax.swing.JSplitPane.VERTICAL_SPLIT(値は0)を渡してやらなければいけないのだけれど、javax.swing.SwingConstants.HORIZONTAL(値は0)、またはjavax.swing.SwingConstants.VERTICAL(値は1)を渡しています。
ちょうど値が逆になっているのです。
scala/SplitPane.scala at v2.10.3 · scala/scala · GitHub
JSplitPane (Java Platform SE 6)
実は2010年10月ぐらい前から気がついているのだけれど、いまだに直らない。ScalaのSwingって使われてないのかな?
写経
(define (eval exp env) (cond ((self-evaluating? exp) exp) ((variable? exp) (lookup-variable-value exp env)) ((quoted? exp) (text-of-q uotation exp)) ((assignment? exp) (eval-assignment exp env)) ((definition? exp) (eval-definition exp env)) ((if? exp) (eval-if exp env)) ((lambda? exp) (make-procedure (lambda-parameters exp) (lambda-body exp) env)) ((begin? exp) (eval-sequence (begin-actions exp) env)) ((cond? exp) (eval (cond->if exp) env)) ((application? exp) (apply (eval (operator exp) env) (list-of-values (operands exp) env))) (else (error "Unknown expression type -- EVAL" exp))))
■
Ubuntuのバージョンとコードネームとマスコットの動物画像まとめ
http://ubuntuapps.blog67.fc2.com/blog-entry-421.html
なんか、かわいい。
新しいPC
予定より遅れてやっと新しいPCが届いた。
新しいPCから書いてます。
今、インターネットにつながったところ。
これから環境整備。
ETロボコン2013
片輪走行ができないかどうか検討してみた。
シーソーや階段などに片輪をひっかける。
結論から言うと、実現不可能。
ジャイロが2軸いるのだけれど、1軸しかないから自分がどう傾いているのかがわからない。
じゃあ、仮にジャイロが2つあれば実現できるのか?
前後のゆれは片輪のモータで。
左右のゆれは???
尻尾の向きでできるかもしれないが、かなり厳しい。
いずれにしてもボツだな。
[Java]ant から jsmooth を実行する。
javaをExeに変換するのに、jsmoothを使ってます。
JSmoothの使い方については以下を参照。
http://ameblo.jp/ogitsu-hama/entry-10081267675.html
毎回、GUIでEXEを作っていたのですが、antでできる方法を見つけたので、メモしておきます。
あらかじめ環境変数に、JSMOOTH_HOMEを設定しておいてください。
例:set JSMOOTH_HOME=C:\Program Files (x86)\JSmooth 0.9.9-7
<?xml version="1.0" encoding="UTF-8"?> <project name="sample" default="run" basedir="."> <property environment="env" /> <!-- 環境変数にあらかじめ JSMOOTH_HOME を設定しておくこと。 --> <property name="jsmooth_home" value="${env.JSMOOTH_HOME}"/> <target name="init"> <taskdef name="jsmoothgen" classname="net.charabia.jsmoothgen.ant.JSmoothGen" classpath="${jsmooth_home}/lib/jsmoothgen-ant.jar"/> </target> <target name="jar"> 中略 </target> <target name="exe" depends="jar" description="exeにする"> <jsmoothgen project="sample.jsmooth" skeletonroot="${jsmooth_home}/skeletons"/> </target> </project>
ターゲットinitでjsmoothgenのタスクを登録します。
その後、jarファイルを作成します。
ターゲットexeで、jsmoothgenタスクでexeを作成しています。