問題タブ [miglayout]

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

java - Java - mvc の実装

MVC パターンを使用して Java Swing アプリケーションを始めたばかりで、これまでのところ、作業が大幅に簡素化され、多くの問題が解決されていることがわかりました。今、私を悩ませているか、解決方法がわからないいくつかの質問があります。

ここに私のUIビューがあります:

これが私のUIコントローラーです

ここに私のUIモデルがあります:

ここまで来てくれてありがとう : ) では、質問をどうぞ:

  1. ビューに JProgressBar コンポーネントを実装しようとしていますが、そのインスタンスを作成しましたが、JList コンポーネントに要素が追加されると、JProgressBar の合計最大量のうち消費された部分が消費されるため、それを実装する適切な方法について少し混乱しています更新されます。

  2. プロジェクトの開始時に、Observable クラスをビューに、Observer をモデルに実装するように言われました。ただし、参照用に当時は持っていなかったコードを提供するように言われました。さて、私はいくつかのコードを持っていますが、この Observer / Observable の実装が私の場合にどのように役立つか、または特に JProgressBar の問題を解決する方法がわかりません。このコードで O/O の実装がどのように役立つかについて、いくつかの提案を得ることができますか?

  3. JPanel のラベル間に間隔を空けるために BorderFactory.createEmptyBorder を JLabel に適用できないため、「right.add(new JLabel(""), "wrap, span")」を使用して、これをどのように置き換えるかの間に垂直方向のギャップを作成します。JPanel 要素間のギャップを設定できる定義済みのメソッドはありますか、それとも Layout Manager を参照する必要がありますか。

何を修正、変更、または交換するかについてのヒントは大歓迎です。ここに多くのデータを入力したことは知っていますが、これを適切に学習しようとしており、参照する別の場所がありません。

0 投票する
6 に答える
8892 参照

java - Swingのコンポーネントの上にペイントしますか?

にをJPanel追加しましたがJViewport、パネルには他のいくつかのパネルが追加されています。マウスをドラッグして複数のコンポーネントを選択できるドラッグ選択を実装しようとしています。私が直面している唯一の問題は、メインに追加されたコンポーネントの後ろに選択長方形がペイントされていることJPanelです。どうすればそれらの上にペイントできますか?

私の構造は次のとおりです:
JFrame-> ContentPane-> JLayeredPane-> JScrollPane-> JPanel-> JPanel []

大学の課題の設計案:
ご覧のとおり、長方形は他のパネルの後ろにあります。

大学の割り当てのための設計草案。

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

java - コンポーネントが重複しているイベントの傍受または委任

私は2つのJPanels同じサイズを持っています。最上層はドラッグ選択パネルとして機能し、もう1つの層には他のコンポーネントが追加されています。私の問題は、これらの追加されたコンポーネントのマウスイベントハンドラーがトリガーされないことです。これらは代わりにオーバーレイパネルによって処理されるためです。mouseEnteredこれらの追加されたコンポーネントの上部をドラッグしても、下にあるコンポーネントをmouseExited有効にしておくにはどうすればよいですか?

これがスクリーンショットです:

ここに画像の説明を入力してください

ご覧のとおり、選択範囲の長方形はオーバーレイJPanelに描かれていますが、マウスがこのパネルを通り抜けて下にあるものを確認できないようです(それを説明するためのより良い方法を探しています)。

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

java - MigLayoutを使用する場合、 `add`の3番目のintパラメーターはレイアウトにどのように影響しますか?

例えば:

この0場合、コンポーネントのレイヤリングに影響しますが、正確にどのように理解できるかわかりません。コンポーネントをオーバーレイしたいのですが、には2番目のレイアウト制約があるため、MigLayout通常のようにレイヤリングとポジショニングを。と組み合わせることができませんJLayeredPane。ありがとう

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

java - MigLayoutのJTextAreaによりNullPointerExceptionが発生します

私はスイングレイアウトマネージャーのプロではなく、この振る舞いは私を完全に困惑させています。基本的に、NullPointerExceptionを取得せずに、JTextAreaまたはJTextPaneをMigLayoutに追加することはできません。

JPanelを拡張するクラスを作成しました。

