Checkbox getRandomString = new Checkbox("字符串");
getRandomString.setBounds(x1, y, 101, 23);
contentPane.add(getRandomString);
etRandomString.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
// 复选框监听
//java.awt.Point mousePoint = MouseInfo.getPointerInfo().getLocation();
String item = e.getItem().toString();
int stateChange =e.getStateChange();
if (stateChange == ItemEvent.SELECTED){
textField = new TextField();
textField.setBounds(460,a,60, 23);
contentPane.add(textField);
}else if(stateChange == ItemEvent.DESELECTED){
//删除
contentPane.remove(textField);
}
}});
现在的脚本是 只能删除最新创建的文本域, 如何进行定位删除?
private void addMyPanel(String label) { Panel panel =new Panel(new GridLayout(0,1)); Checkbox getRandomString = new Checkbox(label); panel.add(getRandomString ) ; TextField textField = new TextField(); getRandomString.addItemListener(e -> { int stateChange = e.getStateChange(); if (stateChange == ItemEvent.SELECTED) { panel.add(textField ) ; } else if (stateChange == ItemEvent.DESELECTED) { // 删除 panel.remove(textField); } revalidate(); }); add(panel); }
能否在我这个代码上面直接进行修改?
第一次写SWing 还不太理解
或者 留个Q 我直接代码给你?
大神 我 增加悬赏,麻烦你了
private TextField textField = null;
public void parseMap(Map map){
int x =550;
int x1 =460;
int x2 =350;
int x3 =240;
int y =90;
// final TextField textField = new TextField();
//获取鼠标位置
// final java.awt.Point mousePoint = MouseInfo.getPointerInfo().getLocation();
// System.out.println("鼠标点击位置"+);
//
Set entrySet = map.entrySet();
Iterator<Entry<String, Object>> it = entrySet.iterator();
//最外层提取
while(it.hasNext()){
Entry<String, Object> e = it.next();
//内层提取
if(e.getValue() instanceof List){
List list = (List)e.getValue();
for (int i = 0; i < list.size(); i++) {
//如何还有,循环提取
parseMap((Map)list.get(i));
}
}
textkeys=e.getKey();
//解析框
int nub = 4 ;
for (int i = 0; i < nub; i++) {
JTextField textFieldy = new JTextField();
textFieldy.setBounds(10,y, 85, 20);
contentPane.add(textFieldy);
textFieldy.setText(textkeys);
//复选框
Checkbox Number = new Checkbox("正整数");
Number.setBounds(x, y, 101, 23);
contentPane.add(Number);
Checkbox getRandomString = new Checkbox("字符串");
getRandomString.setBounds(x1, y, 101, 23);
contentPane.add(getRandomString);
Checkbox Spechars = new Checkbox("特殊字符");
Spechars.setBounds(x2, y, 101, 23);
contentPane.add(Spechars);
Checkbox Chinse = new Checkbox("汉字");
Chinse.setBounds(x3, y, 101, 23);
contentPane.add(Chinse);
// final int a = y+25;
// final int v=y;
// getRandomString.addItemListener(new ItemListener() {
// public void itemStateChanged(ItemEvent e ) {
// // 复选框监听
// //java.awt.Point mousePoint = MouseInfo.getPointerInfo().getLocation();
// String item = e.getItem().toString();
// int stateChange =e.getStateChange();
// System.out.println(e.getStateChange());
// if (stateChange == ItemEvent.SELECTED){
// textField = new TextField();
// textField.setBounds(460,a,60, 23);
// contentPane.add(textField);
// textField.setText("测试");
//// textField.setName("123");
//
//// System.out.println("此次事件由选中“" + item + "”触发!");
// }else if(stateChange == ItemEvent.DESELECTED){
// //删除
// contentPane.remove(textField);
// System.out.println(textField.getName()+" :++");
// //contentPane.repaint();
// System.out.println("此次事件由取消选中“" + item + "”触发!");
//
// }
// }});
y=y + 45;
}
}
}
@Mr.Tester:
代码不贴完整,不知道你想干嘛