Hi, Khách!
![]() | ![]() ![]() ![]() ![]() |
Bài 14 - Nhắc lại về JFrame
Phần 1 đã nói về JFrame, bây giờ chỉ nhắc lại
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;
class Core
{
public static void main(String args[)
{
//frame khong phu thuoc do phan giai man hinh
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int screenWidth = screenSize.width;
int screenHeight = screenSize.height;
int frameWidth = 200;
int frameHeight = 60;
JFrame frame = new JFrame("My frame");
frame.setLayout(null);
frame.setLocation((screenWidth-frameWidth)/2,(screenHeight-frameHeight)/2);
frame.setSize(frameWidth,frameHeight);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//tao Button Exit cai dat phuong thuc hanh dong qua class rieng
Button b1 = new Button("Exit");
b1.setBounds(0,0,100,25);
frame.add(b1);
EventQuit eventQuit=new EventQuit();
b1.addActionListener(eventQuit);
//tao Button About cai dat phuong thuc hanh dong truc tiep
final Button b2 = new Button("About");
b2.setBounds(100,0,100,25);
frame.add(b2);
b2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b2) System.out.println("Made in Vietnam");
}
});
frame.setVisible(true);
}
}
class EventQuit implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
Copy code
import java.awt.*;
import java.awt.event.*;
class Core
{
public static void main(String args[)
{
//frame khong phu thuoc do phan giai man hinh
Toolkit kit = Toolkit.getDefaultToolkit();
Dimension screenSize = kit.getScreenSize();
int screenWidth = screenSize.width;
int screenHeight = screenSize.height;
int frameWidth = 200;
int frameHeight = 60;
JFrame frame = new JFrame("My frame");
frame.setLayout(null);
frame.setLocation((screenWidth-frameWidth)/2,(screenHeight-frameHeight)/2);
frame.setSize(frameWidth,frameHeight);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//tao Button Exit cai dat phuong thuc hanh dong qua class rieng
Button b1 = new Button("Exit");
b1.setBounds(0,0,100,25);
frame.add(b1);
EventQuit eventQuit=new EventQuit();
b1.addActionListener(eventQuit);
//tao Button About cai dat phuong thuc hanh dong truc tiep
final Button b2 = new Button("About");
b2.setBounds(100,0,100,25);
frame.add(b2);
b2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b2) System.out.println("Made in Vietnam");
}
});
frame.setVisible(true);
}
}
class EventQuit implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
Copy code
Bài trên đã dùng lại các kiến thức đã học trước đây: setLayout(null) và setBounds, đặt ứng dụng giữa màn hình và không phụ thuộc phân giải màn hình nhờ dùng Toolkit, 2 cách cài đặt phương thức hành động qua class riêng và cài đặt trực tiếp.
Bài 15 - Tạo và add hàng loạt button
Bạn hãy cứ tưởng tượng nếu bạn phải add khoảng 30 button vào Frame của mình, bạn phải viết khoảng 30 câu lệnh khởi tạo, add rất là mệt. Hãy để máy tự động làm cho bạn, chỉ với vài vòng lặp. Bạn cần dùng một bảng String để lưu những label của button và một mảng Button để lưu chính những button. Đồng thời cũng dựa vào mảng Button đấy để cài đặt phương thức hành động
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;
class Core extends JFrame implements ActionListener
{
Panel p=new Panel();
final String[ a={"File","Edit","View","Insert","Format","Table","Windows","Help"};
final Button[ b=new Button[a.length;
public Core(String title)
{
setTitle(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(p);
setSize(500,60);
for(int i=0;i<a.length;i++)
{
b|i|=new Button(a|i|);
p.add(b|i|);
b|i|.addActionListener(this);
}
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
for(int i=0;i<a.length;i++)
if(e.getSource()==b|i|) System.out.println("You have clicked button "+a|i|);
}
public static void main(String args[)
{
Core c=new Core("My frame");
}
}
Copy code
import java.awt.*;
import java.awt.event.*;
class Core extends JFrame implements ActionListener
{
Panel p=new Panel();
final String[ a={"File","Edit","View","Insert","Format","Table","Windows","Help"};
final Button[ b=new Button[a.length;
public Core(String title)
{
setTitle(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(p);
setSize(500,60);
for(int i=0;i<a.length;i++)
{
b|i|=new Button(a|i|);
p.add(b|i|);
b|i|.addActionListener(this);
}
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
for(int i=0;i<a.length;i++)
if(e.getSource()==b|i|) System.out.println("You have clicked button "+a|i|);
}
public static void main(String args[)
{
Core c=new Core("My frame");
}
}
Copy code
Sở dĩ trong bài này ta dùng khởi tạo của Core là để sử dụng addActionListener(this);

Trực Tuyến:
Khách: 1