java吧 关注:1,190,915贴子:12,602,988
  • 3回复贴,共1

新人改了点点,错了找不到原因。。

只看楼主收藏回复

初学java一周,才开始学着用eclipse。。照着书写个登陆框架
package QQ;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class QQLogin1 extends JFrame implements ActionListener {
JTextField txtUser = new JTextField();
JPasswordField txtPass = new JPasswordField();
public static void main(String args[]) {
JFrame w = new JFrame();
w.setSize(250,125);
//new assembly
JLabel labUser = new JLabel("用户名");
JLabel labPass = new JLabel("密码");
//JTextField txtUser = new JTextField();
//JPasswordField txtPass = new JPasswordField();
JButton btnLogin = new JButton("登录");
JButton btnReg = new JButton("注册");
JButton btnCancel = new JButton("取消");
//listen
QQLogin1 e = new QQLogin1();
btnLogin.addActionListener(e);
btnReg.addActionListener(e);
btnCancel.addActionListener(e);
//input
JPanel panInput = new JPanel();
panInput.setLayout(new GridLayout(2,2));
panInput.add(labUser);
panInput.add(e.txtUser);
panInput.add(labPass);
panInput.add(e.txtPass);
//button
JPanel panButton = new JPanel();
panButton.setLayout(new FlowLayout());
panButton.add(btnLogin);
panButton.add(btnReg);
panButton.add(btnCancel);
//windows
w.setLayout(new BorderLayout());
w.add(panInput,BorderLayout.CENTER);
w.add(panButton, BorderLayout.SOUTH);
w.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent arg0) {
if(arg0.getActionCommand().equals("登录")) {
System.out.println("用户点了登录");
}
if(arg0.getActionCommand().equals("注册")) {
System.out.println("用户点了注册");
}
if(arg0.getActionCommand().equals("取消")) {
System.out.println("用户点了取消");
}
}
}


IP属地:广东1楼2017-10-18 16:24回复
    然后书里接着说啥上溯,下溯。。用面向对象的方法重写。。。
    我就按着我的理解重写了下。。。
    package QQ;
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    class QQLogin extends JFrame implements ActionListener {
    JTextField txtUser = new JTextField();
    JPasswordField txtPass = new JPasswordField();
    @Override
    public Container getContentPane() {
    //new assembly
    JLabel labUser = new JLabel("用户名");
    JLabel labPass = new JLabel("密码");
    //JTextField txtUser = new JTextField();
    //JPasswordField txtPass = new JPasswordField();
    JButton btnLogin = new JButton("登录");
    JButton btnReg = new JButton("注册");
    JButton btnCancel = new JButton("取消");
    btnLogin.addActionListener(this);
    btnReg.addActionListener(this);
    btnCancel.addActionListener(this);
    JPanel main = new JPanel();
    //input
    JPanel panInput = new JPanel();
    panInput.setLayout(new GridLayout(2,2));
    panInput.add(labUser);
    panInput.add(txtUser);
    panInput.add(labPass);
    panInput.add(txtPass);
    //button
    JPanel panButton = new JPanel();
    panButton.setLayout(new FlowLayout());
    panButton.add(btnLogin);
    panButton.add(btnReg);
    panButton.add(btnCancel);
    //windows
    this.setSize(250,125);
    this.setLayout(new BorderLayout());
    main.add(panInput,BorderLayout.CENTER);
    main.add(panButton, BorderLayout.SOUTH);
    return main;
    }
    public static void main(String args[]) {
    QQLogin w = new QQLogin();
    w.setVisible(true);
    }
    @Override
    public void actionPerformed(ActionEvent arg0) {
    if(arg0.getActionCommand().equals("登录")) {
    System.out.println("用户点了登录");
    }
    if(arg0.getActionCommand().equals("注册")) {
    System.out.println("用户点了注册");
    }
    if(arg0.getActionCommand().equals("取消")) {
    System.out.println("用户点了取消");
    }
    }
    }


    IP属地:广东2楼2017-10-18 16:28
    回复
      然后发现,改了后虽然没报错,但是弹出框长宽都变成0了,但我自己又不知道哪里写错了。。。求大神指点,自学不易啊


      IP属地:广东3楼2017-10-18 16:30
      回复
        顶起来


        IP属地:广东来自Android客户端4楼2017-10-18 19:05
        回复