投稿者「wpepea」のアーカイブ

JavaFXでFXMLを使った際のApplicationからcontrollerへのアクセス

FXMLクラスで”fx:controller”(シーンビルダーだとデフォルトで入っているはず)を指定しておいてアプリケーションクラスでFXMLLoader#getControllerを呼べばコントローラを取得できるのであとはごにょごにょすればOK。

注意点は、FXMLLoader#loadを呼んだ後でないとFXMLLoader#getControllerが取得できない(nullになる)こと。

 

(FXML)

<AnchorPane id="AnchorPane" prefHeight="427.0" prefWidth="423.5" 
xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" 
fx:controller="jp.co.epea.FXMLController">
    <children>
        <VBox fx:id="vBox"

 

(Applicationクラス)

public class MainApp extends Application {

  private FXMLController controller;

    @Override
    public void start(Stage stage) throws Exception {

        FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/fxml/Scene.fxml"));
        Parent root = (Parent)fxmlLoader.load();
        controller = (FXMLController) fxmlLoader.getController();

 

 

Excel形式の列名に変換

列のインデックスをExcelの列名(AからZでAAに続くやつ)に変換する処理。時々使うのでメモかねて。

colIndexの0がA。

    private static final Character[] COL_STRING = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
            'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };

    public static String toExcelCol(int colIndex) {

        StringBuilder sb = new StringBuilder();
        while (true) {
            int div = colIndex / 26;
            int mod = colIndex % 26;
            sb.insert(0, COL_STRING[mod]);
            if (div == 0)
                break;
            colIndex = div - 1;
        }

        return sb.toString();
    }

colIndexマイナスのチェックなかったりとかとかは適宜修正で。

クライミングジム新しい予定地も。。。

伏見桃山と丹波橋の間に作る予定のボルダリングジムですが、京都市の条例にかかり現状の敷地だと間口が7cm不足するという事態になりました。

敷地の交渉始める段階ですがうまくいかなかったら、まずはもう少し南の向島あたりか宇治あたりに1号店を建てるようになるかもしれません。

ざっくりした図面なのでそっちが間違えているかもしれませんが。。

 

 

JStyleがエラー

昨日エクリプス(4.3)をアップデートしてからJStyleがエラー。エラー内容は以下。

java.lang.NoClassDefFoundError: org/eclipse/swt/graphics/GC$JStyleSWTBridge
    at jp.sourceforge.mergedoc.jstyle.JStylePlugin.applySWT(JStylePlugin.java:89)
    at jp.sourceforge.mergedoc.jstyle.JStylePlugin.earlyStartup(JStylePlugin.java:81)
    at org.eclipse.ui.internal.EarlyStartupRunnable.runEarlyStartup(EarlyStartupRunnable.java:87)
    at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:66)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.Workbench$55.run(Workbench.java:2551)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.graphics.GC$JStyleSWTBridge cannot be found by jp.sourceforge.mergedoc.jstyle_4.3.0.0
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 7 more

java.lang.NoClassDefFoundError: org/eclipse/swt/graphics/GC$JStyleSWTBridge
    at jp.sourceforge.mergedoc.jstyle.JStylePlugin.applySWT(JStylePlugin.java:89)
    at jp.sourceforge.mergedoc.jstyle.JStylePlugin.earlyStartup(JStylePlugin.java:81)
    at org.eclipse.ui.internal.EarlyStartupRunnable.runEarlyStartup(EarlyStartupRunnable.java:87)
    at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:66)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.Workbench$55.run(Workbench.java:2551)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.graphics.GC$JStyleSWTBridge cannot be found by jp.sourceforge.mergedoc.jstyle_4.3.0.0
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 7 more

 

JStyleSWTBridgeというクラスがないと言っている。

Eclipseアップデートした際にあまり注意していなかったけど4.3.0から4.3.1に上がっていて、(Pleiadesにもともと入っていた)JStyle用にカスタマイズされたjarが上書きされてエラーをはいている状況っぽい。

JStyleのページから4.3.1用のものを落としてきて、プラグインフォルダに上書き&4.3.0のJStyle(※)を削除

-clean付きで起動したらOK

自分の環境はWindows7 64bitだけどどのOSでも似たような事象だと思う。

 

propedit(プロパティエディタ)とSysdeo Tomcatが警告残っているので、4.3.1に上げた影響で他にもところどころ直す必要が出てくるかも。

 

※以下のJar

jp.sourceforge.mergedoc.jstyle_4.3.0.0.jar
org.eclipse.swt.win32.win32.x86_64.source_3.102.0.v20130605-1544.jar
org.eclipse.swt.win32.win32.x86_64.source_3.102.0.v20130605-1544.jar.backup
org.eclipse.swt.win32.win32.x86_64_3.102.0.v20130605-1544.jar.backup

 

 

eclipseのglassfish用プラグイン

Eclipseのアップデートを行ったところ「http://dlc.sun.com.edgesuite.net/glassfish/eclipse/kepler/ のリポジトリーが見つかりません。」と怒られた。

 

アドレス少し削って

http://dlc.sun.com.edgesuite.net/glassfish/eclipse/

とすると

Attention – GlassFish plugins will be distributed exclusively as part of the OEPE package.

To get information about OEPE, please visit OEPE page on OTN.

と出てきました。

少し前にtwitterで言ってたかも。。

 

というわけでプラグインから削除

IE11がWIndows Updateで更新失敗(コード9C47):対処方法

