Tải bản đầy đủ (.pdf) (30 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.17 MB, 30 trang )

LẬP TRÌNH JAVA CSDL

BÀI 3

COMPONENTS

Nguyễn Hữu Thể

1


Nội dung

 JList
 JTable
 JMenu
 JOptionPane
 JFileChooser

2


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 ()

5



JList
 Methods:
– setModel (ListModel model), getModel ()
– getMaxSelectionIndex (), getMinSelectionIndex ()
– getSelectedIndex (), getSelectedIndices ()

– getSelectedValue (), getSelectedValues ()

 Events:
– valueChanged

6


JTable

7


JOptionPane

8


JTable
 DefaultTableModel
– addColumn (Object obj)
– addRow (Object obj)

– getColumnCount ()

– getRowCount ()
– getValueAt (int row, int col)
– setValueAt (Object obj, int row, int col)

9


JTable
 Methods:
– setModel (TableModel tm)
– getModel ()
– getValueAt (int row, int col)

– getRowCount ()
– getColumnCount ()

 Events:
– mouseClicked

10


JTable
package project;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class JTableComponent {


public static void main(String[] argv) throws Exception {
Object[][] cellData = {{ "1-1", "1-2" }, { "2-1", "2-2" }};
String[] columnNames = { "col1", "col2" };
JTable table = new JTable(cellData, columnNames);
JFrame f = new JFrame();
f.setSize(300,300);
f.add(new JScrollPane(table));
f.setVisible(true);
}

11


JTable
DefaultTableModel()
Constructs a default DefaultTableModel which is a table of zero columns and zero rows.
DefaultTableModel(int rowCount, int columnCount)
Constructs a DefaultTableModel with rowCount and columnCount of null object values.
DefaultTableModel(Object[][] data, Object[] columnNames)
Constructs a DefaultTableModel and initializes the table by passing data and columnNames to
the setDataVector method.
DefaultTableModel(Object[] columnNames, int rowCount)
Constructs a DefaultTableModel with as many columns as there are elements in columnNames
and rowCount of null object values.
DefaultTableModel(Vector columnNames, int rowCount)
Constructs a DefaultTableModel with as many columns as there are elements in columnNames
and rowCount of null object values.
DefaultTableModel(Vector data, Vector columnNames)
Constructs a DefaultTableModel and initializes the table by passing data and columnNames to

12
the setDataVector method.


JTable
void addColumn(Object columnName)
Adds a column to the model.
void addColumn(Object columnName, Object[] columnData)
Adds a column to the model.
void addColumn(Object columnName, Vector columnData)
Adds a column to the model.
void addRow(Object[] rowData)
Adds a row to the end of the model.
void addRow(Vector rowData)
Adds a row to the end of the model.
protected
static convertToVector(Object[] anArray)
Vector Returns a vector that contains the same objects as the array.
13


JTable
void addColumn(Object columnName)
Adds a column to the model.
void addColumn(Object columnName, Object[] columnData)
Adds a column to the model.
void addColumn(Object columnName, Vector columnData)
Adds a column to the model.
void addRow(Object[] rowData)
Adds a row to the end of the model.

void addRow(Vector rowData)
Adds a row to the end of the model.
protected
static convertToVector(Object[] anArray)
Vector Returns a vector that contains the same objects as the array.
14


JOptionPane

15


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 do 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


×