Java 为什么所有的JTextField和JTextArea都显示正确,但它不能在该组件上写入?
在下面的代码中,组件正确显示,但我们无法在Java 为什么所有的JTextField和JTextArea都显示正确,但它不能在该组件上写入?,java,swing,jtextfield,Java,Swing,Jtextfield,在下面的代码中,组件正确显示,但我们无法在JTextField上写入 public class CurrentOPDDetail extends JInternalFrame { JLabel[] line=new JLabel[10]; JLabel[] lbl=new JLabel[33]; JTextField txtName=new JTextField(); JTextField txtAge=new JTextField(); JTextFie
JTextField
上写入
public class CurrentOPDDetail extends JInternalFrame
{
JLabel[] line=new JLabel[10];
JLabel[] lbl=new JLabel[33];
JTextField txtName=new JTextField();
JTextField txtAge=new JTextField();
JTextField txtSex=new JTextField();
JTextField txtWeight=new JTextField();
public CurrentOPDDetail(int n)
{
super("OPD Detail Form",false,false);//Title, Resizable, closable
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setSize(screenSize.width-500,650);
setLocation(170,10);
setVisible(true);
setLayout(null);
lbl[0]=new JLabel("NAME");
lbl[1]=new JLabel("AGE");
lbl[2]=new JLabel("SEX");
lbl[3]=new JLabel("WEIGHT");
lbl[4]=new JLabel("HISTORY");
for(int i=0;i<10;i++)
{
line[i]=new JLabel("");
line[i].setBackground(Color.BLACK);
line[i].setOpaque(true);
}
lbl[0].setBounds(1, 5, 40, 25);
txtName.setBounds(41, 5, 200, 25);
lbl[1].setBounds(262, 5, 30, 25);
txtAge.setBounds(293, 5, 50, 25);
lbl[2].setBounds(370, 5, 30, 25);
txtSex.setBounds(400, 5, 50, 25);
lbl[3].setBounds(470, 5, 50, 25);
txtWeight.setBounds(520, 5, 100, 25);
line[0].setBounds(1, 33, screenSize.width-499, 5);
lbl[4].setBounds(1, 40, 150, 25);
add(line[0]);
add(lbl[0]);
add(txtName);
add(lbl[1]);
add(txtAge);
add(lbl[2]);
add(txtSex);
add(lbl[3]);
add(txtWeight);
}
}
公共类CurrentOPDDetail扩展了JInternalFrame
{
JLabel[]行=新的JLabel[10];
JLabel[]lbl=新的JLabel[33];
JTextField txtName=新的JTextField();
JTextField txtAge=新的JTextField();
JTextField txtSex=新的JTextField();
JTextField txtwweight=新的JTextField();
公共CurrentOPDDetail(int n)
{
super(“OPD详细信息表单”,false,false);//标题,可调整大小,可关闭
维度screenSize=Toolkit.getDefaultToolkit().getScreenSize();
设置尺寸(屏幕尺寸。宽度-500650);
设定位置(170,10);
setVisible(真);
setLayout(空);
lbl[0]=新的JLabel(“名称”);
lbl[1]=新的JLabel(“年龄”);
lbl[2]=新的JLabel(“性别”);
lbl[3]=新的JLabel(“重量”);
lbl[4]=新的JLabel(“历史”);
对于(inti=0;i只需使用JFrame
和getContentPane().add()
。
内部窗口的文本字段工作正常,然后:
JFrame frame = new JFrame();
frame.getContentPane().add(new CurrentOPDDetail(5));
frame.setVisible(true);
尝试使用txtName.setediate(true);Not woking!TExtField是可编辑的我们可以设置焦点,但不能在该TExtField上写入然后尝试使用此txtName.setEnabled(true);您没有读过任何Swing教程或书籍吗?它们不是都说明您应该使用布局管理器来布局组件吗?我说的是JTextField而不是布局管理器。。