日期:2014-05-20  浏览次数:20601 次

GUI编程出乎意料,请高手指点
1、不知是否为排版的问题,设置了列宽居然没执行!
2、预设的值也没有显示!

问题代码如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class test1 extends JApplet {
JButton buttonOK;
JTextField name;
JLabel lname,lpsw;
JPasswordField psw;
JTextArea texts;

public void init() {
JPanel panel1 = (JPanel) getContentPane();
panel1.setLayout(new FlowLayout());
buttonOK = new JButton("OK");
/*JTextArea texts=new JTextArea(2,5);
texts.setLineWrap(true);
panel1.add(texts);*/
name=new JTextField("test",7);
psw=new JPasswordField("1234",7);
lname=new JLabel("name:");
lpsw=new JLabel("psw:");
texts=new JTextArea(10,10);

name = new JTextField(20);
panel1.add(lname);
panel1.add(name);
panel1.add(lpsw);
panel1.add(psw);
panel1.add(texts);
panel1.add(buttonOK);
buttonOK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
texts.setText("name:"+name.getText()+"\n pws:"+psw.getText());
}
});
}
}

------解决方案--------------------
我想问一下,这不是Applet,怎么没有main()函数啊?
------解决方案--------------------
真心无语,关于变量name的代码有两行,其中第2行如下:
name = new JTextField(20);
该行改变name的指向

附1:另外,该类明明都错了,请拷贝代码的时候先看下代码是否正确

附2:该类继承了JApplet类,请查看API文档,它是Applet的一个子类


------解决方案--------------------
还有就是默认的布局管理区要设置为空啊,setLauyout(null);才行,否则的话在JFrame ,JPanel里面按钮的大小啊,背景啊,颜色什么的,都是默认的。只有把布局管理器设置为空了,你才可以随意的排版,想怎么弄都行!!!