4

2 番目の MVC グループをインスタンス化する方法を確認できます。

def (loginPaneModel, loginPaneView, loginPaneController) =
      createMVCGroup('LoginPane', 'LoginPane', [:]);
view.loginPanel = loginPaneView.loginPanel

しかし、メインウィンドウの一部として表示したくありません。その上に浮かび上がらせたい。私はそれを行うために何を呼びますか? ありがとう!

4

2 に答える 2

0

まあ、最初の行だけが必要なようです。ウィンドウをポップアップするにはそれで十分でした。ただし、重要なのはビューをフレームにすることだったと思います。

def frame = frame(title:'Login', pack:true, locationByPlatform:true) {
     ...
}
frame.pack()
frame.show()
于 2009-04-14T17:08:01.127 に答える
0

最も簡単な方法は、ビュー パネルを親 MVC グループのダイアログのルートとして使用することです。コードスニペットがコントローラーであるグループのビューでは、次のようなことができます...

application(title:'your app', ....) {
  // your existing code...

  loginDialog = dialog(title:'Login Panel', visible:false) {
    panel(loginPanel)
  }
}

そして、ダイアログを表示する必要がある場合(同じコントローラー内)

view.loginDialog.visible = true

別のウィンドウ内にダイアログをネストすると、ダイアログの所有者が親のフレームまたはダイアログに設定されるという副作用があります。ダイアログが別のダイアログ/ウィンドウによって所有されていると、ダイアログが親とリンクされ、常にその親の上に浮かびます。また、親と一緒に上げ下げします。

于 2009-04-15T15:08:20.420 に答える