これは正常に機能します。ただし、textAreaを追加しようとすると、ビルドしようとすると例外がスローされます。

私はEclipseでWindowDesignerを使用しているので、何かがMigLayoutコンストラクターを起動していると思いますか?私はしばらくの間これに頭を悩ませてきました、そして私が理解することができたのは、textAreaまたはtextPanesを追加すると次の例外が発生するということだけです:

java.awt.Container.preferredSize(Unknown Source)at java.awt.Container.getPreferredSize(Unknown Source)at javax.swing.JComponent.getPreferredSize( Unknown Source)at javax.swing.JRootPane $ RootLayout.preferredLayoutSize(Unknown Source)at java.awt.Container.preferredSize(Unknown Source)at java.awt.Container.getPreferredSize(Unknown Source)at javax.swing.JComponent.getPreferredSize(不明なソース)at java.awt.BorderLayout.preferredLayoutSize(不明なソース)at java.awt.Container.preferredSize(不明なソース)at java.awt.Container.getPreferredSize(不明なソース)at net.miginfocom.swing.MigLayout.adjustWindowSize(不明なソース)net.miginfocom.swing.MigLayoutにあります。layoutContainer(Unknown Source)at net.miginfocom.swing.MigLayout.preferredLayoutSize(Unknown Source)at java.awt.Container.preferredSize(Unknown Source)at java.awt.Container.getPreferredSize(Unknown Source)atjavax.swing.JComponent。 getPreferredSize(Unknown Source)at javax.swing.BoxLayout.checkRequests(Unknown Source)at javax.swing.BoxLayout.layoutContainer(Unknown Source)at java.awt.Container.layout(Unknown Source)at java.awt.Container.doLayout(不明なソース)at java.awt.Container.validateTree(不明なソース)at java.awt.Container.validateTree(不明なソース)at java.awt.Container.validateTree(不明なソース)at java.awt.Container.validateTree(不明なソース)java.awt.Container.validate(Unknown Source)at java.awt.Window.show(Unknown Source)atjava.awt.Component。show(Unknown Source)at java.awt.Component.setVisible(Unknown Source)at java.awt.Window.setVisible(Unknown Source)at com.soartech.ssim.testbed.gui.TestbedApplication $ 1.run(TestbedApplication.java:25 )at java.awt.event.InvocationEvent.dispatch(Unknown Source)at java.awt.EventQueue.dispatchEventImpl(Unknown Source)at java.awt.EventQueue.access $ 000(Unknown Source)at java.awt.EventQueue $ 1.run(不明なソース)at java.awt.EventQueue $ 1.run(不明なソース)at java.security.AccessController.doPrivileged(ネイティブメソッド)at java.security.AccessControlContext $ 1.doIntersectionPrivilege(不明なソース)at java.awt.EventQueue.dispatchEvent(不明なソース)、java.awt.EventDispatchThread.pumpOneEventForFilters(不明なソース)、java.awt.EventDispatchThread。pumpEventsForFilter(Unknown Source)at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)at java.awt.EventDispatchThread.pumpEvents(Unknown Source)at java.awt.EventDispatchThread.pumpEvents(Unknown Source)at java.awt.EventDispatchThread.run(不明なソース)スレッド「AWT-EventQueue-0」の例外java.lang.NullPointerException at javax.swing.SizeRequirements.calculateTiledPositions(Unknown Source)at javax.swing.BoxLayout.layoutContainer(Unknown Source)at java.awt.Container.layout (Unknown Source)at java.awt.Container.doLayout(Unknown Source)at java.awt.Container.validateTree(Unknown Source)at java.awt.Container.validateTree(Unknown Source)at java.awt.Container.validateTree(Unknown Source)at java.awt.Container.validateTree(Unknown Source)atjava.awt。Container.validate(Unknown Source)at java.awt.Window.dispatchEventImpl(Unknown Source)at java.awt.Component.dispatchEvent(Unknown Source)at java.awt.EventQueue.dispatchEventImpl(Unknown Source)atjava.awt.EventQueue。 access $ 000(Unknown Source)at java.awt.EventQueue $ 1.run(Unknown Source)at java.awt.EventQueue $ 1.run(Unknown Source)at java.security.AccessController.doPrivileged(Native Method)at java.security.AccessControlContext $ 1.doIntersectionPrivilege(Unknown Source)at java.security.AccessControlContext $ 1.doIntersectionPrivilege(Unknown Source)at java.awt.EventQueue $ 2.run(Unknown Source)at java.awt.EventQueue $ 2.run(Unknown Source)at java.security java.security.AccessControlContext $ 1の.AccessController.doPrivileged(ネイティブメソッド)。doIntersectionPrivilege(Unknown Source)at java.awt.EventQueue.dispatchEvent(Unknown Source)at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)at java.awt.EventDispatchThread.pumpEventsForHierarchy(不明なソース)at java.awt.EventDispatchThread.pumpEvents(不明なソース)at java.awt.EventDispatchThread.pumpEvents(不明なソース)at java.awt.EventDispatchThread.run(不明なソース)java.awt.EventDispatchThread.run(不明なソース)のEventDispatchThread.pumpEvents(不明なソース)java.awt.EventDispatchThread.run(不明なソース)のEventDispatchThread.pumpEvents(不明なソース)

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

