たま氏の覚え書き

KNIME・AccessVBA・Swift等、学習したことを覚え書き

KNIME_メッセージダイアログの表示【Java Snippet】

メッセージダイアログを表示する、当記事の例では、結果によって異なるメッセージが表示されるように設定
使用Node:Java Snippet / Table Creator

WFの例と解説

ひとつ前のNodeの、指定のカラムの値が0かどうかで異なるメッセージを表示する
Java Snippet】ではなく【Java Edit Variable】でも同様のフォームが作成できる



※※【Java Snippet】利用時の注意点※※
レコードの数の分だけメッセージを表示するので、Node【Groupby】を使用する等して
レコードをひとつに絞ったうえで、ダイアログを作成する
※※【Java Edit Variable】利用時の注意点※※
Node設定時には、Setting画面左下の「Run script during node execution」を選択してからNodeを閉じる

【Table Creator】カラム作成&URLを記述

カラム「test」をint型で作成、このRow1に入った値が0かどうかで出すメッセージを変える

▼設定例▼


Java Snippet】メッセージダイアログボックスを作成

以前もjavax.swingを使用したフォーム作成の記事を投稿したので今回似たようなものなのだが
とはいえ、またびっくりするほど忘れていたので…以下の記事を参考にした
▼参考サイト▼
タイトルとメッセージタイプを指定して警告ダイアログを表示する - JOptionPaneクラス - Swing

▼記述例▼

// Your custom imports:
import javax.swing.*;

// Enter your code here:
if(c_test == 0){
    JOptionPane.showMessageDialog(null, "正しい結果です","おしらせ",JOptionPane.INFORMATION_MESSAGE);

}else{
    JOptionPane.showMessageDialog(null, "確認が必要です","おしらせ",JOptionPane.WARNING_MESSAGE); 
}


▼設定例▼


▼処理結果▼


出したい結果にならなかった場合のほうに「exit」メソッドを追加で記載して、KNIME自体を閉じることもできた
(あまりお勧めしないが…)
ある結果に該当するときにはKNIMEが終了となるようにしたい、という場合には
「exit」メソッドをかくような対応もよいのやもしれないけれど
そういった場合にはこういったメッセージダイアログの表示というよりlogに任意のメッセージを残すようにしたほうがいいかとおもうので
その方法は後日投稿する

▼KNIME Hub▼
hub.knime.com