zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java swing 表格相关操作

JAVA 操作 相关 表格 swing
2023-09-14 08:59:45 时间
public static void setTableData3(JTable parameterTable_1,Map requestMap,boolean hasTextField,boolean isTF_table_cell,String[]columnNames) {           System.out.println("setTableData3");           int length = requestMap.size();           if (length   0) {               Object[][] datas = new Object[length][];               int count = 0;               for (Object obj : requestMap.keySet()) {                   Object val = requestMap.get(obj);                   Object[] objs = new Object[3];                   RadioButtonPanel panel = new RadioButtonPanel();                   panel.init(hasTextField);                   objs[2] = panel;                   Color backColor=CustomColor.getMoreLightColor();   //                  objs[2]="c"+i;                   if(isTF_table_cell){                       JTextArea keyTA=new AssistPopupTextArea(String.valueOf(obj));                       keyTA.setBackground(backColor);                       objs[0] = new JScrollPane(keyTA);                   }else{                       objs[0] =obj;                   }                                      if (ValueWidget.isNullOrEmpty(val) || val.equals("null")                           || val.equals("undefined")) {//配置文件中保存的是"null",而不是null                       val = SystemHWUtil.EMPTY;                   }                   if(isTF_table_cell){                       JTextArea valTA=new GenerateJsonTextArea(String.valueOf(val));                       valTA.setBackground(backColor);                       objs[1] = new JScrollPane(valTA);                   }else{                       objs[1] = val;                   }                                      datas[count] = objs;                   count++;               }//for   //            setTableData2(parameterTable_1,datas,columnNames);               appendTableData(parameterTable_1, datas, columnNames);           }//if       }       private static void setTableData2(JTable parameterTable_1,Object[][] datas,String[]columnNames) {           DefaultTableModel model = new DefaultTableModel(datas, columnNames);           parameterTable_1.setModel(model);           parameterTable_1.setRowHeight(30);   //        rendTable();       }       /***       * 追加,原有输入框仍保留,所以可以使用Ctrl+Z       * @param datas       */       public static void appendTableData(JTable parameterTable_1,Object[][] datas,String[]columnNames){           int rowCount=parameterTable_1.getRowCount();           if(rowCount 1){//如果表格本来为空               setTableData2(parameterTable_1,datas,columnNames);           }else{//表格不为空               for(int i=0;i rowCount;i++){                   setTableValueAt(parameterTable_1,i, 0, datas);                   setTableValueAt(parameterTable_1,i, 1, datas);               }               DefaultTableModel tableModel = (DefaultTableModel) parameterTable_1.getModel();               for(int i=rowCount;i datas.length;i++){                   tableModel.addRow(datas[i]);               }           }       }       /***       * 设置表格单元格的值       * @param rowIndex       * @param columnIndex       * @param datas       */       private static void setTableValueAt(JTable parameterTable_1,int rowIndex,int columnIndex,Object[][] datas){           Object keyObj=datas[rowIndex][columnIndex];           if(keyObj instanceof JScrollPane){               JScrollPane js=(JScrollPane)keyObj;               JTextComponent tf=(JTextComponent)js.getViewport().getComponent(0);               keyObj = tf.getText();           }           String key=null;           if(keyObj instanceof String){               key=(String)keyObj;           }else{               key=String.valueOf(keyObj);           }           Object valueAtObj=parameterTable_1.getValueAt(rowIndex, columnIndex);           if(valueAtObj instanceof JScrollPane){               JScrollPane keyScrollPane=(JScrollPane)valueAtObj;               JTextArea keyTA=(JTextArea)keyScrollPane.getViewport().getComponent(0);               keyTA.setText(key);           }else{               parameterTable_1.setValueAt(keyObj, rowIndex, columnIndex);           }                  }  
 if(requestInfoBean.isRequestBodyIsJson()){//"请求参数"表格不可用               requestBodyDataTA.setText(requestInfoBean.getRequestBodyData());           }else{               TableUtil3.setTableData3(parameterTable_1,requestInfoBean.getRequestParameters(),true,true,columnNames);               rendTable();           }              public void layoutTable( ) {   //      Object[][] datas=new Object[1][2];           Object[][] datas=new Object[1][3];           for(int i=0;i datas.length;i++){               Object[]objs=new Object[3];               RadioButtonPanel panel=new RadioButtonPanel();               panel.init();               objs[2]=panel;               if(AutoTestPanel.isTF_table_cell){                   objs[0]= new JScrollPane(new AssistPopupTextArea()) ;                   objs[1]=new JScrollPane(new GenerateJsonTextArea());               }               datas[i]=objs;           }           TableUtil3.appendTableData(parameterTable_1,datas,columnNames);   //        setTableData2(datas);   //      repaintTable();                  }  
     */       private static void cleanTableValue(JTable parameterTable_1,int rowIndex,int columnIndex){           Object valueAtObj=parameterTable_1.getValueAt(rowIndex, columnIndex);           if(valueAtObj instanceof JScrollPane){               JScrollPane keyScrollPane=(JScrollPane)valueAtObj;               JTextArea keyTA=(JTextArea)keyScrollPane.getViewport().getComponent(0);               keyTA.setText(SystemHWUtil.EMPTY);           }else{               parameterTable_1.setValueAt(null, rowIndex, columnIndex);           }       }       /***       * 清空表格数据 br        * @param parameterTable_1       */       public static void cleanTableData(JTable parameterTable_1){           int rowCount=parameterTable_1.getRowCount();           if(rowCount 0){               for(int i=0;i rowCount;i++){                   cleanTableValue(parameterTable_1,i, 0);                   cleanTableValue(parameterTable_1,i, 1);               }           }       }  
JButton cleanUpTable_66 = new JButton("清空表格");          cleanUpTable_66.addActionListener(new ActionListener() {           public void actionPerformed(ActionEvent e) {               TableUtil3.cleanTableData(parameterTable_1);               parameterTable_1.repaint();           }          });  
     */       public static void addParameter(JTable parameterTable_1,String key,boolean hasTextField,boolean isTF_table_cell) {           System.out.println("增加一行");           DefaultTableModel tableModel = (DefaultTableModel) parameterTable_1.getModel();           RadioButtonPanel panel = new RadioButtonPanel();           panel.init(hasTextField);           String val=null;           if(!ValueWidget.isNullOrEmpty(key)){               if(key.contains("=")||key.contains(":")){                   String[]strs=key.split("[:=]");                   key=strs[0];                   val=strs[1];               }           }                      Object[] rowData =null;            if(isTF_table_cell){               Color clor=CustomColor.getMoreLightColor();               JTextArea keyTA=new AssistPopupTextArea(key);               keyTA.setBackground(clor);               JComponent keyTA2=new JScrollPane(keyTA);                              JTextArea valTA=new GenerateJsonTextArea(val);               valTA.setBackground(clor);               JComponent valScroll=new JScrollPane(valTA);               rowData =new Object[]{keyTA2, valScroll, panel};           }else{               rowData =new Object[]{key, val, panel};           }           tableModel.addRow(rowData);       }  
    private void addParameter(String key) {           TableUtil.addParameter(this.parameterTable_1, key,true,AutoTestPanel.isTF_table_cell);       }   JButton addRowButton = new JButton("添加");           addRowButton.addActionListener(new ActionListener() {               @Override               public void actionPerformed(ActionEvent e) {                   addParameter(null);               }           });  
黄威的世界 我是一个热衷IT技术的人,希望自己不断地设计开发出对别人非常有用的软件。有近7年的java开发经验(包括2年Android开发经验)和一年左右的linux使用经验。擅长Java Web后台开发 ,喜欢研究新的各种实用技术