单击确认对话框的确定​​按钮后如何返回摆动框架

时间:2015-07-10 10:25:54

标签: java swing

选中一个复选框,并检查与其相关的文本字段是否填充了输入

 chckbxDictionary = new JCheckBox();
 txtDictionaryStartPage = new JTextField();    
 JButton btnSubmit = new JButton("Submit");
 btnSubmit.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent e) {
      if(chckbxDictionary.isSelected()){
            if(txtDictionaryStartPage.getText().equals("")){
                    int type=JOptionPane.showConfirmDialog(null, "enter start page", "", JOptionPane.OK_CANCEL_OPTION);
                    if(type==JOptionPane.OK_OPTION){
                        //if ok return to frame and focus txtDictionaryStartPage for user input
                    }
                }
       }
  }
}

在确认对话框上单击确定按钮后,我想返回到jframe并聚焦所需的文本字段以供用户输入输入并等到输入输入。

3 个答案:

答案 0 :(得分:0)

根据JavaDoc

,假设他们在同一个班级
  

public boolean requestFocusInWindow()

     

请求此组件   获得输入焦点。请参阅Component.requestFocusInWindow()获取   这种方法的完整描述。如果你想要更多   有关焦点的信息,请参阅如何使用焦点子系统   Java教程。

所以在你的情况下,你可以这样做:

assertThat(module.selectedClients.size()).isEqualTo("0") 

答案 1 :(得分:0)

如果他们在同一个班级,你可以这样做:

 chckbxDictionary = new JCheckBox();
 txtDictionaryStartPage = new JTextField();    
 JButton btnSubmit = new JButton("Submit");
 btnSubmit.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent e) {
      if(chckbxDictionary.isSelected()){
            if(txtDictionaryStartPage.getText().equals("")){
                    int type=JOptionPane.showConfirmDialog(null, "enter start page", "", JOptionPane.OK_CANCEL_OPTION);
                    if(type==JOptionPane.OK_OPTION){
                        txtDictionaryStartPage.requestFocusInWindow();
                        frame.setVisible(true);
                    }
                }
       }
  }
}

我不确定部件frame.setVisible(true);是否必需,但请尝试。如果你把它放在你的代码中,它无论如何也不会受到伤害。

答案 2 :(得分:0)

showConfirmDialog的第一个参数应从null更改为btnSubmit

int type=JOptionPane.showConfirmDialog(btnSubmit, "enter start page", "", JOptionPane.OK_CANCEL_OPTION);
if(type==JOptionPane.OK_OPTION){
      txtDictionaryStartPage.requestFocusOnWindow();
}