【发布时间】:2020-05-07 07:02:32
【问题描述】:
我现在有代码可以接受用户输入来自定义 JTextArea 的行数和列数,我想使用相同的变量来制作一个 2d 数组,其中填充随机值,范围从 0 到 2,我尝试创建嵌套 for 循环但最终失败。我在网上找不到任何可以回答如何做到这一点的东西。任何帮助或建议表示赞赏。以下是我现在所拥有的一切,没有任何事情要做。
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Main {
int tf1r = 0;
int tf2c = 0;
String space = ", ";
JPanel panel;
JLabel label;
JTextField tf1, tf2;
JButton set, reset;
JTextArea ta;
public static void main(String[] args) {
// Frame
JFrame frame = new JFrame("Mapped Array");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600, 600);
frame.setResizable(false);
// Menu Bar
JMenuBar mb = new JMenuBar();
JMenu m1 = new JMenu("EXPORT");
JMenu m2 = new JMenu("HELP");
mb.add(m1);
mb.add(m2);
JMenuItem m11 = new JMenuItem("TXT");
JMenuItem m22 = new JMenuItem("BAT");
m1.add(m11);
m1.add(m22);
// Panel Bottom and Components
JPanel panel = new JPanel();
JLabel label = new JLabel("Enter Rows and Columns");
JTextField tf1 = new JTextField(10);
JTextField tf2 = new JTextField(10);
JButton set = new JButton("SET");
JButton reset = new JButton("RESET");
panel.add(label);
panel.add(tf1);
panel.add(tf2);
panel.add(set);
panel.add(reset);
// Center TextArea
JTextArea ta = new JTextArea();
// Components to Frame
frame.getContentPane().add(BorderLayout.SOUTH, panel);
frame.getContentPane().add(BorderLayout.NORTH, mb);
frame.getContentPane().add(BorderLayout.CENTER, ta);
frame.setVisible(true);
//Sets Text
set.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String space = ", ";
String rows = tf1.getText();
String columns = tf2.getText();
int tf1r = Integer.parseInt(rows);
int tf2c = Integer.parseInt(columns);
ta.setRows(tf1r);
ta.setColumns(tf2c);
System.out.println("rows: "+tf1r+" columns: "+tf2c+" TaR: "+ta.getRows()+" TaC: "+ta.getColumns());
ta.setText(rows+space+columns+"\n100, 100\n");
}
});
//Resets Text
reset.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ta.setText("");
}
});
}
}
【问题讨论】:
标签: java swing for-loop random