問題タブ [jcomponent]
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 - paint/paintComponent が生成する画像を取得するにはどうすればよいですか?
簡単な質問があります。JComponent.paint または paintComponent によって生成された画像を取得するにはどうすればよいですか?
「ワークスペース」として使用する JComponent があり、paintComponent メソッドを独自のものに上書きしました。問題は、私のワークスペース JComponent には、独自の paintComponent メソッドを持つ子もあるということです。
そのため、Swing がワークスペース コンポーネントをレンダリングすると、ワークスペース グラフィックスがレンダリングされ、次にその子がレンダリングされます。
ただし、ワークスペース コンポーネントが生成するイメージ (ワークスペース グラフィックスと子のグラフィックスを含む) を取得したいと考えています。
それ、どうやったら出来るの?
独自の Graphics を使用して paintComponent/paint-method を自分で呼び出そうとしましたが、黒い画像が返されました。これが私が試したことです。
ご意見やご感想は大歓迎です!:)
java - Swing コンポーネント : 縦書きの質問
この画像のようなボタンがある場合:
http://www.freeimagehosting.net/image.php?4cd775814c.png
テキスト自体を垂直に表示するにはどうすればよいですか? のように
JLabel に対して同じことを行う方法を知りたいです。string 内の文字と同じ数のラベルを作成するよりも良い方法があるはずです。右 ?
編集:投稿に画像を挿入するにはどうすればよいですか? 画像のボタンを押すとプレビュー部分に画像が表示されますが、実際にデータを投稿すると、タグがめちゃくちゃになるなど、テキストが返されるだけです。
java - JListで一意の文字列のみを許可するにはどうすればよいですか?
たくさんの文字列を保持するJListがあります。セットのように機能して、一意の値のみを保持するようにします。新しい文字列がまだそこに存在しないことを確認せずにこれを達成する方法はありますか?
java - Java get JPanel コンポーネント
私はJTextFieldsでいっぱいのJPanelを持っています...
その JPanel で JTextFields を後で取得するにはどうすればよいですか? 私は彼らの値が欲しい場合のように
ありがとう
java - カスタム Swing コンポーネントを作成する方法
Java でカスタム コンポーネントを作成したり、既存のコンポーネントをカスタマイズしたりしたいとずっと思っていましたが、検索しても何も役に立ちませんでした。そこで、StackOverflow コミュニティに質問することにしました。
Java GUI コンポーネントの一般的なカスタマイズに関する情報はどこにありますか?
カスタマイズとは、色やフォントなどを変更することではありません。実際にカスタマイズすることを意味します。以下に、2 つのモックアップ サンプル コンポーネントを示します。
注記
この質問は、主に上記の 2 つのカスタム コンポーネントを作成する方法を見つけるために始めました。しかし、Swing コンポーネントのハッキングについて一般的な質問はないことに気付きました。そのため、リソースのリストを作成した方がよいと考えました。
モックアップの 2 つのコンポーネントがどのように機能するのか疑問に思っている場合は、次のとおりです。
各方向に 2 つの Scrollbar を持つカスタマイズされた JScrollPane。各スクロールバーは異なる動作をすることができます。たとえば、外側のものは通常どおりスクロールし、内側のものはよりPicasaに似た方法でビューを移動します。私は実際にここでGoogleグループから有効な(!)回答を得ましたが、それは単なるコードでした.
2 つ目は、カスタム JComboBox で、ポップアップ リストが展開されると、末尾に JComponent があります。これは、アイコン付きの単純な JLabel から、ある方法でリストを操作する JButton まで、何でもかまいません。
しかし、この質問はそれらの特定のコンポーネントに関するものではありません。リソース (Web サイト、書籍、記事など)を見つけて作成方法を学習することです。
java - TableCellRenderer でカスタム Swing JComponent を使用する
OK、単純なカスタム JComponent の作成方法を知っています。TableCellRenderer をオーバーライドする方法を知っています。2つを組み合わせることができないようです。
これが私が作成したサンプルJComponent
です:
It works fine as a standalone JComponent. I call setXval(something)
and it updates just fine. (edit: I have a Swing Timer that updates the data periodically)
But if this component is something I return in TableCellRenderer.getTableCellRendererComponent(), then it only repaints when I click on the cell in question. What gives? I must be leaving out something really simple.
java - JComponent の描画を Tiff ファイルに保存する
JComponentの描画をtiff形式に保存するには? Java ファイル全体を保存する方法しか知りませんが、特定の Jcomponent を保存する方法はわかりません。助けて :-(
編集済み: おかげさまで、図面を Jpeg に保存できるようになりました。
ただし、コンポーネントの1つを保存したかっただけですか? c.paintAll(bufferedImage.getGraphics());
コンポーネント全体を保存しているようです。しかし、 どうすればそれc.add(new PaintSurface(), BorderLayout.CENTER);
をpanel.add(saveBtn);
行うことができますか? ありがとう。
java - ある種のスクリーンセーバー アプリの Java での基本的なアニメーション
高度なプログラミング コースのプログラミング プロジェクトとして、アニメーションのスクリーンセーバーを作成するように割り当てられました。目的は、装飾されていないフルスクリーン フレーム内に複数の可動コンポーネントを配置することですが、段階的に、一度に 1 つのコンポーネントずつ実行します。
これまでのソースコードは次のとおりです。 http://pastebin.com/dc722188
ファイル操作に関係する部分は自由にコメントアウトしてください。現時点では関係ありません。
さて、ここで私が抱えている問題は、明らかにプログラムが私の LogoComponet をフレーム全体を取り囲んでいると認識しているため (想定されていないにもかかわらず)、衝突の条件がすぐにトリガーされ、ロゴ オブジェクトが突然発作を起こし始めることです。コンポーネントの境界を手動で設定しても機能せず、明日が期限であるという事実は私のケースをまったく助けません。
助けて?.___.
java - JComponent とコンポーネントの左揃え
次のコードでは、Jpanel 汎用コンポーネントを作成し、Label と JTextField の 2 つのサブコンポーネントを追加します。コンポーネントを追加する予定ですが、左揃えになりません。
(いいえ、GridBagLayout は必要ありませんが、GridBag で基本的な例を実行しようとしていました。別のレイアウトではなく、GridBag でこれを行う方法を説明できますか)。
このレベルより上では、JPanel を追加して水平方向に塗りつぶしています。
java - Java の JComponent repaint() を使用する
私は Java で簡単なライフ ゲーム プログラムを書いていますが、アニメーション化するのに少し苦労しています。次のペイント メソッドを使用して、ピクセルのグリッドを表示するLifeDrawというJComponentクラスがあります。
次に、メソッドを持つ別のクラスLifeGridrun()
が呼び出されたときに、1 世代のピクセルのグリッドを更新してから を呼び出しますLifeDraw.repaint()
。run()
ただし、ループで呼び出そうとすると、ループが終了するまでJComponentは再描画されないため、表示されるのは最初の世代と最後の世代だけです。おそらく更新が速すぎて再描画できないと考えたのでThread.sleep()
、繰り返しの間に使用してみましたが、それでも同じ問題がありました. 理論的には (または、少なくとも私はそうなることを望んでいました)、反復ごとにコンポーネントを再描画し、ピクセルの変化のアニメーションを表示する必要があります。
私はJava GUIに精通していないので、助けていただければ幸いです。うまくいけば、私はそれを十分に明確に説明しました。そうでなければ教えてください!