問題タブ [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 - シンプルなカスタムSwingJComponentは常にフラット
私はSwingで遊んでいて、本当に単純なSwingコンポーネントに取り組んでいます。クラスから継承されたコンポーネントと。JComponent
から継承されたUIがありComponentUI
ます。メソッドは次のpaint()
ようになります。
ただし、1以外の値を取得することは完全に不可能r.height
です。コンポーネントは指定された幅ですが、高さは常に1ポイントのみです。他の誰かがそのようなコンポーネントを経験したことがありますか?残念ながら、簡単なチュートリアルはありません。すべてのチュートリアルは理解できないほど複雑です(または時代遅れです)。
レイアウトマネージャーは、このコンポーネントのサイズを常に1の高さに変更しているようです(最小値に関係なく)。
java - Java フォントの問題
Swing JComponent があり、その JComponent のテキストに Font を設定するとします。プロジェクトをビルドし、プロジェクトの .jar ファイルを作成します。さて、フォントがインストールされていない別のコンピューターからこのjarファイルを実行するとどうなりますか? jar は自動的にフォントをインストールしますか、それとも何らかのチェックを行う必要がありますか? ありがとうございました。
java - JComponent でカウントダウン タイマーを表示するにはどうすればよいですか?
JLabel
にカウントダウン タイマー ( )を表示したいJComponent
。タイマーが機能することはわかっていますが、問題は表示できないことです。
誰かがこの問題について私を助けてくれますか?
java - MicrosoftWordのようなマージンエディタコンポーネントを作成します
MicrosoftWordのコンポーネントのような素敵なコンポーネントを作成したいJavaSwingアプリケーションがあります。Microsoft Wordでは、次のようにドキュメントの余白を変更できます。
ここでの秘訣は、上部の余白を(たとえば)1.5 "に変更すると、プレビュー画像が変更されてこれが表示されるため、画像内で線が少し下に移動して、余白の変更を表示し、ユーザーができるようにすることです。この変更によって彼のドキュメントがどの程度影響を受けるかを感じてください。たとえば、左マージンを(4.0 ")に変更すると、画像は次のようになります。
私がしたことは、これらの2つの画像のように、2つの画像を空白のページ画像と線のみを含む別の画像(線画像)を作成することです:
各画像をJLabelに重ねて挿入し、JSpinnerの上部マージン値を変更すると、「空白ページ」の画像は固定されたままですが、「線の画像」の境界線を変更して少し下に移動します。このトリックは上マージンではうまく機能しましたが、下/右/左マージンを変更すると動作が完全に悪くなります。
JSpinnerの値を変更するときに適用するコードは次のとおりです。
これを正しく機能させるために私を助けてくれませんか?
java - フレーム内でコンポーネントのサイズを変更してペイントするにはどうすればよいですか
ウィンドウを大きな楕円で埋めるプログラムを作成してください。ウィンドウのサイズが変更されても、楕円はウィンドウの境界に触れる必要があります。
次のコードがあります。
そしてメインクラス:
swing - Gui - JComponent を GridLayout セルに追加する JPanel
GridLayout を使用してフレームを表示しようとしていますが、パネルの 1 つが表示されません。
私が問題を抱えている JPanel (gridPanel) には 50 x 50 の GridLayout があり、そのグリッドの各セルには Square オブジェクトが追加されているはずです。次に、そのパネルがフレームに追加されるはずですが、表示されません。
スクエアクラス
java - サイズを設定した後、JLabel.setText()が機能しない
ボタンが押されたときに動的に変更する必要があるJLabelがあります。JLabel.setText(s)を使用しています
ただし、動作していません。私はもう試した:
私が奇妙だと思うのは、次のいずれかを使用してJLabelのサイズを設定しない場合に正常に機能することです。
サイズプロパティの1つを設定した後、なぜ機能しないのか、誰か助けてもらえますか?
java - スイング コンポーネントの境界を固定する方法
いくつJPanel
かのコンポーネント (チェックボックス、コンボなど) を追加した があります。フレームが最大化されると、コンポーネントの境界も右に移動またはシフトすることに気付きました。その後、復元時にコンポーネントが元の位置に戻されます。
21 インチ以上のモニターでは、コンポーネントが右端に移動していることがわかるため、コンポーネントのシフトが実際に違いを生みます。
を実装するカスタマイズされたレイアウトマネージャーを使用していますjava.awt.LayoutManager2
。クラスの内容は非常に大きいため、コンポーネントの境界を決定する領域を指します。
そして、レイアウトを呼び出すフレームから、以下に示すようにコンポーネントを追加します。
と決めた時点で、呼び出しパネルを追加したフレームを最大化x
したときにコンポーネントがずれないように線を追加したいと思います。
これを達成する方法について誰かがアイデアを提案できますか? サンプルコードは高く評価されます。
java - JPanelコンテンツペインの混乱
私はJavaSwingを学んでいて、フレームにmenuBarを追加しました。デフォルトでは、これはを呼び出す必要がありますjframe.getContentPane().add(child)
。スクリプトを実行したとき、menuBarが表示されませんでした。しかし、それが理にかなっている場合、ボタンは一番上の「y=0」にありました。
それから私は自分の間違いに気づき、実際にメニューバーにメニューを入れなければなりませんでした。次に、menuBarが表示されました。それで私は考えました...「メニューバー」「コンテンツペイン」は実際には2つのパネルですか?それは私を混乱させています。それはパネルのように機能したからです。しかしgetContentPane()
、JPanelオブジェクトではなくコンテナを返すので、混乱しています。
もしそうなら、それはフレームに直接ダンプされる唯一のものがJpanelオブジェクトだけであることを意味しますか?したがって、JButton、JLabelはフレーム内に直接ありません...つまり、jpanelは「ネスト」されているのでしょうか。私を混乱させているもう一つのこと。jpanelが物事の配置方法を制御できる場合、LayoutManagerは何のためにありますか?:Sありがとう、そして空が青い理由を尋ねる2歳の人のように答えてください、ha;)
java - Java でのコンポーネントの再利用が、再利用されていないコンポーネントを適切にトリミングしない
javax.swing.JPanel
呼び出されたcalcResPanel
( java.awt.GridLayout
with列と1
不定 ( 0
) 行を使用) があります。私はそれに次の動作を与えることもできると考えました:BHSelectableLabel
javax.swing.JTextField
String
results
- 初めて、それは新しいものだけを追加します
- 以下の時間帯になります。
- すでに追加されているできるだけ多くのラベルのテキストを、できるだけ多くの値のテキストに変更し
results
ます - 変更されていないラベルが残っている場合は、不要なので削除します。それ以外の場合は、必要な数の新しいラベルを追加します。
- すでに追加されているできるだけ多くのラベルのテキストを、できるだけ多くの値のテキストに変更し
これは私には理にかなっています。このアルゴリズムが私がすべきことではない場合は、今すぐ読むのをやめて、より良いアルゴリズムで回答を投稿してください。ただし、同意する場合は、コードで何が間違っていたか教えてください。
このコードの問題は、余分なラベルが一貫性なく に残されることcalcResPane
です。このアルゴリズムの概念が優れていると思われる場合は、余分なラベルを残すコードの何が問題なのか教えてください。
答え
こんな簡単な答えも。とても賢いと思います^^;