メッセージダイアログを表示する、当記事の例では、結果によって異なるメッセージが表示されるように設定
使用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