这个语句如何写??在线!!!!!!!!!!

yuebenxian 2003-03-06 11:28:09
我想动态得创建jPanel,然后在每一个jPanel上放固定数目得jtextfield等
要求:1。输入参数个数N,然后动态创建N个Jpanel,然后在每个JPanel上面也是动态放固定数目得jtext,choice等。
2。如何动态得到这么多jpanel上面得各个控件得值!!!!!!!!!
结构如下:
jpanel_all: jpanel_1,(jtextfield_name1,jtextfield_sex1,jtextfield_age1...)
jpanel_2,(jtextfield_name2,jtextfield_sex2,jtextfield_age2...)
.....
jpanel_N。。。。。。。。。。。。。。。。
分数不够我加,我在给!!!!!!!
...全文
13 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
relive 2003-03-07
  • 打赏
  • 举报
回复
isSelected()
Faint,只有JToggleButton和JRadioButton可以使用这个属性。。。
估计你是想用hasFocus()吧。
yuebenxian 2003-03-07
  • 打赏
  • 举报
回复
if ( ((JButton)((JPanel)allCom[i]).getComponent(11)).hasFocus()){
System.out.println("ok!"+comCount+"!"+((JTextField)((JPanel)allCom[i]).getComponent(1)).getText());
}

搞定!!!太谢谢了,,,真的,: relive(六道轮回,无想转生)非常谢谢啊!!!!!
就是verticalFlowLayout1.setHgap(0);verticalFlowLayout1.setVgap(0);我试一试,现在这个界面不好看。。我用的是verticalFlowLayout,然后在上面加jpanel的。jpanel是默认的,所有间隔很大,是什么原因。??


接分。。如果又需要分数的,到论坛给我申请。。。。加!!!!!!!!!!
忘记了,谢谢你:relive,(必须想转生,因为我们需要你^_^)
relive 2003-03-07
  • 打赏
  • 举报
回复
还有,如果你的JButton是在当前JPanel上,可以用jPanel.getParent();取父容器然后getComponentCount();如果JButton是在上级JPanel上,就需要取焦点或使用属性标志当前行了。
yuebenxian 2003-03-07
  • 打赏
  • 举报
回复
public void jbutton_actionPerformed(ActionEvent e){
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());
}
}
}

居然说我没有被选中的,,,,如何知道当前这个按钮被选中。。估计快了。。。非常谢谢。。等,加分
如果大家需要分数向我申请。。一定给!!
relive 2003-03-07
  • 打赏
  • 举报
回复
首先verticalFlowLayout1.setHgap(0);verticalFlowLayout1.setVgap(0);就是紧凑格式,设成负值没用,至于为什么还有空,那是因为你使用了太多的控件重叠,控件的边框是要占地方的。

其次,你的comCount我不知道怎么来的,如果记录的是你界面上JPanel的数量的话,那每增加JPanel时都要更新。跟初始化没关系。
yuebenxian 2003-03-07
  • 打赏
  • 举报
回复
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());
}
}

可以取出全部数据,,,不能取出当前的数据,就是怎么知道是当前啊。。。
yuebenxian 2003-03-07
  • 打赏
  • 举报
回复
有点味道,,但是我想了好久,,好像不可以,

其实我是想在“编辑”中取出数据,而不是就简单的做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...

是不是这个道理!!!

relive 2003-03-07
  • 打赏
  • 举报
回复
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用。
yuebenxian 2003-03-07
  • 打赏
  • 举报
回复
监听事件可以如下:
jcheckbox.addActionListener(new b());

public class b implements ActionListener{
public void actionPerformed(ActionEvent e){
System.out.println("ok!");
}
}
关键是如何知道是选中的那个,,,因为我需要传递参数。。。。各位给给高见!!
yuebenxian 2003-03-07
  • 打赏
  • 举报
回复
代码给大家::可是请大家帮我想想,怎样动态帮定事件(比如点击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)不管用。。

大家看有没有改进的办法!!
shine333 2003-03-06
  • 打赏
  • 举报
回复
UPUPUP
relive 2003-03-06
  • 打赏
  • 举报
回复
getComponentCount();
getComponent(int index);
instanceof
star821116 2003-03-06
  • 打赏
  • 举报
回复
帮你顶!
dongzi7945 2003-03-06
  • 打赏
  • 举报
回复
我觉得用循环也可以做到呀!
yuebenxian 2003-03-06
  • 打赏
  • 举报
回复
等我做完一定给大家提出来。等,,,,有什么高见可以发表,谢谢大家
charbee 2003-03-06
  • 打赏
  • 举报
回复
做出来了,请把代码共享一下好吗?谢谢了
charbee 2003-03-06
  • 打赏
  • 举报
回复
up,我很感兴趣,也想做,不过还没有时间想这个问题
relive 2003-03-06
  • 打赏
  • 举报
回复
第一次没仔细看,功能给你完成就好了,从今天你的问题来看,根本没必要贴那么多JPanel、JTextField、JCheckBox、JComboBox,一个JTable应该可以搞定,呵呵,顶多再使用几个TableCellEditor,而且界面上控件太多会严重占用资源。不过你现在已经做到这样了,让你改估计一时半会也改不过来了。。。。。。。
就不打击你了。。。
relive 2003-03-06
  • 打赏
  • 举报
回复
不会啊,
verticalFlowLayout1.setHgap(0);
verticalFlowLayout1.setVgap(0);
yuebenxian 2003-03-06
  • 打赏
  • 举报
回复
哥们,我基本做到了,非常谢谢,各位如果有兴趣得,可以讨论,,就是
怎么修改verticalFlowLayout的hgap,vgap不管用,,,不管如何,,新添加的东西都不能放的很紧凑!!!如何。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