代码给大家::可是请大家帮我想想,怎样动态帮定事件(比如点击jcheckbox),,,还有界面控制我始终不可以。。 private void create_panel(int n){ for (int i=1;i<=n;i++){ JPanel jPanel_add = new JPanel(); JTextField jTextField_zdcd_dec = new JTextField(); JTextField jTextField_jldw = new JTextField(); JTextField jTextField_zddy = new JTextField(); JTextField jTextField_fortable_old_zdm = new JTextField(); JTextField jTextField_old_zdm= new JTextField(); JTextField jTextField_zdcd = new JTextField(); JComboBox jComboBox_szlx = new JComboBox(); JTextField jTextField_xsxh = new JTextField(); JCheckBox jcheckbox_del = new JCheckBox(); JCheckBox jcheckbox_edit = new JCheckBox(); JTextField jTextField_zdm = new JTextField(); jPanel_dbgrid.add(jPanel_add, new XYConstraints(220, 5, -1, -1)); // jPanel_add.add(jcheckbox_edit,0); jPanel_add.add(jTextField_zdm,1); jPanel_add.add(jTextField_zddy,2); jPanel_add.add(jTextField_jldw,3); jPanel_add.add(jComboBox_szlx,4); jPanel_add.add(jTextField_zdcd,5); jPanel_add.add(jTextField_zdcd_dec,6); jPanel_add.add(jTextField_xsxh,7); jPanel_add.add(jcheckbox_del,8); jPanel_add.add(jTextField_old_zdm,9); jPanel_add.add(jTextField_fortable_old_zdm,10); jTextField_fortable_old_zdm.setVisible(false); jTextField_old_zdm.setVisible(false); // jTextField_zdcd_dec.setColumns(7); jTextField_jldw.setColumns(7); jTextField_zddy.setColumns(7); jTextField_fortable_old_zdm.setColumns(7); jTextField_old_zdm.setColumns(7); jTextField_zdcd.setColumns(7); jTextField_zdm.setColumns(7); jComboBox_szlx.addItem("字符型"); jComboBox_szlx.addItem("数值型"); jComboBox_szlx.addItem("日期型"); // jComboBox_szlx jTextField_xsxh.setColumns(8); jPanel_add.setVisible(false); jPanel_add.setVisible(true); verticalFlowLayout1.setHgap(-6);/////////////////?????如何控制界面:: verticalFlowLayout1.setVgap(-6); } } 1。怎样动态帮定事件(比如点击jcheckbox),, 2。 界面控制我始终不可以。。verticalFlowLayout1.setHgap(-6)不管用。。大家看有没有改进的办法!!
监听事件可以如下: jcheckbox.addActionListener(new b());public class b implements ActionListener{ public void actionPerformed(ActionEvent e){ System.out.println("ok!"); } } 关键是如何知道是选中的那个,,,因为我需要传递参数。各位给给高见!!
1、利用JCheckBox中你用不到的属性。如 jcheckbox_del.setName("del"); jcheckbox_edit.setName("edit"); public class b implements ActionListener{ public void actionPerformed(ActionEvent e){ jCheckBox_actionPerformed(e); } } public void jCheckBox_actionPerformed(ActionEvent e){ if(CheckBox)e.getSource()).getName().equals("del")) //del处理 else if(CheckBox)e.getSource()).getName().equals("edit")) //edit } 2、自己封装一个JCheckBox用。
有点味道,,但是我想了好久,,好像不可以,其实我是想在“编辑”中取出数据,而不是就简单的做del.insert,,取出当然数据 代码如下: JButton jButton = new JButton("编辑"); jButton.addActionListener(new b());public class b implements ActionListener{ public void actionPerformed(ActionEvent e){ //取出当前这个“编辑”按钮的jpanel的一个jTextField一个值,(一定是当前!) //我如下做。 for(int i=0;i<comCount;i++){ System.out.println("ok!"+comCount+"!"+((JTextField)((JPanel)allCom[i]).getComponent(1)).getText()); } } } 可是每次都只能取出第一个,,我调试了没有初始化,然后我又添加 test dtini=new test(); dtini.date_ini();//这个方法是我取数据入allCom[i])的。。 我发觉这个事件是在程序开始就执行的,所有初始化不管用,它不是取我这个时候的jpanel...是不是这个道理!!!
class b implements ActionListener{ public void actionPerformed(ActionEvent e){ jbutton_actionPerformed(e); } } public void jbutton_actionPerformed(ActionEvent e){ this.date_ini(); for(int i=0;i<comCount;i++){ System.out.println("ok!"+comCount+"!"+((JTextField)((JPanel)allCom[i]).getComponent(1)).getText()); } }可以取出全部数据,,,不能取出当前的数据,就是怎么知道是当前啊
怎么修改verticalFlowLayout的hgap,vgap不管用,,,不管如何,,新添加的东西都不能放的很紧凑!!!如何。。
verticalFlowLayout1.setHgap(0);
verticalFlowLayout1.setVgap(0);
就不打击你了
private void create_panel(int n){
for (int i=1;i<=n;i++){
JPanel jPanel_add = new JPanel();
JTextField jTextField_zdcd_dec = new JTextField();
JTextField jTextField_jldw = new JTextField();
JTextField jTextField_zddy = new JTextField();
JTextField jTextField_fortable_old_zdm = new JTextField();
JTextField jTextField_old_zdm= new JTextField();
JTextField jTextField_zdcd = new JTextField();
JComboBox jComboBox_szlx = new JComboBox();
JTextField jTextField_xsxh = new JTextField();
JCheckBox jcheckbox_del = new JCheckBox();
JCheckBox jcheckbox_edit = new JCheckBox();
JTextField jTextField_zdm = new JTextField();
jPanel_dbgrid.add(jPanel_add, new XYConstraints(220, 5, -1, -1));
//
jPanel_add.add(jcheckbox_edit,0);
jPanel_add.add(jTextField_zdm,1);
jPanel_add.add(jTextField_zddy,2);
jPanel_add.add(jTextField_jldw,3);
jPanel_add.add(jComboBox_szlx,4);
jPanel_add.add(jTextField_zdcd,5);
jPanel_add.add(jTextField_zdcd_dec,6);
jPanel_add.add(jTextField_xsxh,7);
jPanel_add.add(jcheckbox_del,8);
jPanel_add.add(jTextField_old_zdm,9);
jPanel_add.add(jTextField_fortable_old_zdm,10);
jTextField_fortable_old_zdm.setVisible(false);
jTextField_old_zdm.setVisible(false);
//
jTextField_zdcd_dec.setColumns(7);
jTextField_jldw.setColumns(7);
jTextField_zddy.setColumns(7);
jTextField_fortable_old_zdm.setColumns(7);
jTextField_old_zdm.setColumns(7);
jTextField_zdcd.setColumns(7);
jTextField_zdm.setColumns(7);
jComboBox_szlx.addItem("字符型");
jComboBox_szlx.addItem("数值型");
jComboBox_szlx.addItem("日期型");
// jComboBox_szlx
jTextField_xsxh.setColumns(8);
jPanel_add.setVisible(false);
jPanel_add.setVisible(true);
verticalFlowLayout1.setHgap(-6);/////////////////?????如何控制界面::
verticalFlowLayout1.setVgap(-6);
}
}
1。怎样动态帮定事件(比如点击jcheckbox),,
2。 界面控制我始终不可以。。verticalFlowLayout1.setHgap(-6)不管用。。大家看有没有改进的办法!!
jcheckbox.addActionListener(new b());public class b implements ActionListener{
public void actionPerformed(ActionEvent e){
System.out.println("ok!");
}
}
关键是如何知道是选中的那个,,,因为我需要传递参数。各位给给高见!!
jcheckbox_del.setName("del");
jcheckbox_edit.setName("edit");
public class b implements ActionListener{
public void actionPerformed(ActionEvent e){
jCheckBox_actionPerformed(e);
}
}
public void jCheckBox_actionPerformed(ActionEvent e){
if(CheckBox)e.getSource()).getName().equals("del"))
//del处理
else if(CheckBox)e.getSource()).getName().equals("edit"))
//edit
}
2、自己封装一个JCheckBox用。
代码如下:
JButton jButton = new JButton("编辑");
jButton.addActionListener(new b());public class b implements ActionListener{
public void actionPerformed(ActionEvent e){
//取出当前这个“编辑”按钮的jpanel的一个jTextField一个值,(一定是当前!)
//我如下做。
for(int i=0;i<comCount;i++){
System.out.println("ok!"+comCount+"!"+((JTextField)((JPanel)allCom[i]).getComponent(1)).getText());
}
}
}
可是每次都只能取出第一个,,我调试了没有初始化,然后我又添加
test dtini=new test();
dtini.date_ini();//这个方法是我取数据入allCom[i])的。。
我发觉这个事件是在程序开始就执行的,所有初始化不管用,它不是取我这个时候的jpanel...是不是这个道理!!!
public void actionPerformed(ActionEvent e){
jbutton_actionPerformed(e);
}
} public void jbutton_actionPerformed(ActionEvent e){
this.date_ini();
for(int i=0;i<comCount;i++){
System.out.println("ok!"+comCount+"!"+((JTextField)((JPanel)allCom[i]).getComponent(1)).getText());
}
}可以取出全部数据,,,不能取出当前的数据,就是怎么知道是当前啊
this.date_ini();
for(int i=0;i<comCount;i++){
if ( ((JButton)((JPanel)allCom[i]).getComponent(11)).isSelected()){
System.out.println("ok!"+comCount+"!"+((JTextField)((JPanel)allCom[i]).getComponent(1)).getText());
}
}
}居然说我没有被选中的,,,,如何知道当前这个按钮被选中。。估计快了非常谢谢。。等,加分
如果大家需要分数向我申请。。一定给!!
System.out.println("ok!"+comCount+"!"+((JTextField)((JPanel)allCom[i]).getComponent(1)).getText());
}搞定!!!太谢谢了,,,真的,: relive(六道轮回,无想转生)非常谢谢啊!!!!!
就是verticalFlowLayout1.setHgap(0);verticalFlowLayout1.setVgap(0);我试一试,现在这个界面不好看。。我用的是verticalFlowLayout,然后在上面加jpanel的。jpanel是默认的,所有间隔很大,是什么原因。??
接分。。如果又需要分数的,到论坛给我申请。加!!!!!!!!!!
忘记了,谢谢你:relive,(必须想转生,因为我们需要你^_^)
Faint,只有JToggleButton和JRadioButton可以使用这个属性
估计你是想用hasFocus()吧。