我正在将现有的应用程序移植到netbeans平台上,虽然我可能会将一些现有的对话框更改为新的通知方法,但是有些对话框非常复杂(多个面板等),我宁愿不使用端口他们,至少还没有。我发现了如何获得大型机,
mainFrame = (JFrame) WindowManager.getDefault().getMainWindow();
但我不知道如何使用.getApplication()。show()
public void configScoreboard() {
if (!in_race) {
if (CSBox == null) {
CSBox = new SBconfig(mainFrame, true);
CSBox.setLocationRelativeTo(mainFrame);
}
Sst01App.getApplication().show(CSBox);
}
}
Sst01App当然不存在于我的新Netbeans平台应用程序中,我似乎无法找到应用程序(我想我尝试了所有的变量)
答案 0 :(得分:0)
经过多次搜索后,在DialogDescriptor文档下找到它......
https://ui.netbeans.org/docs/ui_apis/dide/index.html
在我弄清楚如何创建我可以装饰的自定义对话框时,.show()方法仍然是个问题,但我发现DialogDisplayer可以使用我创建的对象。做完了。
Dialog sb2Dlg = DialogDisplayer.getDefault()。createDialog(sb2);
还有很多无边框和全屏的乐趣,但那是另一个主题。
class MyPanel extends javax.swing.JPanel implements java.awt.event.ActionListener {
//buttons, fields, labels, etc.
...
public void requestFocus () { //set focus for one components
myField.requestFocus ();
}
...
public void actionPerformed(final java.awt.event.ActionEvent ap) { // handling code for buttons
...
}
}
MyPanel mp = new MyPanel(); // create new MyPanel
Object [] options = { new JButton ("Choice 1"),
new JButton ("Choice 2")};
DialogDescriptor dd = new DialogDescriptor (mp,
"Text in title",
true,
options,
null,
DialogDescriptor.DEFAULT_ALIGN,
null,
mp); //create new modal DialogDescriptor with defined ActionListener
mp.requestFocus(); // set focus to component which was specified in MyPanel's requestFocus() method
TopManager.getDefault ().createDialog (dd).show (); //show dialog