JAVA可视化开发有无什么工具?

要交一个作业  需要有 可视化管理系统

以前用过MFC写 但是这次想用swing

现在用的是IDEA的JFromDesigner插件

但是在操作JTable表格的时候不知道如何加入数据

表格的初始化代码在插件自动生成的区域 会被插件后续的改动 覆盖掉

 然后 在JTable的详细设定中也只有行列和默认初始内容的设定

所以想问一下这类问题该如何解决 或者有无更好的可视化界面开发程序

package java3.T10;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;

public class TableDemo2 extends JFrame{
    JTable dataTable;
    public TableDemo2() {
        super("表格的使用");
        dataTable = new JTable(new MyTableModel());
        //设置行高
        dataTable.setRowHeight(80);
        JScrollPane jp = new JScrollPane(dataTable);
        add(jp);
        setSize(500,400);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        
    }
    public static void main(String[] args) {
        new TableDemo2();
    }
}

//普通类
class MyTableModel extends AbstractTableModel{
    //表头
    String columnNames[] = {"姓名","年龄","成绩","头像","作弊"};
    //数据
    Object rowDatas[][]= {
            {"笨笨",new Integer(18),"88",new ImageIcon("upload/touxiang.png"),new Boolean(false)},
            {"小丽",new Integer(19),"99",new ImageIcon("upload/touxiang.png"),new Boolean(true)},
            {"张三",new Integer(20),"77",new ImageIcon("upload/touxiang.png"),new Boolean(false)},
            {"黄蓉",new Integer(16),"65",new ImageIcon("upload/touxiang.png"),new Boolean(false)}
    };
    //返回行数
    @Override
    public int getRowCount() {
        
        return rowDatas.length;
    }
    //返回列数
    @Override
    public int getColumnCount() {

        return columnNames.length;
    }

    //获取单元格的数据
    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        System.out.println("该单元的值为:"+rowDatas[rowIndex][columnIndex]);
        return rowDatas[rowIndex][columnIndex];
    }
    //获取列名
    @Override
    public String getColumnName(int column) {
        
        return columnNames[column];
    }
    //获取某列对应的数据类型
    @Override
    public Class getColumnClass(int columnIndex) {    
        return getValueAt(0, columnIndex).getClass();
    }
    //设置某列是否可以修改,返回true可以修改,返回false不能修改
    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        if(columnIndex<2) {
            return false;
        }
        return true;
    }
    //修改了单元格的数据就保存到数组中
    @Override
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        rowDatas[rowIndex][columnIndex] = aValue;
        fireTableCellUpdated(rowIndex, columnIndex);
    }
}
 

0基础学JAVA+推箱子游戏+QQ即时通讯软件项目实战:https://edu.csdn.net/course/detail/2981

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y