Hi, Khách!
![]() | ![]() ![]() ![]() ![]() |
Bài 17 - Khởi tạo và cài đặt phương thức hành động hàng loạt
Bạn hãy cứ tưởng tượng nếu bạn phải làm một ứng dụng giống như Microsoft Word (chỉ mới nói Word thôi chứ chưa dám đụng tới Photoshop, Corel gì cả) với một lô Menu và mỗi Menu có hơn chục cái MenuItem. Vậy thì bạn phải khởi tạo, phải 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 menu và một mảng Menu để lưu chính những menu.
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;
class Core
{
public static void main(String args[)
{
JFrame f = new JFrame("My frame");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MenuBar menuBar=new MenuBar();
f.setMenuBar(menuBar);
final String[ menuLabel={"File","Edit","View","Insert","Format","Table","Windows","Help"};
final Menu[ menu=new Menu[menuLabel.length;
for(int i=0;i<menuLabel.length;i++)
{
menu|i|=new Menu(menuLabel|i|);
menuBar.add(menu|i|);
}
final String[ fileMenuItemLabel={"New","Open","Save","Exit"};
final MenuItem[ fileMenuItem=new MenuItem[fileMenuItemLabel.length;
for(int i=0;i<fileMenuItemLabel.length;i++)
{
fileMenuItem|i|=new MenuItem(fileMenuItemLabel|i|);
menu[0.add(fileMenuItem|i|);
if(i==2) menu[0.addSeparator();
}
fileMenuItem[3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
f.setSize(400,60);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
Copy code
import java.awt.*;
import java.awt.event.*;
class Core
{
public static void main(String args[)
{
JFrame f = new JFrame("My frame");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
MenuBar menuBar=new MenuBar();
f.setMenuBar(menuBar);
final String[ menuLabel={"File","Edit","View","Insert","Format","Table","Windows","Help"};
final Menu[ menu=new Menu[menuLabel.length;
for(int i=0;i<menuLabel.length;i++)
{
menu|i|=new Menu(menuLabel|i|);
menuBar.add(menu|i|);
}
final String[ fileMenuItemLabel={"New","Open","Save","Exit"};
final MenuItem[ fileMenuItem=new MenuItem[fileMenuItemLabel.length;
for(int i=0;i<fileMenuItemLabel.length;i++)
{
fileMenuItem|i|=new MenuItem(fileMenuItemLabel|i|);
menu[0.add(fileMenuItem|i|);
if(i==2) menu[0.addSeparator();
}
fileMenuItem[3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
f.setSize(400,60);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
Copy code
Bài 18 - ScrollPane
import javax.swing.JFrame;
import java.awt.*;
class Core
{
public static void main(String args[)
{
JFrame f = new JFrame("My frame");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ScrollPane s=new ScrollPane();
TextArea t=new TextArea();
s.add(t);
f.add(s);
f.setSize(200,120);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
Copy code
import java.awt.*;
class Core
{
public static void main(String args[)
{
JFrame f = new JFrame("My frame");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ScrollPane s=new ScrollPane();
TextArea t=new TextArea();
s.add(t);
f.add(s);
f.setSize(200,120);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
Copy code

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