問題タブ [synth]
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.
java - SynthLookAndFeelをxmlファイルで使用する方法。xmlファイルのパスはgetResourceAsStreamメソッドを使用してファイルをロードしますか?
使ってます
私のdemo.xmlには次のものがあります:
エラーの原因:
回避し、リスクを減らすため。
path=Menu.class.getResourceAsStream("/image/menu/bg.jpg")
例に示されている静的パスの使用を避けたい場合のように、どのように使用できますか。
ファローアップ:
java - 1 つのクラスを使用すると、他のクラス インターフェイスも感染するというこのバグを解決する方法
私の場合:
奇妙なバグがあります
次のような1つのメインクラスから2つのクラスを使用する必要があります。
両方のクラスを駆動する 1 つのメイン クラスは
YumYumYum
ユーザー インターフェイスのみである他の 2 つのクラスは次のとおりです。
a)
MyJSlider
メインのバグ作成者b)
Volume
黒いウィンドウに緑色のプログレス バーが表示される 2 番目のクラス
これで、SSCCE を 1 つのファイルで準備できました。demo.xml もここから入手できます。
問題:
行をコメントアウトするprivate MyJSlider _______BUG__BUG__BUG_______ = new MyJSlider();
と機能しますが、それを使用すると問題が発生します。どうすれば修正できますか?
ファローアップ:
- Java 6 と Java 7 でテストした結果、Linux でも同じ結果になりました
java - シンセL&Fを使用してAWTUtilities.setWindowOpaque(window, false)を使用するJFrameのJPopupMenuが表示されない
これは私をかなり当惑させました。基本的に、カスタム Synth L&F を使用して、透明な形状のウィンドウを使用するマルチ ウィンドウ アプリケーションを開発しています。アプリケーションの一部は、親フレームからJFrame
/コンポーネントを呼び出します。JDialog
これらのコンポーネント内にポップアップ メニューとコンボボックスがありますが、問題は、アプリケーションを使用している一部の人々が、呼び出し時にポップアップ メニューが表示されないという経験をすることです。例外はなく、コードはポップアップ メニューの「show」メソッドを含めて正常に実行されます。
私はこれをOSの仕様に当てはめようとしましたが、Mac OSXでは問題がないようです。私のような一部の Windows ユーザーは問題を経験しませんが、他のユーザーは問題を経験します....
また、ウィンドウの不透明度を設定する問題のあるコード行を追跡しました。
この LOC を削除すると、ポップアップ ウィンドウは正常に表示されます。さらに、この LOC を次のように置き換えます。
同じ問題が発生します。もう 1 つのことは、デフォルトの L&F を使用すると、ポップアップが正常にレンダリングされることです。
JFrame
問題がとコンポーネントの両方で同じであることを確認するために、JDialog
他の誰かがこの問題に遭遇したか、考えられる原因の方向に私を向けることができるかどうか疑問に思っていました.
乾杯
再現するテスト ソース:
そしてtestskin.xml:
前述のように、次を削除します。
コンボボックスのポップアップ メニューを正常にレンダリングし、すべてのスタイル (style="backingStyle" の下) にデフォルトの背景を追加します。
少なくともポップ メニューは表示されますが、まだ適切にレンダリングされていません。3 台の Windows XP 仮想マシンでこれを試しましたが、すべて同じ問題が発生します。さらに、私がこれについて言及したとは思いませんが、これは JDK 7 で構築されており、すべての場合において同等の JRE で実行されます。私自身、Windows 7 Ultimate 64 ビットで問題はありませんが、Windows 7 プレミアム 64 ビットを使用している別のユーザーは同じ問題を経験しています。
次の場合、ポップアップ メニュー コンポーネントのペイント メソッドの呼び出しに失敗します。
が設定されています。「show」メソッドを呼び出した後に repaint、updateUI、revalidate を手動で呼び出すと、ポップアップ メニューが正常にレンダリングされます。カスタム UI を設定し、「createPopup」メソッドをオーバーライドするコンボックス要素の場合、javax.swing.plaf.basic.BasicComboPopup を拡張するクラスを使用して、表示時に repaint/updateUI/revalidate を呼び出します。
コンボメニューが正常にレンダリングされるようにします。ただし、ポップアップはプライベート メソッド内で作成されるため、ポップアップの submneu (JMenu) アイテムの回避策をまだ見つけていません。これはバグのようですが、何か間違ったことをしている場合は、誰かが私に知らせてくれます:)
乾杯
ジョナサン
java - JComboBoxの矢印ボタンのアイコンを変更
返信ありがとう
しかし、これは私がやりたいことです:
編集可能なコンボボックスでキーを押すと自動的にjcomboboxのポップアップメニューが出て、そこに書かれているテキストを取得したいのですが、矢印ボタンのアイコンを変えたらアイコンは変わるのにポップアップメニューが表示されません」キーを押すと表示されます。
これを Windows のルック アンド フィールで実行しようとすると、問題なく動作しましたが、Synth のルック アンド フィールでは動作しませんでした。2日間検索しましたが、問題を解決できませんでした。
ドキュメント リスナを使用しようとしましたが、何も変わっていないか、正しく使用していませんでした
今回は私の問題が明確になることを願っています
java - シンセのルック アンド フィールのデフォルトのボタン入力マップ?
hereで説明されているように、スペースバーが JButton をアクティブにしないように、UIManager を使用していくつかのデフォルトのキーバインディングを取得およびクリアしようとしています。問題は、おそらく私のシンセのルック アンド フィールが原因で(InputMap)UIManager.get("Button.focusInputMap");
、null
. コンポーネントの入力マップを他の方法で簡単にクリアする方法、またはこの場合に UIManager が null を返す理由を知っている人はいますか? 事前に感謝します。
java - Java シンセ - コンボ用にカスタム エディタをバインドする方法は?
コンボボックスのスキニングに取り組んでいます。コンボボックスは複数のサブコンポーネントで構成され、そのうちの 1 つがエディターです。
いくつかのカスタム関数を持つカスタム エディターを作成し、カスタム エディターcombobox.setEditor(new CustomComboEditor())
の設定に使用しました。以下に示すように、スキン xml ファイルでエディタのスキン タグを定義しました。
コンボ UI シンセの実装はSynthComboBoxUI
であり、バインディングがあることに注意してくださいsetName(ComboBox.textField)
。したがってComboBox.textField
、上記のタグでキーとして使用しています。
カスタム エディターをコンボ エディターとして設定すると、スキンが有効にならないことに気付きました。
しかし、カスタム エディターを使用せず、エディターの既定の実装に依存している場合、スキンは機能しますが、コンボ エディターで意図した機能が有効になりません。
コンボ用のカスタム レンダラーを設定しようとすると、同じ問題に直面します。
java - JOptionPane のカスタム ルック アンド フィール イメージ
SynthLookAndFeel
クラスに基づいて XML を使用してカスタムのルック アンド フィールを作成していますが、疑問に思っていました。JOptionPane に画像を設定するには、どのスタイル タグを使用しますか?
編集:これは私が探していた特定の 1 つにすぎませんが、すべてのタグの何らかのリストがあれば、それは素晴らしいことです。
java - Javaでシンセスタイルをロードする方法
私はシンセスタイルを試していますが、かなりの調査の後、まだ答えが見つからない次の問題に遭遇しました。次のxmlファイルがあります
およびその xml ファイルを SynthLookAndFeel オブジェクトとしてロードする次の Java コード
このコードを実行しようとすると、次の例外が発生します
これを修正する方法についての提案は大歓迎です。
java - ボタンのシンセオーバーライドテキスト描画
シンセサイザーを使用してコントロールのテキスト描画をカスタマイズするために、ペインターまたはその他の手法を使用することは可能ですか?
SynthPainterで実装できることは知っていますが、テキストで実装する方法はあるのでしょうpaintButtonBorder
か。paintButtonBacground
多分いくつかの回避策?
java - 特定の Swing コンポーネントにカスタムのルック アンド フィールを設定する
Swing GUI 上の特定のコンポーネントまたはコンポーネントのセットの Synth ルック アンド フィールに使用されるファイルを、他のコンポーネントのファイルを変更せずに設定することは可能ですか?