我是 jdialog 的新手,我一直在搜索,但似乎找不到使用自定义按钮的解决方案。我发现的唯一解决方案是使用他们的内置输入 JDialog。但这并不能解决我的问题。
我正在尝试将数据(单击保存后从对话框 texfield“hello”传递到父框架 textField)但无法这样做。
有人遇到同样的问题吗?有什么帮助吗?
public class dataparse {
String result;
String inputValue;
public void mainFrame() {
JFrame frame = new JFrame(" Parent Frame ");
JPanel center = new JPanel();
JButton enter = new JButton("Enter");
// JLabel data = new JLabel("data is...");
JTextField text = new JTextField();
frame.setSize(400, 400);
center.setLayout(new GridLayout(0, 1));
center.add(text);
center.add(enter);
frame.add(center, BorderLayout.CENTER);
enter.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
confirmDialog();
text.setText(inputValue);
}
});
frame.setVisible(true);
}
private void confirmDialog(){
JTextField output = new JTextField("Hellloooo");
JButton save = new JButton("Save");
JDialog customDialog = new JDialog();
Container pane = customDialog.getContentPane();
pane.setLayout(new GridLayout(0,1));
pane.add(new JLabel("Startubg"));
pane.add(output);
pane.add(save);
customDialog.setSize(300,400);
customDialog.add(output);
customDialog.add(save);
customDialog.setVisible(true);
save.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
result = output.getText();
}
});
}
先感谢您 :)
例如,我有 2 个类,我希望第二个类从第一个类调用 dialog.dispose()。但我无法调用该方法,任何想法
main.java
public JDialog dialogBox(){
//JDialog dialog = new JDialog(frame, "Date picker", true);
dialogButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
dialog = new JDialog(frame,"Date picker " , true);
DatePicker_Demo picker = new DatePicker_Demo();
dialog.setSize(500, 300);
dialog.setLayout(new GridLayout(0,2));
dialog.add(new DatePicker_Demo().addBtn());
dialog.pack();
dialog.setVisible(true);
}
});
return dialog;
}
第二个.java
public JButton addBtn(){
JButton btn = new AddBills().exitBtn();
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
new AddBills().dialogBox().dispose();
}
});
return btn;
}
