1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Bài 7: Cải tiến chương trình đồ họa liệt kê các số nguyên tố

15 62 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 216,53 KB

Nội dung

Bài giảng Bài 7: Cải tiến chương trình đồ họa liệt kê các số nguyên tố bao gồm những nội dung về việc thêm các thực đơn, chọn các kiểu giao diện khác nhau của Swing, quản lí các ngoại lệ và một số nội dung khác.

Bài 7: Cải tiến chương trình đồ họa liệt kê số nguyên tố Lê Hồng Phương phuonglh@gmail.com Khoa Toán-Cơ-Tin học Trường Đại học Khoa học Tự nhiên Hà Nội Nội dung ● Nâng cấp chương trình liệt kê số nguyên tố giảng trước: – Thêm thực đơn – Chọn kiểu giao diện khác Swing – Quản lí ngoại lệ 2012-2013 Object-Oriented Programming: Exception Các thành phần đồ họa ● ● Sử dụng thêm thành phần đồ họa: – JMenuBar – JMenu – JMenuItem – JRadioButtonMenuItem – JSeparator – JOptionPane ​Sử dụng thêm lớp tiện ích: – 2012-2013 ButtonGroup, SwingUtilities, UIManager Object-Oriented Programming: Exception Chương trình ● Thêm thực đơn File, Look and Feel, Help ● Thực đơn File có mục Exit ● – Cho phép chương trình – Tương tự nhấn chuột vào nút đóng cửa sổ Thực đơn Look and Feel: – ● Có kiểu giao diện khác nằm nút chọn Người dùng chọn kiểu giao diện trình bày theo kiểu Thực đơn Help chứa mục About 2012-2013 Object-Oriented Programming: Exception Các kiểu giao diện ● ● Java hỗ trợ nhiều kiểu giao diện đồ họa khác nhau, gọi Look and Feel – LnF Một số LnF thường gặp: – Meta – Nimbus – Motif – GTK (trên hệ điều hành Unix, Linux) 2012-2013 Object-Oriented Programming: Exception Các kiểu giao diện ● Để biết hệ thống Java máy có hỗ trợ sẵn kiểu LnF nào: public class LookAndFeelLister { public static void main(String[] args) { try { for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { System.out.println(info.getClassName()); } } catch (Exception e) { e.printStackTrace(); } } javax.swing.plaf.metal.MetalLookAndFeel } com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel com.sun.java.swing.plaf.motif.MotifLookAndFeel com.sun.java.swing.plaf.gtk.GTKLookAndFeel 2012-2013 Object-Oriented Programming: Exception Các kiểu giao diện 2012-2013 Object-Oriented Programming: Exception Chương trình Thơng báo lỗi người dùng nhập liệu sai Khi người dùng chọn mục Help > About JOptionPane.showMessageDialog(PrimeNumberFrame.this, "Number format error!", "Error", JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(PrimeNumberFrame.this, "A program for listing prime numbers", "About", JOptionPane.INFORMATION_MESSAGE); 2012-2013 Object-Oriented Programming: Exception Chương trình: PrimeNumberFrame // create a menu bar containing some menus JMenuBar menuBar = new JMenuBar(); Viết hàm tạo xây dựng cửa sổ chương trình // // add the menu bar to the frame setJMenuBar(menuBar); 2012-2013 Object-Oriented Programming: Exception Chương trình: PrimeNumberFrame // File menu Đặt phím tắt Alt+F JMenu menu = new JMenu("File"); menu.setMnemonic(KeyEvent.VK_F); JMenuItem exitMenuItem = new JMenuItem("Exit"); exitMenuItem.setMnemonic(KeyEvent.VK_X); exitMenuItem.addActionListener(new ExitActionListener()); menu.add(exitMenuItem); menuBar.add(menu); class ExitActionListener implements ActionListener { @Override public void actionPerformed(ActionEvent arg0) { System.exit(0); } } 2012-2013 Object-Oriented Programming: Exception 10 Chương trình: PrimeNumberFrame Các nút nằm nhóm // Look and Feel menu chọn thời điểm menu = new JMenu("Look and Feel"); menu.setMnemonic(KeyEvent.VK_L); ButtonGroup group = new ButtonGroup(); // Meta LnF JRadioButtonMenuItem menuItem = new JRadioButtonMenuItem("Meta"); menuItem.setMnemonic(KeyEvent.VK_M); ActionListener lookAndFeelActionListener = new ChooseLookAndFeelActionListener( "javax.swing.plaf.metal.MetalLookAndFeel"); menuItem.addActionListener(lookAndFeelActionListener); group.add(menuItem); menu.add(menuItem); 2012-2013 Object-Oriented Programming: Exception 11 Chương trình: PrimeNumberFrame // Nimbus LnF (Java 6, update 10) menuItem = new JRadioButtonMenuItem("Nimbus"); menuItem.setMnemonic(KeyEvent.VK_N); lookAndFeelActionListener = new ChooseLookAndFeelActionListener( "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); menuItem.addActionListener(lookAndFeelActionListener); group.add(menuItem); menu.add(menuItem); 2012-2013 Object-Oriented Programming: Exception 12 Chương trình: PrimeNumberFrame class ChooseLookAndFeelActionListener implements ActionListener { private String name; public ChooseLookAndFeelActionListener(String name) { this.name = name; } @Override Đặt giao diện public void actionPerformed(ActionEvent e) { try { UIManager.setLookAndFeel(name); } catch (ClassNotFoundException exp) { exp.printStackTrace(); } catch (InstantiationException exp) { exp.printStackTrace(); } catch (IllegalAccessException exp) { Cập nhật giao diện exp.printStackTrace(); } catch (UnsupportedLookAndFeelException exp) { exp.printStackTrace(); } SwingUtilities.updateComponentTreeUI(PrimeNumberFrame.this); PrimeNumberFrame.this.pack(); } } 2012-2013 Object-Oriented Programming: Exception 13 Các thành phần đồ họa thực đơn Object Component Container JComponent JMenuBar JPopupMenu JAbstractButton JSeparator JMenuItem JMenu 2012-2013 JCheckboxMenuItem JRadioButtonMenuItem Object-Oriented Programming: Exception 14 Chương trình ● Xem tệp mã nguồn gói lecture6.primes2 – ​LookAndFeelLister.java – PrimeNumberApp.java – PrimeNumberFrame.java – PrimeNumbers.java 2012-2013 Object-Oriented Programming: Exception 15 ... cấp chương trình liệt kê số nguyên tố giảng trước: – Thêm thực đơn – Chọn kiểu giao diện khác Swing – Quản lí ngoại lệ 2012-2013 Object-Oriented Programming: Exception Các thành phần đồ họa ●... UIManager Object-Oriented Programming: Exception Chương trình ● Thêm thực đơn File, Look and Feel, Help ● Thực đơn File có mục Exit ● – Cho phép chương trình – Tương tự nhấn chuột vào nút đóng cửa... chọn kiểu giao diện trình bày theo kiểu Thực đơn Help chứa mục About 2012-2013 Object-Oriented Programming: Exception Các kiểu giao diện ● ● Java hỗ trợ nhiều kiểu giao diện đồ họa khác nhau, gọi

Ngày đăng: 30/01/2020, 06:02

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w