Java 按下按钮时如何显示2D矩阵?
我试图在填充两个文本字段行和列时显示二维矩阵,但在填充这两个文本字段并按下“绘制”按钮时,我不知道如何打印二维矩阵 这是我的代码:Java 按下按钮时如何显示2D矩阵?,java,swing,matrix,2d,Java,Swing,Matrix,2d,我试图在填充两个文本字段行和列时显示二维矩阵,但在填充这两个文本字段并按下“绘制”按钮时,我不知道如何打印二维矩阵 这是我的代码: import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; public class InputOutput extends JFrame{ JTextField mtf; JTextField ntf; JButton button; public
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class InputOutput extends JFrame{
JTextField mtf;
JTextField ntf;
JButton button;
public InputOutput(){
setLayout (new FlowLayout ());
mtf = new JTextField(10);
ntf = new JTextField(10);
add(mtf);
add(ntf);
button = new JButton("Dibujar");
add(button);
event e = new event();
button.addActionListener(e);
}
public class Cuadricula extends JComponent{
final int height = 30;
final int width = 30;
int posicionx=0;
int posiciony=0;
public Cuadricula(int x,int y){
setBounds(x,y,width+1, height+1);
}
@Override
public void paintComponent (Graphics g){
super.paintComponent(g);
g.drawRect(0,0,width,height);
}
}
public class event implements ActionListener{
public void actionPerformed(ActionEvent e){
String Sm = mtf.getText();
String Sn = ntf.getText();
int m = Integer.parseInt(Sm);
int n = Integer.parseInt(Sn);
Cuadricula casillas[] = new Cuadricula[m*n];
int i,j;
int k = 0;
while (k < m*n){
for(i=0; i < m; i++){
for(j=0; j < n; j++){
casillas[k] = new Cuadricula(i*30,j*30);
k++;
}
}
}
//HERE IS WHAT I DON'T KNOW HOW TO DO
for(int i = 0; i < 16; i++){
gui.getContentPane().add(casillas[i]);
}
}
}
public static void main(String[] args){
InputOutput gui = new InputOutput();
gui.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
gui.setSize(300,150);
gui.setTitle("Writer");
gui.setVisible(true);
gui.getContentPane().setLayout(null);
}
}
我假设矩阵是CUADRILLA类绘制的?避免使用空布局,像素完美布局在现代ui设计中是一种错觉。影响零部件单个尺寸的因素太多,您无法控制。Swing的设计初衷是与布局管理器一起工作,丢弃这些布局管理器将导致无止境的问题,您将花费越来越多的时间来纠正这些问题。也可以查看更多详细信息感谢程序员。我不知道如何在Cuadricula类中绘制矩阵,因为Cuadricula类不知道gui元素,这就是问题所在…是的,但如果你能让它工作,输出就应该在那里是这样的是吗?