⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configdialog.java

📁 扫雷游戏实现
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        //填充(相对于整个空白区域),横向全部填满。
        gridBagConstraints.weightx = 1.0;
        //“雷数”文本框四周的空间(上,左,下,右)
        gridBagConstraints.insets = new java.awt.Insets(10, 0, 5, 10);
        //按照GridBagConstraints对象的约束将“雷数”文本框添加到“自定义”面板
        jPanelCustomization.add(jTextFieldMine, gridBagConstraints);

        jLabelRow.setText("行数:");
        jLabelRow.setEnabled(false);//默认“行数”标签不启用
        gridBagConstraints = new java.awt.GridBagConstraints();//创建GridBagConstraints对象
        gridBagConstraints.gridx = 0;//“行数”标签单元格横坐标
        gridBagConstraints.gridy = 5;//“行数”标签单元格纵坐标
        //用方位西北进行填靠
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        //“行数”标签四周的空间(上,左,下,右)
        gridBagConstraints.insets = new java.awt.Insets(10, 15, 5, 10);
        //按照GridBagConstraints对象的约束将“行数”标签添加到“自定义”面板
        jPanelCustomization.add(jLabelRow, gridBagConstraints);

        jTextFieldRow.setColumns(5);
        jTextFieldRow.setText("8");//设置“行数”文本框默认值
        jTextFieldRow.setEnabled(false);//默认“行数”文本框不启用
        gridBagConstraints = new java.awt.GridBagConstraints();//创建GridBagConstraints对象
        gridBagConstraints.gridx = 1;//“行数”文本框单元格横坐标
        gridBagConstraints.gridy = 5;//“行数”文本框单元格纵坐标
        //用方位西北进行填靠
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        //填充(相对于整个空白区域),横向全部填满。
        gridBagConstraints.weightx = 1.0;
        //“行数”文本框四周的空间(上,左,下,右)
        gridBagConstraints.insets = new java.awt.Insets(10, 0, 5, 10);
        //按照GridBagConstraints对象的约束将“行数”文本框添加到“自定义”面板
        jPanelCustomization.add(jTextFieldRow, gridBagConstraints);

        jLabelColumn.setText("列数:");
        jLabelColumn.setEnabled(false);//默认“列数”标签不启用
        gridBagConstraints = new java.awt.GridBagConstraints();//创建GridBagConstraints对象
        gridBagConstraints.gridx = 0;//“列数”标签单元格横坐标
        gridBagConstraints.gridy = 6;//“列数”标签单元格横坐标
        //用方位西北进行填靠
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        //填充(相对于整个空白区域),纵向全部填满。
        gridBagConstraints.weighty = 1.0;
        //“列数”标签四周的空间(上,左,下,右)
        gridBagConstraints.insets = new java.awt.Insets(10, 15, 15, 10);
        //按照GridBagConstraints对象的约束将“列数”标签添加到“自定义”面板
        jPanelCustomization.add(jLabelColumn, gridBagConstraints);

        jTextFieldColumn.setColumns(5);
        jTextFieldColumn.setText("8");//设置“列数”文本框默认值
        jTextFieldColumn.setEnabled(false);//默认“列数”文本框不启用
        gridBagConstraints = new java.awt.GridBagConstraints();//创建GridBagConstraints对象
        gridBagConstraints.gridx = 1;//“列数”文本框单元格横坐标
        gridBagConstraints.gridy = 6;//“列数”文本框单元格纵坐标
        //用方位西北进行填靠
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        //填充(相对于整个空白区域),横向全部填满。
        gridBagConstraints.weightx = 1.0;
        //填充(相对于整个空白区域),纵向全部填满。
        gridBagConstraints.weighty = 1.0;
        //“列数”文本框四周的空间(上,左,下,右)
        gridBagConstraints.insets = new java.awt.Insets(10, 0, 15, 10);
        //按照GridBagConstraints对象的约束将“列数”文本框添加到“自定义”面板
        jPanelCustomization.add(jTextFieldColumn, gridBagConstraints);

        jPanelGlobe.add(jPanelCustomization, java.awt.BorderLayout.CENTER);//“自定义”面板添加到主面板中间

        getContentPane().add(jPanelGlobe, java.awt.BorderLayout.CENTER);//主面板添加到窗口中间

        pack();//调整此窗口的大小,以适合其子组件的首选大小和布局。
    }                        

    private void jRadioButtonCustomizedItemStateChanged(java.awt.event.ItemEvent evt) {
        setCustomizationEnabled(jRadioButtonCustomized.isSelected());
    }                                              
    
    private void setCustomizationEnabled(boolean b) {//选中“自定义”单选按钮时
        jPanelCustomization.setEnabled(b);//启用“自定义雷区”面板
        jLabelMine.setEnabled(b);
        jLabelRow.setEnabled(b);
        jLabelColumn.setEnabled(b);
        jTextFieldMine.setEnabled(b);
        jTextFieldRow.setEnabled(b);
        jTextFieldColumn.setEnabled(b);
    }
    
    private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//“设定”对话框“确定”按钮事件处理
        if (jRadioButtonCustomized.isSelected()) {//选中“自定义”单选按钮
            try {
                mine = Integer.parseInt(jTextFieldMine.getText());//获取雷数
                row = Integer.parseInt(jTextFieldRow.getText());//获取雷区行数
                column = Integer.parseInt(jTextFieldColumn.getText());//获取雷区列数
            } catch (NumberFormatException nfe) {
                javax.swing.JOptionPane.showMessageDialog(this, "无效参数!",
                        "错误", javax.swing.JOptionPane.ERROR_MESSAGE);
                return;
            }
            if (mine <= 0 || row <= 0 || column <= 0 || mine >= row * column) {
                javax.swing.JOptionPane.showMessageDialog(this, "无效参数!",
                        "错误", javax.swing.JOptionPane.ERROR_MESSAGE);
                return;
            }
        } else if (jRadioButtonEasy.isSelected()) {//选中“初级”单选按钮
            mine = 10;
            row = 8;
            column = 8;
        } else if (jRadioButtonMedium.isSelected()) {//选中“中级”单选按钮
            mine = 40;
            row = 16;
            column = 16;
        } else {//选中“高级”单选按钮
            mine = 99;
            row = 16;
            column = 30;
        }
        doClose(RET_OK);
    }                                        
    
    private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//“设定”对话框“取消”按钮事件处理
        doClose(RET_CANCEL);
    }                                            
    
    //关闭对话框
    private void closeDialog(java.awt.event.WindowEvent evt) { 
        doClose(RET_CANCEL);
    }                            
    
    private void doClose(int retStatus) {
        returnStatus = retStatus;
        setVisible(false);
        dispose();
    }
        
    // Variables declaration - do not modify 
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.JPanel buttonPanel;
    private javax.swing.JButton cancelButton;
    private javax.swing.JLabel jLabelMine;
    private javax.swing.JLabel jLabelRow;
    private javax.swing.JLabel jLabelColumn;
    private javax.swing.JPanel jPanelGlobe;
    private javax.swing.JPanel jPanelDifficulty;
    private javax.swing.JPanel jPanelCustomization;
    private javax.swing.JRadioButton jRadioButtonEasy;
    private javax.swing.JRadioButton jRadioButtonMedium;
    private javax.swing.JRadioButton jRadioButtonHard;
    private javax.swing.JRadioButton jRadioButtonCustomized;
    private javax.swing.JTextField jTextFieldMine;
    private javax.swing.JTextField jTextFieldRow;
    private javax.swing.JTextField jTextFieldColumn;
    private javax.swing.JButton okButton;
    // End of variables declaration 
    
    private int returnStatus = RET_CANCEL;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -