繁体   English   中英

在 Jtable 单元格内使用 JcheckBoxes 渲染了 JPanel。 现在面板没有与 Jtable 中的单元格中心对齐

[英]Rendered JPanel with JcheckBoxes inside an Jtable cell. Now the Panel is not getting align to centre of the cell in Jtable

单元格渲染器:

public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    if(value!=null && ai38DataModel!=null){
        //panel.removeAll();
        List<AI38BetModelTable> modelList = ai38DataModel.getModelList();
        LinkedHashMap<String, JPanel> elePanelMap = ai38DataModel.getElePanelMap();
        if(modelList!=null || !modelList.isEmpty() || !elePanelMap.isEmpty()){
            AI38BetModelTable model = modelList.get(row);
            String key = ai38DataModel.getPanelEleStringKey(model.getSelectedEvent().getEventCode(), model.getSelectedBetCode(), model.getElement(), (Set<Integer>)value);
            panel = elePanelMap.get(key);
            }
        }
                  
    return panel;
    
    }

将 Jcheckboxes 添加到面板:

                    for(Integer value: nameValuePair.get(key)){         
                        JCheckBox jChkbx = new JCheckBox(value.toString());
                        jChkbx.setOpaque(false);
                        jChkbx.addItemListener(listener);
                        panel.add(jChkbx);                          
                        }

[在此处输入图片描述][1]

强文本[1]: https://i.stack.imgur.com/D8Mhs.png

请找到附加的图像。

当我使用 GridBaglayout 而不是 FlowLayout 时,我的问题得到了解决。 现在 Jcheckboxes 对齐到面板内的中心。

for(String key: nameValuePair.keySet()){ JPanel panel = new JPanel(new GridBagLayout()); modelList.add(new AI38BetModelTable(selectedeEvent,selectedBetCode,key,nameValuePair.get(key))); String keyForPanel = ai38DataModel.getPanelEleStringKey(selectedeEvent.getEventCode(), selectedBetCode, key, nameValuePair.get(key)); for(整数值:nameValuePair.get(key)){
JCheckBox jChkbx = new JCheckBox(value.toString()); jChkbx.setOpaque(false); jChkbx.addItemListener(listener);
面板.add(jChkbx);
} panelEleMap.put(keyForPanel,面板); }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM