| 2263 | |
| 2264 | |
| 2265 | public static void addRuleBox(JPanel panel, String checkBoxName, RuleMarkChangeCallback callback, Boolean selectMark) { |
| 2266 | // 创建复选框 |
| 2267 | JCheckBox newBox = new JCheckBox(checkBoxName); |
| 2268 | newBox.setFocusPainted(false); |
| 2269 | newBox.setSelected(callback != null && callback instanceof RuleMarkChangeCallback); |
| 2270 | newBox.setSelected(selectMark); // 直接使用 ipMark 的当前值 |
| 2271 | |
| 2272 | // 添加 ItemListener |
| 2273 | newBox.addItemListener(new ItemListener() { |
| 2274 | public void itemStateChanged(ItemEvent e) { |
| 2275 | // 使用回调接口来通知外部变量的更改 |
| 2276 | if (callback != null) { |
| 2277 | callback.onRuleMarkChange(e.getStateChange() == ItemEvent.SELECTED); |
| 2278 | } |
| 2279 | } |
| 2280 | }); |
| 2281 | |
| 2282 | // 添加到面板 |
| 2283 | panel.add(newBox); |
| 2284 | } |
| 2285 | |
| 2286 | public static void addRuleBox(JPanel panel, String checkBoxName, RuleMarkChangeCallback callback, Boolean selectMark, Boolean setAlways) { |
| 2287 | // 创建复选框 |