(2016/01/23追記)
京都府宇治市にあるクライミング(ボルダリング)ジム・ロシェ店長のブログです。
ボルダリングと関係ないこの記事が一番人気なので、これから調べて対処方法まとめていこうと思います。

まとめたものはこちら

 

 

Link:How to fix IE11 Windows update error

 

家のノートPCをInternet Explorer 11にアップデートしようとしたところ、コード9C47というエラーがでてアップデートに失敗。おぅ、インストールできない。

ie11err

ぐぐったら、”C:\Windows\IE11_main.log”にKB2729094が足りないエラーが出ている場合はそいつをインストールすれば治ったという情報があった。

ログ

00:56.363: INFO:    Version Check for (KB2882822) of C:\Windows\System32\tdh.dll: 6.1.7601.18247 >= 6.1.7601.18247 (True)
01:36.502: ERROR:   WMI query for Hotfixes timed out. Query string: 'Select HotFixID from Win32_QuickFixEngineering WHERE HotFixID="KB2729094"'  Error: 0x00040004 (262148).
01:36.627: INFO:    KB2729094 could not be download is not installed.

KB2729094(64bitはWindows6.1-KB2729094-v2-x64.msu、32bitはWindows6.1-KB2729094-v2-x86.msu)をぐぐったらでてきたMSの公式からダウンロードしてインストールを試みた。(うまくインストールできてその後にMicrosoft Updateかけたらうまく入れられたという情報や、インストール済みというメッセージが出てうまくいかなそうに見えたけどアップデートかけたらうまくいったという報告がほとんどだったので大体の場合はこれで治ると思う。。。)

自分の場合は残念ながら「すでにKB2729094適用済み」の旨のメッセージが出てうまくいかなかった。

公式から単独ダウンロードしたらインストールはできたので、とりあえずはこれで。

KB2729094って以前も何度もアップデート失敗の原因になっていたので何とかしないとまたはまるかな。

 

->English (対応方法ざっくり)

 

暫定対応:IE11でのSuicaインターネットサービスのチャージ

SuicaインターネットサービスでのチャージがIE11(インターネットエクスプローラーの11)では使えないと言われた

なんか対応未定と書いているので取り急ぎ暫定対応。

 2014/01/29時点では以下の手順で動かない模様

->新しい方法追記

少し前の情報を見てみるとユーザエージェント文字列を見て判断しているとのことだったので、エミュレートからユーザエージェント文字列をIE10に変えてみたら使えた。若干気持ち悪さは残るものの、ブラウザをバージョンダウンすのも何なのでとりあえずこれで使うとする。

手順)

  1. IE11を開く
  2. スイカ チャージのログイン画面まで行く
  3. 「F12」を押す(開発者ツールを開く)
  4. 「Ctrl+8」を押す(エミュレーションを選ぶ)
  5. ユーザエージェント文字列のプルダウンから「Internet Explorer 10」を選ぶ

 

 

クライミングジム建設予定地

ジム建設予定地だった京町家だけど、用途変更などなどで原型をとどめない程度に改造しなくてはいけないという制限が出てきました。で、原型を残さないなら町屋維持と店舗を両立させようと無駄なコストをかける必要はないので、10m離れた敷地に建物新築してジム作る方向性になりました。

家の修繕費とジム建設費を分けて使わなければならなくなったので、ジムはちんまり予算の範囲内で作ります。なにより、住宅地に作ると防音費用が半端ねぇ。

Bug 236029

NetBeans 7.4にてJDK8を使用し、MavenのWebアプリケーションを作成しようとしたところエラーが発生したもようで、プロジェクトが作成されない。

表示->IDEのログと進んでいくと以下のエラーが発生していた。

WARNING [org.openide.WizardDescriptor]
java.lang.NullPointerException
    at org.netbeans.modules.maven.j2ee.ui.wizard.BaseWizardIterator.saveSettingsToNbConfiguration(BaseWizardIterator.java:110)
    at org.netbeans.modules.maven.j2ee.ui.wizard.EEWizardIterator.instantiate(EEWizardIterator.java:138)
    at org.openide.loaders.TemplateWizard$InstantiatingIteratorBridge.instantiate(TemplateWizard.java:1046)
    at org.openide.loaders.TemplateWizard.handleInstantiate(TemplateWizard.java:605)
    at org.openide.loaders.TemplateWizard.instantiateNewObjects(TemplateWizard.java:439)
    at org.openide.loaders.TemplateWizardIterImpl.instantiate(TemplateWizardIterImpl.java:248)
    at org.openide.loaders.TemplateWizardIteratorWrapper.instantiate(TemplateWizardIteratorWrapper.java:160)
    at org.openide.WizardDescriptor.callInstantiateOpen(WizardDescriptor.java:1629)
    at org.openide.WizardDescriptor.callInstantiate(WizardDescriptor.java:1570)
    at org.openide.WizardDescriptor.access$2300(WizardDescriptor.java:92)
[catch] at org.openide.WizardDescriptor$Listener$2$1.run(WizardDescriptor.java:2257)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1432)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2042)

NetBeansのバグだがFIXされているとのこと。

ただし、11/16時点でダウンロードサイトよりダウンロードした日本語のJavaEEには適用されていないっぽい。

(適用方法または適用されているものはこれから調べる。)

->11/17追記

開発版の最新だとうまく動いたのでこれを使う。(Build 201311160002)