問題タブ [custom-renderer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4322 参照

java - Java/Swing: JLabel のカスタム レンダラーで単純な棒グラフを描画する方法

キャンバス上に表示する最小限の透明な棒グラフを動的に作成したいと思います。

JButton または JLabel にカスタム レンダラーを使用することを考えていました。しかし、このレンダラーで棒グラフを描画するにはどうすればよいですか?

0 投票する
2 に答える
4893 参照

jsf - カスタムレンダラーを JSF に登録するには?

データベースには、2 つの値の状態を表す数値があります。もちろん、これはブール値に完全に一致しますが、オラクルにはそのようなデータ型はありません。データベースの NUMBER(1,0) 型は、Java の java.lang.Short 型に一致します (Java.math.BigDecimal に一致するブール値を表すために NUMBER(*,0) を使用することもありました)。

なんとなく明らかなので、ビューで ice:selectBooleanCheckbox を値表現と UIComponent としてユーザーに提供したいと思います。(私はJSF実装としてIceFacesを使用しています)

JSF を指定した一部の人々は、常に ice:selectBooleanCheckbox または JSF の h:selectBooleanCheckbox の値をモデルのブール値に一致させることが明らかであると考えているため、コンポーネントのレンダラーはコンバーターを指定しても、コンバーターを呼び出しません。 java.net で議論されている問題

したがって、私は次のことを試しました:

UIComponent で指定するコンバーターを作成しました。

コンバーターはレンダリング フェーズでは正常に動作しますが (getAsString メソッドは正しく呼び出されます)、getAsObject メソッド (現時点では正しくないことは無視してください。とにかく呼び出されないため、呼び出されれば修正されます!)ここでわかるように、UIComponent のレンダラーではコンバーターが予見されないため、呼び出されませんでした (com.icesoft.faces.renderkit.dom_html_basic.CheckboxRenderer から抜粋):

そのため、UpdateModelValues フェーズではブール値を数値に適用しようとするため、IllegalArgumentException が発生します (BigDecimal/Short の混乱は無視してください... いずれにしても単なる数値型です!)。

そこで、次のような新しいレンダラーでレンダラーを上書きしようとしました。

そして、faces-config.xml に次のように登録しました。

これは正しいはずだと思いますが、オーバーライドされたメソッド「getConvertedValue」は決して呼び出されず、getAsObject() メソッドも呼び出されないため、カスタム レンダラーの登録を間違えたと思いますが、それ以上のドキュメントが見つからないか、これを適切に行う方法、特に正しいコンポーネント ファミリ (icefaces.taglib.xml で使用するものを調べました) と正しいレンダラー タイプを見つける方法を示します。

このため、完全なモデルを編集したくありません。ヒント、これをどのように解決できますか?

0 投票する
1 に答える
912 参照

apache-flex - AS3 実行時に画像 (base64 png 文字列) を使用してカスタム リスト アイテム レンダラーを作成する方法

私はFlexの初心者です。アイコン付きのリストを作成しようとしています。多くの例がありますが、それらはすべて埋め込み画像を使用しているようです。私の問題は、実行時にbase64 png文字列からアイコン付きのリストを作成するにはどうすればよいですか?

0 投票する
1 に答える
5394 参照

java - 画像とテキストを含む JList: テキストが ArrayList から来ている場所

ArrayList からデータを取得する JList の簡単な例がありますが、リスト内の各文字列の横に画像を表示したいと考えています。アイコンとオブジェクトを並べて表示するカスタム セル レンダラー (IconListRenderer) を作成しました。

これが実行中のサンプルです。

//IconListRenderer クラス

リストは現在表示されていますが、画像はありませんか?

0 投票する
1 に答える
2977 参照

java - JTreeのノード内にJTableを作成する

私はこの質問が以前に尋ねられていることを知っていますが、私は適切な解決策を得ることができませんでした。
アウトラインについて読みましたが、それは私が望むものとは正反対でした。つまり、JTree内
のJTableデータをJTableに表示したいのですが、異なるグループとして格納されているため、これらのグループ
は、1つのグループ(ノード)をJTableに費やしたときにJTreeのノードになります。そのグループのが表示されます。

私はオラクルでこの記事を読みました:SwingでのTreeTablesの作成:パート1

これはかなり古く、私のバージョンのjavaでは機能していませんでした(理由はわかりません!)ので
、TreeTableの次の部分:SwingでのTreeTableの作成:パート2を実行しました

「com.sun.java.swing」の代わりに「javax.swing」を使用していたため、コード全体が比較的新しいものでした
が、ここで直面した問題は、
「FileSystemModel2.java」という名前の1つのファイルが欠落していたことです。以前のバージョンなので
、古いバージョンでは作業できません。新しい「FileSystemModel.java」にいくつかのメソッドが追加されています。
この欠落しているファイルについて通知するにはどうすればよいですか。別のアプローチがある場合はお知らせください。

私が達成したいことは下の写真に示されています:


JTreeTableを実装する画像

この画像は「LastPass」からのもので、自分のプロジェクトとして自分のパスワードマネージャーを作成したいので、
これを手伝ってください。私はとても近くにいますが、それでも先に進むことはできません。

0 投票する
1 に答える
340 参照

wpf - マスクを使用してカスタム描画を行うにはどうすればよいですか?

OnRenderで独自のカスタム描画を行うコントロールがあります。ただし、必要に応じて、さまざまな描画の「パス」のステンシルのようなものとして、透明度のあるPNGを使用したいと思います。

これで、ImageBrushでPNGを使用して、それをコントロールのOpacityMaskとして設定できることがすでにわかっていますが、実際には、いくつかの異なるステンシルを使用していくつかの描画パスを実行したいと考えています。OpacityMaskルートを使用する場合は、個別のコントロール、個別のImageMaskを作成し、それらをすべて積み重ねて、ビジュアルツリーを乱雑にする必要があります。

私たちはそれをしたくありません。Control単一のサブクラスのOnRenderオーバーライドですべての描画を実行したいと思います。これらの描画呼び出しを画像でマスクしてほしいだけです。次に、描画が完了するまで、これを何度も繰り返します。

これを行う方法はありますか?

0 投票する
3 に答える
1736 参照

java - JList の再検証 - カスタム要素

チャット プログラムのチャット データを保持するために JList を使用しています。
カスタム リスト レンダラーを使用して、カスタム JPanel オブジェクトを要素タイプとしてレンダリングします。
この JPanel には、2 つの JLabels (名前と時刻用に上部に固定) と 1 つの JTextArea (チャット メッセージ用に下部に固定) が含まれています。

次のようになります。

写真1

すべてうまく機能しますが、非表示/表示機能を追加したいと考えています。
以前にプログラムされた PopupMenu ハンドラーを使用して、要素を右クリックするとポップアップが表示されるようにしました。

pic2

非表示(または表示、トグル)をクリックすると、要素が次のように最小化されます...

pic3

唯一の問題は... JList のセル サイズが更新されないことです。これは、テキストがあった場所に大きな空の領域が表示されるためです。
しかし、別のメッセージを入力すると...

pic4

JList は、「非表示」操作を完了するセル サイズを修正します。
私の質問は、プログラムで JList を再検証/再描画/などする方法です。
そして、私がすべての明白な解決策を試していないとは思わないでください...

カスタム JPanel クラスは、GroupLayout を使用してコンポーネントをレンダリングします。
プログラムで JList にそのセル サイズを再検証させる方法についての知識はありますか?
...私が投稿した方法以外に?:)

