乐" 2021-05-08 18:32 采纳率: 100%
浏览 68
已结题

这道JAVA题怎么实现

输入长度和范围,单击“生成”按钮生成随机数序列,如图6-32所示,使用文本行数组分别存储输入数据和结果数据。单击“查找重复值”按钮,将查找到的多个重复值以同一种颜色显示。(长度为几就生成几个文本框)
 

 

这题,我的思路是准备搞一个边布局的窗口,北面和中间各一个面板,北面的用流布局,然后把上面那几个组件(两个标签两个文本框,两个按钮)加上去。这一步我已经搞定了。然后中间的面板用网格布局。我是想在点击那个生成按钮的时候,将一个文本框数组添加到中间的面板中。(因为改变上面那个长度文本框里的数字,文本框数组的元素数量会变,所以不能在上面构造方法里写)我是在实现按钮监听器接口的代码里写的,但是发现那个文本框数组根本加不到那个面板上

(代码中我已实现的两个面板的添加以及上部面板组件的添加,我碰到的问题,文本框无法添加至第二个面板中。

 

 

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class RandomFrame extends JFrame implements ActionListener
{
    private JTextField TextField_1,TextField_2;
    private JButton Button_1,Button_2;
    JTextField[] field;

    public RandomFrame()
    {
        super("随机数序列,查找重复值");
        this.setSize(400,200);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);

        JPanel panel_1 = new JPanel(new FlowLayout());
        JLabel Label_1 = new JLabel("长度");
        TextField_1 = new JTextField("",4);
        JLabel Label_2 = new JLabel("范围");
        TextField_2 = new JTextField("",4);
        Button_1 = new JButton("生成");
        this.Button_1.addActionListener(this);
        Button_2 = new JButton("查找重复值");
        this.Button_2.addActionListener(this);
        panel_1.add(Label_1);
        panel_1.add(TextField_1);
        panel_1.add(Label_2);
        panel_1.add(TextField_2);
        panel_1.add(Button_1);
        panel_1.add(Button_2);
        this.getContentPane().add(panel_1,"North");

        JPanel panel_2 = new JPanel(new GridLayout(4,5 ));
        this.getContentPane().add(panel_2,"Center");


        this.setVisible(true);
    }

    public void actionPerformed(ActionEvent event)
    {
        if (event.getSource() == this.Button_1)
        {
            int a = Integer.valueOf(TextField_1.getText());
            field = new JTextField[a];
            for (int i = 0;i < a;i++)
            {
                field[i] = new JTextField("",4);
            }
            for (int i = 0;i < a;i++)
            {
                panel_2.add(field[i]);//此处报错
            }
        }
    }

    public static void main(String[] args) {
        new RandomFrame();
    }
}
  • 写回答

1条回答 默认 最新

  • 技术砖家--Felix 2021-05-10 19:56
    关注

    我会,私信我把

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月1日

悬赏问题

  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”