java - 输入对话框验证

标签 java swing validation input a-star

我正在尝试在java中实现A*算法。要求用户输入要形成的网格的宽度和高度。我的问题是验证该输入。这是我的代码:

public class Map extends java.awt.Panel implements Serializable
{
JFrame frame = new JFrame();
String rows =  JOptionPane.showInputDialog(frame,
                "Συμπληρώστε τον αριθμό γραμμών του πλέγματος: \n",
                "Δημιουργία πλέγματος",
                JOptionPane.PLAIN_MESSAGE);
String cols =  JOptionPane.showInputDialog(frame,
                "Συμπληρώστε τον αριθμό στηλών του πλέγματος: \n",
                "Δημιουργία πλέγματος",
                JOptionPane.PLAIN_MESSAGE);

int rowsnum = Integer.parseInt(rows); 
int colsnum = Integer.parseInt(cols);
GridCell gridCell[][] = new GridCell[rowsnum][colsnum];

public Map()
{
        super();

    setLayout(new GridLayout(rowsnum,colsnum)); 
    for(int i=0;i<rowsnum;i++){ 
        for(int j=0;j<colsnum;j++){
           gridCell[i][j] = new GridCell();
           gridCell[i][j].setPosition(new Point(i,j));
           add(gridCell[i][j]);
        }
    }
}

我尝试用新方法检查输入,但我的问题是我需要访问 rowsnumcolsnumgridcell[ ] 来 self 程序的其他类。

我是 Java 新手,非常感谢任何帮助。 :-)

最佳答案

现在,您的 rowsnum、colsnum 和 GridCells 是“Map”类中的变量。

为了从其他类中将其作为实例变量访问,

public int rowsnum = // something
public int colsnum = // something
public GridCell girdCell[][] = //something

“public”表示可以从类外部访问该变量。

在 Map 类之外,

Map m = new Map();
int rowsnum = m.rowsnum
int colsnum = m.colsnum
// access instance variables

但是,最好为实例变量创建 getter 和 setter。

也就是说,创建单独的方法来获取和设置这些变量。

public int getRowsNum() {
    return rowsnum;
}

等等。

关于java - 输入对话框验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19243747/

相关文章:

java - 如何防止对象被垃圾收集?

java - 3 个 JButton 无法触发 3 个绘制图像

forms - 如何在 Symfony 2 表单字段中设置默认值?

java - 如何将字符串数组转换为唯一值数组?

java - 如何创建 AppleScript 或命令文件以在 Mac OS 上启动 Java 应用程序?

java - 对象数组重复删除

java - 向 Jtable 添加一个监听器,该监听器在填充表时仅调用一次

java - HyperLinkListener 未触发 - java swing

javascript - 将 html 文本输入限制为特定字节数?

javascript - 我想在我的参数编辑器中使用正则表达式来验证标志和值