linkma_official
2021-04-23 20:04
采纳率: 100%
浏览 25
已结题

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

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

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

现在用的是IDEA的JFromDesigner插件

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

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

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

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

  • 好问题 提建议
  • 收藏

4条回答 默认 最新

  • 已采纳

    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

    评论
    解决 无用
    打赏 举报
  • 有问必答小助手 2021-04-25 10:41

    您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    评论
    解决 无用
    打赏 举报
  • 有问必答小助手 2021-04-26 15:44

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

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

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题