【发布时间】:2021-12-28 11:00:09
【问题描述】:
单元格渲染器:
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
请找到附件。
【问题讨论】:
-
您在面板中使用哪种布局?请提供minimal reproducible example,以便我们也可以运行您的代码并重现您的问题。请不要发布您的完整代码,而是创建一个简单的小示例来演示您的问题。
-
嗨@SergiyMedvynskyy,感谢您抽出宝贵时间回复。当我使用 GridBaglayout 而不是 FlowLayout 时,我的问题得到了解决。现在 Jcheckboxes 对齐到面板内的中心。
标签: java swing jtable jpanel jcheckbox