Hỗ trợ lập trình Java
Hãy đăng nhập để tham gia thảo luận và chia sẻ!
Hỗ trợ lập trình Java
Hãy đăng nhập để tham gia thảo luận và chia sẻ!
Hỗ trợ lập trình Java

Diễn đàn hỏi đáp Java, hướng dẫn bài tập Java, Giúp đỡ về Java


You are not connected. Please login or register

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

1lam phien BQT them lan nua nha Empty lam phien BQT them lan nua nha Tue Nov 06, 2012 11:36 pm

1101817


Vịt mới lớn
Vịt mới lớn
bai cua minh la tao ra cai frame co cai textfield cho nhap ma so sinh sinh vao khi nhan nut agree if MSSV nhap vao la 1101817 thi hien showmessagedialog(dung) nguoc lai hien showmessagedialog(sai)
day la bai code cua minh

Code:
import javax.swing.*;
import java.awt.LayoutManager;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
/**
 *
 * @author Administrator
 */
public abstract class VDLabel extends JFrame implements ActionListener{
   
    private JLabel label;
    private JButton button;
    private JTextField field;
   
    public VDLabel(){
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setSize(new Dimension(400,200));
    this.setLocation(new Point(200,100));
   
    label = new JLabel("Nhap MSSV: ");
    add(label);
 
    field = new JTextField(10);
    add(field);
    field.addActionListener(this);
   
    button = new JButton("Agree");
    add(button);
    button.addActionListener(this);
   
    this.setLayout(new FlowLayout());
}
    public static void main(String[] args){// bai nay ne con day hog sao hog len tieng
        VDLabel label = new VDLabel() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                throw new UnsupportedOperationException("Not supported yet.");
            }
        };
        label.setVisible(true);
    }

  //  @Override
    abstract class SubmitAction implements ActionListener{
        JTextField field;
        SubmitAction(JTextField field) {
        this.field = field;
        }
        @Override
    public void actionPerformed(ActionEvent ae) {
        if((JButton)ae.getSource() == button)
        {
            if( field.getText().equals("1101817"))
                JOptionPane.showMessageDialog(null,"Dung");
            else
                JOptionPane.showMessageDialog(null,"Sai");
        }
    }
    }
  }

2lam phien BQT them lan nua nha Empty Re: lam phien BQT them lan nua nha Wed Nov 07, 2012 12:16 am

Võ Nguyên Khoa


Vịt con
Vịt con
Sai vì code quá dài. . . .

Đùa thôi. Tui không hiểu lắm, nhưng mà có thể bõ đi một số dòng, và code của bạn được rút gọn lại như sau:
Code:
import javax.swing.*;
import java.awt.LayoutManager;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
/**
*
* @author Administrator
*/
public class VDLabel extends JFrame implements ActionListener{

private JLabel label;
private JButton button;
private JTextField field;

public VDLabel(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(new Dimension(400,200));
this.setLocation(new Point(200,100));
this.setLayout(new FlowLayout());
label = new JLabel("Nhap MSSV: ");
add(label);

field = new JTextField(10);
add(field);
field.addActionListener(this);

button = new JButton("Agree");
add(button);
button.addActionListener(this);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent ae) {
if(ae.getSource() == button)
            {
                if( field.getText().equals("1101817"))
                JOptionPane.showMessageDialog(null,"Dung");
                else
                JOptionPane.showMessageDialog(null,"Sai");
            }
}
public static void main(String[] args){// bai nay ne con day hog sao hog len tieng
    new VDLabel();
}
}

Một số chú ý:
- bạn nên khởi tạo ,add các component vào phần constructor
- phần xử lý sự kiện bạn để cùng một lớp
- không cần phải tạo 2 lớp như vậy, còn hướng giải quyết như bạn vì mình chưa hiểu ý nên không giúp bạn được.
- abstract thường dùng để khai báo những đối tượng trừu tượng, những đối tượng này dùng để xây dựng những đối tượng kế thừa nó.
Thân,

http://mrkhoa.web44.net

3lam phien BQT them lan nua nha Empty Re: lam phien BQT them lan nua nha Wed Nov 07, 2012 12:24 am

Admin


Admin
Admin
hoặc có thể ngắn hơn bằng cách rút gọn viết hàm ActionListener:

Code:
import javax.swing.*;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
/**
*
* @author Administrator
*/
public class VDLabel extends JFrame{

private JLabel label;
private JButton button;
private JTextField field;

public VDLabel(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(new Dimension(400,200));
this.setLocation(new Point(200,100));
this.setLayout(new FlowLayout());
label = new JLabel("Nhap MSSV: ");
add(label);

field = new JTextField(10);
add(field);

button = new JButton("Agree");
add(button);
button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if( field.getText().equals("1101817"))
                JOptionPane.showMessageDialog(null,"Dung");
                else
                JOptionPane.showMessageDialog(null,"Sai");
            }
        });
setVisible(true);
}
public static void main(String[] args){// bai nay ne con day hog sao hog len tieng
    new VDLabel();
}
}

https://javasupport.forumvi.com

Sponsored content


Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Permissions in this forum:
Bạn không có quyền trả lời bài viết