解決策:
メソッドを次々と検索し、それらが私の問題を解決するかどうかをテストした後、非表示/表示操作の後にこのコードを実行すると、セルの高さ (および幅) が再計算され、セルの不要な視覚的な「ちらつき」が発生しないことがわかりました。 JList.

0 投票する
1 に答える
972 参照

jsf-2 - TabViewコンポーネントの新しいレンダラーを宣言する

PrimeFaces Tab/Tabviewコンポーネントに基づいて新しいコンポーネントを構築したいと思います。ブラウザの[追加]タブのように見え、フォームに入力するためのページを開きます。問題は、データモデル( http://www.primefaces.org/showcase/ui/tabviewModel.jsf )に基づいてTabViewに統合したいということです。現在、フォームに入力するためのタブと、事前定義されたデータを含むタブを組み合わせるか、データのタブを動的に作成するTabViewを使用することができます。

複合コンポーネントまたは新しいJavaクラスの2つの方法でカスタムコンポーネントを作成することについてのJSFドキュメントを読みました。カスタムコンポーネントを作成しようとしましたが、これ以上説明したようには機能しないようです。

私の質問は次のとおりです。

1)複合コンポーネントでこの問題を解決することは可能ですか?はいの場合、誰かが私にヒントを与えることができますか?

2)そうでない場合、既存のPrimeFacesコンポーネント(おそらく新しい種類のTabView)に基づいて新しいコンポーネントを作成するためのチュートリアルはありますか?

UPD:いくつかの調査を行った後、最も簡単な方法はTabView用の新しいレンダラーを作成することであることに気付きました。

新しいレンダラークラスを宣言しました:

そしてそれをfaces-config.xmlに登録しました:

ただし、TabViewコンポーネントを含むビューがレンダリングされると、AddableTabViewRendererのオーバーライドされたメソッドではなく、TabViewRendererのencodeEndメソッドが呼び出されます。問題がどこにあるのかについてのヒントを教えてください。

0 投票する
1 に答える
526 参照

ruby-on-rails - Rails will_paginate カスタムレンダラーのマニュアルページ番号

Hy 私がやりたいことは、最初、前、次、最後のページをレンダリングする will_paginate のカスタムレンダラーと、ユーザーがページ番号を手動で入力できる入力フィールドを作成することです。最初、最後などのリンクは既にありますが、入力フィールドで立ち往生しています。ビューでフォームを作成できますが、入力フィールドは前のリンクと次のリンクの間にレンダリングする必要があります。誰もこれを行う方法を知っていますか?

ご協力いただきありがとうございます

0 投票する
2 に答える
688 参照

jsf - カスタム JSF コンポーネント: 「startElement」と「script」を使用するとコメントになります

カスタム JSF コンポーネントをレンダリングしています。メソッドencodeBeginに、いくつかの Java スクリプトを含めたいと思います。

コンポーネントをレンダリングするとき、スクリプト タグの内容はコメント アウトされます。

このコメントが表示される理由と、それを取り除く方法を誰か説明できますか?

前もって感謝します!