swing - MigLayout を使用してフレームにパネルが表示されない

おそらく単純な間違いですが、何が悪いのかわかりません。フレーム(MainFrame)を作成し、メソッドを使用してパネルを変更するクラスがあります。パネルが記述されている別のクラスがあります。しかし、なぜかパネルがなくフレームしか見えません。誰かここで私を助けてくれませんか? 私は MigLayout の初心者で、私の間違いを説明していただければ本当に助かります..

私のパネルクラス

ありがとうございました!!

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

java - JScrollPane内のMigLayout-Componentの強制縮小

レイアウトマネージャーとしてMigLayoutを使用するコンポーネントがあります。JScrollPane内で拡大して、使用可能な幅全体を占めるように設定されています。したがって、アプリケーションのフレームのサイズを変更すると、JScrollPaneはフレームと同じ幅になり、内部コンポーネントも同じようになります。

ただし、フレームを縮小すると、JScrollPane内の拡大されたコンポーネントはその幅を維持し、縮小されないため、水平スクロールバーが表示されます。

JScrollpaneはその幅を縮小する必要があることを認識しており、getScrollableTracksViewportWidth = trueを使用してScrollable-Interfaceを実装しましたが、MigLayoutはそれを尊重していないようです。

何かアドバイス?ありがとう

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

java - Java 縦型レイアウト?

ゲームメニューのように、いくつかの JButton の上に JLabel を垂直に配置する必要があります。それらはすべて中央に配置する必要があります。既に MigLayout をダウンロードしましたが、その使用方法がわからないので、MigLayout かどうかに関係なく、コンポーネントを垂直方向に中央に配置する方法が必要です。また、IDE GUI デザイナを使用したくありません。

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

java - ダイアログの下部にボタンが必要

私は最初にこの質問を milayout フォーラムに投稿しましたが、534 回の閲覧と回答がなかったので、そこで試してみることにしました ;-)

ダイアログの下部に常に残る「OK」ボタンを追加するために、MigLayout ホワイトペーパーの「最初の例」を拡張しようとしました。

残念ながら、私が見つけた唯一の解決策は、成長する「偽のパネル」を追加することでした。

私は本当にこのアプローチがまったく好きではありません...しかし、より良い方法はありますか?

(写真のアップロードは許可されていないようですが、取得したいUIは元の投稿に表示されています)

ありがとう!

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

java - MigLayoutはsetLocationをオーバーライドしているようです-これを回避する方法は?

JPanel使用して、このパネル内で別のをドラッグMigLayoutするときに使用すると、コンポーネントの位置が絶対位置コンポーネント制約(コンポーネントの追加時に指定)にリセットされます。例えば:setLocation(x,y);JPanel

これを行うと、コンテンツのx / y位置が正常に変更されますが、外側の(この)パネルのサイズが変更または検証されるとすぐにリセットされます。

次のコードを試しましたが、パネルがドラッグしてもまったく移動しません。

どうすればこれを回避できますか? ありがとう。