我是 jdialog 的新手,我已经进行了整个搜索,但我似乎找不到使用自定义按钮的解决方案。我发现的唯一解决方案是使用其内置输入 JDialog。但这并不能解决我的问题。
我正在尝试传递数据(单击保存后从对话框文本字段“hello”到父框架文本字段)但无法这样做。
有人遇到同样的问题吗? 有什么帮助吗?
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;
}
最佳答案
将 text.setText 部分放入“保存”按钮的 actionListener 中有何问题?
例如
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
result = output.getText();
text.setText(result);
}
关于java - 通过自定义按钮将数据从 JDialog 传递到框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54418274/