Java textField的setText()方法无效
//部分主要代码publicclasstestTextFieldextendsJFrame{publictestTextField(Stringtitle){super(...
//部分主要代码
public class testTextField extends JFrame {
public testTextField(String title){
super(title);
initDialog();
}
JTextField txt1 = new JTextField(10);//为什么此文本框仍然为空???应该是hello才对呀。
public void setValue(String str){
txt1.setText("hello");
}
private JPanel initCenter(){
JPanel centerPanel = new JPanel();//用来容纳多个组件的容器
JPanel infoPanel = new JPanel();//该容器使用GridBagLayout来布局组件
GridBagLayout layout = new GridBagLayout();
infoPanel.setLayout(layout);//设置容器的布局管理器
JLabel lbl1 = new JLabel("商品编号:");
JLabel lbl2 = new JLabel("商品名称:");
JLabel lbl3 = new JLabel("规格型号:");
JLabel lbl4 = new JLabel("单位:");
JLabel lbl5 = new JLabel("品牌:");
JLabel lbl6 = new JLabel("颜色:");
JLabel lbl7 = new JLabel("当前库存:");
JLabel lbl8 = new JLabel("备注:");
infoPanel.add(lbl1,new GBC(0,0,1,1).setInsets
(new Insets(0,8,0,0)));
infoPanel.add(txt1, new GBC(1, 0, 2, 1).setInsets(new Insets(0, 4, 0, 0)));
infoPanel.add(lbl2, new GBC(3, 0, 1, 1));
infoPanel.add(new JTextField(10), new GBC(4, 0, 2, 1).setFill(GBC.HORIZONTAL).setInsets(new Insets(0, 4, 0, 0)));
infoPanel.add(lbl3, new GBC(0, 1, 1, 1).setInsets(new Insets(0, 8, 0, 0)));
infoPanel.add(new JTextField(10), new GBC(1, 1, 2, 1).setInsets(new Insets(0, 4, 0, 0)));
infoPanel.add(lbl4, new GBC(3, 1, 1, 1));
infoPanel.add(new JTextField(10), new GBC(4, 1, 2, 1).setFill(GBC.HORIZONTAL).setInsets(new Insets(4, 6, 4, 4)));
infoPanel.add(lbl5, new GBC(0, 2, 1, 1).setInsets(new Insets(0, 8, 0, 0)));
infoPanel.add(new JTextField(10), new GBC(1, 2, 1, 1).setFill(GBC.HORIZONTAL).setInsets(new Insets(0, 4, 0, 0)));
infoPanel.add(lbl6, new GBC(3, 2, 1, 1));
infoPanel.add(new JTextField(10), new GBC(4, 2, 2, 1).setFill(GBC.HORIZONTAL).setInsets(new Insets(0, 4, 0, 0)));
infoPanel.add(lbl7, new GBC(0, 3, 1, 1).setInsets(new Insets(0, 8, 0, 0)));
infoPanel.add(new JTextField(10), new GBC(1, 3, 1, 1).setFill(GBC.HORIZONTAL).setInsets(new Insets(0, 4, 0, 0)));
infoPanel.add(lbl8, new GBC(3, 3, 1, 1));
infoPanel.add(new JTextField(10), new GBC(4, 3, 2, 1).setFill(GBC.HORIZONTAL).setInsets(new Insets(4, 6, 4, 4)));
infoPanel.setBorder(new TitledBorder("商品信息"));//设置容器的边界
centerPanel.setLayout(new BorderLayout());
//容纳了多个组件的容器添加到中间左边的容器中
centerPanel.add(infoPanel,BorderLayout.CENTER);
return centerPanel;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new testTextField("my test");
}
}//理说,商品编号后的 文本框中应该显示:hello 才是,但却为空 展开
public class testTextField extends JFrame {
public testTextField(String title){
super(title);
initDialog();
}
JTextField txt1 = new JTextField(10);//为什么此文本框仍然为空???应该是hello才对呀。
public void setValue(String str){
txt1.setText("hello");
}
private JPanel initCenter(){
JPanel centerPanel = new JPanel();//用来容纳多个组件的容器
JPanel infoPanel = new JPanel();//该容器使用GridBagLayout来布局组件
GridBagLayout layout = new GridBagLayout();
infoPanel.setLayout(layout);//设置容器的布局管理器
JLabel lbl1 = new JLabel("商品编号:");
JLabel lbl2 = new JLabel("商品名称:");
JLabel lbl3 = new JLabel("规格型号:");
JLabel lbl4 = new JLabel("单位:");
JLabel lbl5 = new JLabel("品牌:");
JLabel lbl6 = new JLabel("颜色:");
JLabel lbl7 = new JLabel("当前库存:");
JLabel lbl8 = new JLabel("备注:");
infoPanel.add(lbl1,new GBC(0,0,1,1).setInsets
(new Insets(0,8,0,0)));
infoPanel.add(txt1, new GBC(1, 0, 2, 1).setInsets(new Insets(0, 4, 0, 0)));
infoPanel.add(lbl2, new GBC(3, 0, 1, 1));
infoPanel.add(new JTextField(10), new GBC(4, 0, 2, 1).setFill(GBC.HORIZONTAL).setInsets(new Insets(0, 4, 0, 0)));
infoPanel.add(lbl3, new GBC(0, 1, 1, 1).setInsets(new Insets(0, 8, 0, 0)));
infoPanel.add(new JTextField(10), new GBC(1, 1, 2, 1).setInsets(new Insets(0, 4, 0, 0)));
infoPanel.add(lbl4, new GBC(3, 1, 1, 1));
infoPanel.add(new JTextField(10), new GBC(4, 1, 2, 1).setFill(GBC.HORIZONTAL).setInsets(new Insets(4, 6, 4, 4)));
infoPanel.add(lbl5, new GBC(0, 2, 1, 1).setInsets(new Insets(0, 8, 0, 0)));
infoPanel.add(new JTextField(10), new GBC(1, 2, 1, 1).setFill(GBC.HORIZONTAL).setInsets(new Insets(0, 4, 0, 0)));
infoPanel.add(lbl6, new GBC(3, 2, 1, 1));
infoPanel.add(new JTextField(10), new GBC(4, 2, 2, 1).setFill(GBC.HORIZONTAL).setInsets(new Insets(0, 4, 0, 0)));
infoPanel.add(lbl7, new GBC(0, 3, 1, 1).setInsets(new Insets(0, 8, 0, 0)));
infoPanel.add(new JTextField(10), new GBC(1, 3, 1, 1).setFill(GBC.HORIZONTAL).setInsets(new Insets(0, 4, 0, 0)));
infoPanel.add(lbl8, new GBC(3, 3, 1, 1));
infoPanel.add(new JTextField(10), new GBC(4, 3, 2, 1).setFill(GBC.HORIZONTAL).setInsets(new Insets(4, 6, 4, 4)));
infoPanel.setBorder(new TitledBorder("商品信息"));//设置容器的边界
centerPanel.setLayout(new BorderLayout());
//容纳了多个组件的容器添加到中间左边的容器中
centerPanel.add(infoPanel,BorderLayout.CENTER);
return centerPanel;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new testTextField("my test");
}
}//理说,商品编号后的 文本框中应该显示:hello 才是,但却为空 展开
4个回答
展开全部
上面的都对,但是楼上的那个
new testTextField("my test").setValue("hello"); //调用这个方法就可以了,这样就初始化文本域了
}
JTextField txt1 = new JTextField(10);
public void setValue(String str){
txt1.setText("hello"); //改成txt1.setText(str);
}
new testTextField("my test").setValue("hello"); //调用这个方法就可以了,这样就初始化文本域了
}
JTextField txt1 = new JTextField(10);
public void setValue(String str){
txt1.setText("hello"); //改成txt1.setText(str);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把setText()写在setValue()中
但是你调用过setValue()吗
但是你调用过setValue()吗
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) {
// TODO Auto-generated method stub
new testTextField("my test").setValue("hello"); //调用这个方法就可以了,这样就初始化文本域了
}
// TODO Auto-generated method stub
new testTextField("my test").setValue("hello"); //调用这个方法就可以了,这样就初始化文本域了
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询