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后台开发 ,喜欢研究新的各种实用技术
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后台开发 ,喜欢研究新的各种实用技术
相关文章
- Jedis(java操作redis数据库技术)
- java的io操作(将字符串写入到txt文件中)
- JAVA学习(九):JAVA多线程编程
- Java实现 LeetCode 290 单词规律
- Java实现 LeetCode 153 寻找旋转排序数组中的最小值
- 【JAVA秒会技术之秒杀面试官】秒杀Java面试官——集合篇(一)
- JAVA存取对象属性时,如果开程多线程,记得对相关存取方法作原子化操作定义
- java客户端操作zookeeper:对某个节点进行持续监听代码示例
- Java客户端操作HBase:创建表代码示例
- ABAP和Java单例模式的攻防
- Atitit 集合分组聚合操作sum count avg java版本groovy版本 目录 1. //按性别统计用户数1 7. //按性别获取用户名称1 16. //按性别求年龄的总和1 2
- paip.日期时间操作以及时间戳uapi php java python 总结
- java对cookie的操作
- 蓝桥杯官网 试题 PREV-115 历届真题 轨道炮【第十届】【决赛】【研究生组】【C++】【Java】两种解法
- Java 关于java.util.LinkedHashMap cannot be cast to 实体类问题答案
- 力扣——169. 多数元素(java)
- 求字符串A与字符串B的最长公共字符串(JAVA)
- Java 25 岁了!Google 加持的 Kotlin 真能取代它?
- 一文详解java线程池 详解Java线程池的七个参数 详解池化技术 java如何选择核心线程数 详解Java线程池的拒绝策略
- Java开发技术之成为高级java工程师必须学习的三个技术
- Java连接Sql Server 2008的简单数据库应用
- 大鱼吃小鱼小游戏(Java版代码,JavaSwing+多线程+接口)
- JAVA开发讲义(二)-Java程序设计之数据之谜三