Bài giảng Lập trình Cơ sở dữ liệu – Java: Bài 3.2 - Nguyễn Hữu Thể

30 36 0
Bài giảng Lập trình Cơ sở dữ liệu – Java: Bài 3.2 - Nguyễn Hữu Thể

Đ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

Bài giảng Lập trình cơ sở dữ liệu Java - Bài 3 tiếp tục cung cấp cho người học các kiến thức về Components. Nội dung chính được trình bày trong chương này gồm có: List JTable, JMenu, JOptionPane, JFileChooser. Mời các bạn cùng tham khảo nội dung chi tiết.

LẬP TRÌNH JAVA CSDL BÀI COMPONENTS Nguyễn Hữu Thể Nội dung  JList  JTable  JMenu  JOptionPane  JFileChooser JList Creating a Model There are three ways to create a list model: •DefaultListModel — everything is pretty much taken care of for you The examples in this page use DefaultListModel •AbstractListModel — you manage the data and invoke the "fire" methods For this approach, you must subclass AbstractListModel and implement the getSize and getElementAt methods inherited from the ListModel interface •ListModel — you manage everything JList Initializing a List list = new JList(data); //data has type Object[] list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SE LECTION); list.setLayoutOrientation(JList.HORIZONTAL_WRAP); list.setVisibleRowCount(-1); JScrollPane listScroller = new JScrollPane(list); listScroller.setPreferredSize(new Dimension(250, 80)); JList  DefaultListModel  Methods: • addElement (Object e) • get (int index) • getSize () • getElementAt (int index) • remove (int index) • Elements() • removeAllElements () JList  Methods: – setModel (ListModel model), getModel () – getMaxSelectionIndex (), getMinSelectionIndex () – getSelectedIndex (), getSelectedIndices () – getSelectedValue (), getSelectedValues ()  Events: – valueChanged JTable JOptionPane JTable  DefaultTableModel – addColumn (Object obj) – addRow (Object obj) – getColumnCount () – getRowCount () – getValueAt (int row, int col) – setValueAt (Object obj, int row, int col) JTable  Methods: – setModel (TableModel tm) – getModel () – getValueAt (int row, int col) – getRowCount () – getColumnCount ()  Events: – mouseClicked 10 JOptionPane 16 JOptionPane 17 JFileChooser 18 JFileChooser 19 JFileChooser 20 JFileChooser 21 Swing Menu 22 Swing Menu import java.awt.*; import java.awt.event.*; import javax.swing.JMenu; import javax.swing.JMenuItem; import javax.swing.JCheckBoxMenuItem; import javax.swing.JRadioButtonMenuItem; import javax.swing.ButtonGroup; import javax.swing.JMenuBar; import javax.swing.KeyStroke; import javax.swing.ImageIcon; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JScrollPane; import javax.swing.JFrame; 23 Swing Menu public class MenuLookDemo { JTextArea output; JScrollPane scrollPane; public JMenuBar createMenuBar() { JMenuBar menuBar; JMenu menu, submenu; JMenuItem menuItem; JRadioButtonMenuItem rbMenuItem; JCheckBoxMenuItem cbMenuItem; //Create the menu bar menuBar = new JMenuBar(); //Build the first menu menu = new JMenu("A Menu"); menu.setMnemonic(KeyEvent.VK_A); menu.getAccessibleContext().setAccessibleDescription( "The only menu in this program that has menu items"); menuBar.add(menu); 24 Swing Menu //a group of JMenuItems menuItem = new JMenuItem("A text-only menu item", KeyEvent.VK_T); //menuItem.setMnemonic(KeyEvent.VK_T); //used constructor instead menuItem.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_1, ActionEvent.ALT_MASK)); menuItem.getAccessibleContext().setAccessibleDescription( "This doesn't really anything"); menu.add(menuItem); ImageIcon icon = createImageIcon("images/middle.gif"); menuItem = new JMenuItem("Both text and icon", icon); menuItem.setMnemonic(KeyEvent.VK_B); menu.add(menuItem); menuItem = new JMenuItem(icon); menuItem.setMnemonic(KeyEvent.VK_D); menu.add(menuItem); 25 Swing Menu //a group of radio button menu items menu.addSeparator(); ButtonGroup group = new ButtonGroup(); rbMenuItem = new JRadioButtonMenuItem("A radio button menu item"); rbMenuItem.setSelected(true); rbMenuItem.setMnemonic(KeyEvent.VK_R); group.add(rbMenuItem); menu.add(rbMenuItem); rbMenuItem = new JRadioButtonMenuItem("Another one"); rbMenuItem.setMnemonic(KeyEvent.VK_O); group.add(rbMenuItem); menu.add(rbMenuItem); 26 //a group of check box menu items menu.addSeparator(); cbMenuItem = new JCheckBoxMenuItem("A check box menu item"); cbMenuItem.setMnemonic(KeyEvent.VK_C); menu.add(cbMenuItem); Swing Menu cbMenuItem = new JCheckBoxMenuItem("Another one"); cbMenuItem.setMnemonic(KeyEvent.VK_H); menu.add(cbMenuItem); //a submenu menu.addSeparator(); submenu = new JMenu("A submenu"); submenu.setMnemonic(KeyEvent.VK_S); menuItem = new JMenuItem("An item in the submenu"); menuItem.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_2, ActionEvent.ALT_MASK)); submenu.add(menuItem); menuItem = new JMenuItem("Another item"); submenu.add(menuItem); menu.add(submenu); 27 //Build second menu in the menu bar menu = new JMenu("Another Menu"); menu.setMnemonic(KeyEvent.VK_N); menu.getAccessibleContext().setAccessibleDescription( "This menu does nothing"); menuBar.add(menu); Swing Menu return menuBar; } public Container createContentPane() { //Create the content-pane-to-be JPanel contentPane = new JPanel(new BorderLayout()); contentPane.setOpaque(true); //Create a scrolled text area output = new JTextArea(5, 30); output.setEditable(false); scrollPane = new JScrollPane(output); //Add the text area to the content pane contentPane.add(scrollPane, BorderLayout.CENTER); return contentPane; } 28 /** Returns an ImageIcon, or null if the path was invalid */ protected static ImageIcon createImageIcon(String path) { java.net.URL imgURL = MenuLookDemo.class.getResource(path); if (imgURL != null) { return new ImageIcon(imgURL); } else { System.err.println("Couldn't find file: " + path); return null; } } Swing Menu /*** Create the GUI and show it For thread safety, * this method should be invoked from the * event-dispatching thread */ private static void createAndShowGUI() { //Create and set up the window JFrame frame = new JFrame("MenuLookDemo"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Create and set up the content pane MenuLookDemo demo = new MenuLookDemo(); frame.setJMenuBar(demo.createMenuBar()); frame.setContentPane(demo.createContentPane()); //Display the window frame.setSize(450, 260); frame.setVisible(true); } 29 public static void main(String[] args) { Swing Menu //Schedule a job for the event-dispatching thread: //creating and showing this application's GUI javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } } 30 ... Events: – valueChanged JTable JOptionPane JTable  DefaultTableModel – addColumn (Object obj) – addRow (Object obj) – getColumnCount () – getRowCount () – getValueAt (int row, int col) – setValueAt... int row, int col) JTable  Methods: – setModel (TableModel tm) – getModel () – getValueAt (int row, int col) – getRowCount () – getColumnCount ()  Events: – mouseClicked 10 JTable package project;... removeAllElements () JList  Methods: – setModel (ListModel model), getModel () – getMaxSelectionIndex (), getMinSelectionIndex () – getSelectedIndex (), getSelectedIndices () – getSelectedValue (), getSelectedValues

Ngày đăng: 03/12/2020, 12:40

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan