問題タブ [jscrollbar]
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 - カスタム JScrollPane。ScrollBar 行にコンポーネントを追加する
それが私が達成したいことです:
ご覧のとおり、水平スクロールが変更され、同じ行に JLabel("text") が追加されます。現在、水平スクロールを(画像のように)変更する方法を見つけましたが、画像に配置されている場所に JLabel("text") を追加する方法が見つかりません。
助言がありますか?前もって感謝します!
java - JScrollPane のスクロール バーが表示を変更するかどうかを検出するにはどうすればよいですか?
水平方向の行にいくつかの画像を含む JScrollPane があります。画像の行がビュー ポートに対して長すぎる場合、JScrollPane はスクロール バーを表示し、ビュー ポートの高さを減らします。ビューポートに合わせて画像のサイズを変更したいと思います。ビュー ポートのサイズが変更されたことを検出するにはどうすればよいですか? 残念ながら、変更イベント ハンドラの登録は機能していないようです。
swing - カスタムJScrollBar-サムはペイントされていますが、動きません
スイングとカスタムペイントコンポーネントのマテリアに少し深く潜ることにしました。ここ数日、StackOverFlowやその他のフォーラムで、たくさんの記事、APIドキュメント、質問を読みました。しかし、それでも私は概念を理解する上でいくつかの基本的な問題を抱えていました。
やりたいこと:基本的に、自分のSwingGUI用にいくつかのコンポーネントを設計したいと思います。カスタムJButtonの設計にはそれほど問題はありません。paint.netでカスタム画像を作成し、ImageIconを作成して、JButton.setIcon(ImageIcon)を作成します。これは正常に機能します。JSliderのThumbをカスタマイズしたい場合も同じです。私はここで非常に面白い解決策を見つけました。デフォルトのthumbを何も上書きせず、2番目のステップで、「Slider.horizontalThumbIcon」のカスタムImageIcon(ClassLoaderを介したカスタムcreateImageIconクラスを使用)をUIMangerに配置します。
と
しかし今、問題が始まります。私が間違っていなければ、ScrollBarのつまみはアイコンではないので、BasicScrollBarUIを拡張する独自の「CustomScrollBarUI」クラスを作成する必要があります。さらに、矢印キーは必要ありません。OK、それで私は次のことをしました(ここからのいくつかのサンプルコードから再び私にインスピレーションを与えました):
LoadBackGroundImageは独自のクラスであり、ClassLoaderを介してBufferedImageを作成します。スクロールバーのつまみが私のカスタム「slider.png」になりましたが、動きません。下にドラッグすると、ペインはスクロールしますが、親指は彼の場所に残ります。まだすべてのメカニズムを理解していないので、paintImageメソッドについて読みました。そこで、ImageObserverをコミットする必要がありますが、その関数は私にはよくわかりません。ネット上でnullをコミットするさまざまなコード例を見つけました(私のように)が、これは移動する必要がある(したがって再描画する必要がある)画像では機能しないと思います。どうすればこれを解決できますか?paintThumbメソッドで通常のグラフィックをペイントすると、正常に機能しますが、イメージをペイントするとすぐに移動しません。
誰かが私を助けてくれることを願っています。前もって感謝します。
java - カスタムScrollPaneのペイントの問題
私の他の質問で秩序を保つために、以下を別々に尋ねることが推奨されました:
以下は、カスタムJScrollBarを追加するテストクラスのコードです。
カスタムScrollBarUIはここで見ることができます:カスタムJScrollBar-親指はペイントされていますが動かない
私が変更したのは(mgarinのおかげで)唯一のものです
g.drawImage(img, thumbBounds.x, thumbBounds.y, new Color(255,255,255,0), null);
そして、親指を動かすと、次のようになります(デザインは気にしないでください。不透明なものをテストするだけです...)
java - jscrollbar を別のコンポーネントにアタッチする
私のアプリケーションでは、この図のように 2 つの Swing コンポーネントが重なり合っています。問題は、オレンジ色のコンポーネントに垂直スクロールバーが必要なことですが、コンポーネントの右端を正確に揃えたい (ユーザーがアプリを広げたり狭めたりすると、幅が変わる可能性があります)。グリッド レイアウトのようなものを使用すると、スクロールバーがスペースを占有し、スクロールバーが赤いコンポーネントの右端に整列します。
スクロールバー コンポーネントを使用して個別に追加し、それを使用してオレンジ色のコンポーネントを制御する必要があるかもしれないと考えています。そのような別のコンポーネントにスクロールバーを取り付ける方法はありますか? スクロールペインを使わないと難しいと思います。また、これにアプローチする他の方法についての提案も受け付けています。
java - JScrollBarの«作業»領域のサイズ
SwingでこのサイズのJScrollBarを定義するにはどうすればよいですか?
java - ScrollBar 終了ボタンの背景色を変更する
Java では、スクロール バーの端にあるボタンの背景色を変更する方法を研究してきました。方法を説明しているサイトが見つかりませんでした。また、UIManager のデフォルトを調べて何かを探してみましたが、何も見つかりませんでした。したがって、スクロールバーのボタンの背景色を変更する方法を誰かに教えてもらえれば、非常にありがたいです。ありがとう。
swing - JScrollPaneを作成する方法JScrollBarは、マウスオーバーでのみ表示されるosxスクロールバーのように機能します
スイングアプリケーションでスクロールバーが占める領域を最小限に抑えたい。マウスオーバーでのみ表示されるosxスクロールバーのように機能させる方法はありますか?それ以外の場合は、それらを表示せずにスクロールできるようにする方法はありますか?
ありがとう
java - JScrollPaneはJSplitPaneのJScrollBarを更新しません
画像を編集できるシンプルなアプリを作りたいです。アプリのメインビューにはJSplitPane
2つ含まれていJScrollPane
ます。それぞれJScrollPane
にが含まれますJPanel
。右JPanel
はボタンなどがいくつかあり、左JPanel
は私の描画エリアです。
これが私の問題です...
私が最初に作成したとき、私JPanelDrawingArea
は好みのサイズを設定することができました。サイズが表示のサイズよりも大きい場合JScrollPane
(JScrollBars
デフォルトでは同じです)。しかし、画像をJPanelDrawingArea
スクロールバーにロードしても、更新されません。JPanelDrawingArea
新しい優先サイズ(のサイズよりも大きい)を設定したにもかかわらず、手動で仕切りの位置JScrollPane
を変更しない限り、スクロールバーは更新されません。JSplitPanes
これが私のJSplitPane
カスタムクラスです:
JPanel
そして、描画を実行する私の習慣があります:
そして、私が画像をロードする方法:
}
ご覧のとおりadjustPreferredSize()
、メソッドが最初に呼び出されたときに、preferredSize
より大きく設定されたときJScrollPane
にJScrollBars
表示されます。しかし、再度呼び出されても何も起こりません。
興味深いことに、仕切りの位置を手動で変更JScrollBars
すると、下の画面に例が表示されます。
http://s17.postimage.org/e1nkja3zx/liliebead.jpg
JScrollPane
それで、更新するためのある種のイベントがありますか?私はいくつかの方法を試しました:updateUI()
、、。それらのどれも機能しませんでした。repaint()
revalidate()
私が間違っていることについて何か考えはありますか?
java - JScrollPane をそのコンテンツの一部のみを表示するように制限する
サイズ 5000x5000 ピクセルの JPanel を含む JScrollPane があります。この JPanel のサブパーツのみを表示できるように JScrollPane を制限したいと考えています。
たとえば、2 つの点 (X、Y) によって定義される四角形:
- (500,500) (左上隅)
- (3000,3000) (右下隅)。
私が試してみました
と
しかし、うまくいきません。setMinimum 関数はスクロールペイン上のビューポートの位置を設定するだけで、setMaximum は何もしません。