問題タブ [setbounds]

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 投票する
0 に答える
211 参照

java - Java JFrame を使用したコンポーネントの自動スケーリング

Visualswing4eclipse を使用して Java でコーディングしています。私の環境は Eclipse IDE バージョン: Luna Service Release 2 (4.4.2) です。ユーザーがウィンドウのサイズを変更すると、フレーム内のすべてのコンポーネントのサイズを自動的に変更する関数を作成しようとしています。コードは次のとおりです。

今のところ、setBounds は適切に機能しますが、setFont のコメントを外すと setBounds が機能しなくなり、setBound で行を記述していないかのようになります。どうすればこの問題を解決できますか?

編集:この方法でコンポーネントの位置を設定するために新しいGroupLayoutを作成しました:

このレイアウトを自動リサイズ機能で使用できますか? そうでない場合、どのレイアウトが適していますか? これが基本サイズのフレームのビューです

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

java - スクロールバー JTextarea が機能しない

何らかの理由でスクロールバーが表示されますが、機能していません。スクロールバーを使用してテキストエリアのテキストをスクロールすることが想定されています。なぜこれがうまくいかないのか誰か説明してもらえますか?

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

java - JPanel セットバウンド

JPanelを別のに追加JPanelして、最初の の特定の場所に配置しようとしていJPanelます。でこれをやっていsetBounds(x, y, w, h)ます。これを行うべきではないことはわかっていますが、(アニメーションとして) 移動する方法が必要です。

私が抱えている問題は、Y が機能しないことです。私が行うgetBounds()と、正しい値に設定されますが、画面上で移動しません。にLayout設定していnullます。

最初JPanel

2番目JPanel:

前もって感謝します。

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

delphi - 設計時に TForm.Position が poDefault に設定されている場合にのみ TForm.SetBounds が正しく機能するのはなぜですか

私は非常に奇妙なことに気づきました。フォームを閉じるときに上、左、幅、高さのプロパティを保持し、この情報を使用して、以前に保存された情報を使用して SetBounds を呼び出すことにより、フォームが再び開かれたときにフォームの最後の位置を復元します。これはうまく機能しますが、フォームの Position プロパティが設計時に poDefault に設定されている場合に限られます。poDesigned、poScreenCenter、poMainFormCenter などの別の値に設定した場合、SetBounds はフォームの以前の位置とサイズを復元しません。

ここが奇妙な部分です。問題のように見えるのは、設計時に Position プロパティが何に設定されているかです。実行時にこのプロパティの値を poDefault に変更できますが、SetBounds の呼び出しはまだ正しく機能しません。私は次のようなものを試しました

フォームの OnCreate イベント ハンドラーとオーバーライドされたコンストラクターの両方で (コンストラクターで Position を poDefault に設定し、OnCreate イベント ハンドラーで SetBounds を呼び出しました)。いずれの場合も、実行時にフォームの Position プロパティを poDefault に変更しても、SetBounds で確認した問題は修正されません。私が見つけた唯一の一貫したパターンは、フォームの Position プロパティが設計時に poDefault であった場合にのみ SetBounds が機能することです。

設計時にフォームの Position プロパティが poDefault に設定されていない場合に SetBounds がどのように機能するかに関して、私が気付いたことが他にもあります。たとえば、設計時に Position プロパティが poScreenCenter に設定されているフォームは、SetBounds を呼び出した場合、画面の中央に表示されるとは限りません。ただし、SetBounds で定義された左上の位置には表示されず、SetBounds の呼び出しで指定された幅と高さも考慮されません。ただし、SetBounds を呼び出す前に、フォームの Position プロパティを poDefault に設定していることを繰り返しましょう。2 つの操作の間に Application.ProcessMessages への呼び出しをスタックしましたが、それでも問題は解決しません。

Windows 10 で実行されている Delphi 10.1 Berlin でこれを広範囲にテストしました。また、Windows 7 で Delphi XE6 を使用してテストしました。同じ結果です。

疑問がある場合は、4 つのフォームを含む VCL アプリケーションを作成してください。最初のフォームに 3 つのボタンを配置し、各ボタンに次の OnClick のようなものを追加します。

ここで、コンストラクターは TForm2 を作成し、次に TForm3 と TForm4 を作成します。

フォーム 2 ~ 4 の OnCreate で、次のコードを追加します。

form2 では Position を poDefault に設定し、form3 では Position を poScreenCenter に設定し、form4 では Position をデフォルトの poDefaultPosOnly に設定したままにします。form2 のみが 500, 500 に表示され、幅は 500、高さは 500 です。

誰かがこの結果の論理的な説明を持っていますか?

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

java - 幅を最小に設定する幅のsetBounds値?

幅を必要最小限に設定するために setBounds に入れることができる値はありますか?

推測とチェックを使用して最小幅を見つけるのではなく、使用できる値はありますか?