在循环中设置JTextField的水平对齐 import javax.swing.*; 导入java.awt.*; 导入java.awt.event.*; 导入java.util.Random; 公共课练习24_19扩展JFrame { 私有静态int[]grid=new int[10][10];//创建一个网格 公共静态void main(字符串[]args) { exercise24_19 frame=新建exercise24_19();//创建帧 frame.setTitle(“exercise 24_19”);//窗口的标题 frame.setLocationRelativeTo(null);//将位置设置为屏幕中间 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true);//显示窗口 } 公众体育24_19() { createMatrix();//在“网格”内创建数字矩阵 setLayout(新的GridLayout(10,10));//设置一个10 x 10的布局 String temp;//创建一个临时变量,将数字作为字符串保存 对于(int i=0;i

在循环中设置JTextField的水平对齐 import javax.swing.*; 导入java.awt.*; 导入java.awt.event.*; 导入java.util.Random; 公共课练习24_19扩展JFrame { 私有静态int[]grid=new int[10][10];//创建一个网格 公共静态void main(字符串[]args) { exercise24_19 frame=新建exercise24_19();//创建帧 frame.setTitle(“exercise 24_19”);//窗口的标题 frame.setLocationRelativeTo(null);//将位置设置为屏幕中间 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true);//显示窗口 } 公众体育24_19() { createMatrix();//在“网格”内创建数字矩阵 setLayout(新的GridLayout(10,10));//设置一个10 x 10的布局 String temp;//创建一个临时变量,将数字作为字符串保存 对于(int i=0;i,java,swing,loops,alignment,jtextfield,Java,Swing,Loops,Alignment,Jtextfield,问题:我必须用随机数创建一个10x10的网格,并使用JTextField,这样我就可以在现场更改数字。然后,程序必须在矩阵中找到1的最大块(复杂度为O(n^2)的算法),并将其高亮显示为红色 尚未实现此程序另一部分的侦听器或按钮,以及查找1中最大块的代码 我的问题是如何将文本集中在jtext字段上?这让我很烦恼,因为我没有为文本字段创建变量名,但我不知道如何支持我使用“.setHorizontalAlignment(JTextField.center);”将文本居中 我也将能够为文本字段创建监听

问题:我必须用随机数创建一个10x10的网格,并使用JTextField,这样我就可以在现场更改数字。然后,程序必须在矩阵中找到1的最大块(复杂度为O(n^2)的算法),并将其高亮显示为红色

尚未实现此程序另一部分的侦听器或按钮,以及查找1中最大块的代码

我的问题是如何将文本集中在jtext字段上?这让我很烦恼,因为我没有为文本字段创建变量名,但我不知道如何支持我使用“.setHorizontalAlignment(JTextField.center);”将文本居中

我也将能够为文本字段创建监听器,以防我更改数字

如果有帮助,这就是支持的最终程序的外观:

这就是我的程序现在的样子:


提前感谢您的帮助

如果要更改文本字段的设置,必须为其指定一个变量名。更改此行:

   import javax.swing.*;
   import java.awt.*;
   import java.awt.event.*;
   import java.util.Random;

   public class Excercise24_19 extends JFrame
   {
     private static int[][] grid = new int[10][10]; //creates a grid

   public static void main(String[] args)
   {


     Excercise24_19 frame = new Excercise24_19(); //creates the frame

     frame.setTitle("Excercise 24_19"); //title of window
     frame.setLocationRelativeTo(null); //sets location to middle of screen
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     frame.setVisible(true); //displays the window
   }

   public Excercise24_19()
   {
     createMatrix(); //creates matrix of numbers inside "grid"
     setLayout(new GridLayout(10, 10)); //sets a 10 x 10 layout
     String temp; //creates a temp variable to hold number's as string

     for(int i = 0; i < grid.length-1; i++)
     {
       for(int j = 0; j < grid[i].length-1; j++)
         {
           temp = "" + grid[i][j] + "";
           matrix.add(new JTextField(temp, 2));
         }
     }
   }

   public static void createMatrix()
   {
     Random myRand = new Random();
     for(int i = 0; i < grid.length-1; i++)
      {
        for(int j = 0; j < grid.length-1; j++)
        {
          grid[i][j] = myRand.nextInt(2);
        }
  
      }

   }
 } 
对这些行:

matrix.add(new JTextField(temp, 2));

我以前试过,但我想在我修好随机发生器后我没有试过!非常感谢。在矩阵的
行中添加(新的JTextField(temp,2))有一个错误,因为您没有定义
矩阵
。删除了我添加一个名为矩阵的帧的行。我取出框架并直接添加到exercise24_19(),不管你做了什么,你的代码都不会编译。对我来说,我会为解决的代码提供编辑。
JTextField text = new JTextField(temp, 2));
text.setHorizontalAlignment(JTextField.CENTER);
matrix.add(text);