Java的圖形用戶界面——菜單和表格(五)

菜單的組成:

  • 菜單條JMenubar
  • 菜單JMenu
  • 菜單項JMenultem
  • 菜單項上的事件
  • 菜單事件

菜單分類:

  • 下拉式菜單
  • 彈出菜單
創建菜單的基本操作

創建菜單條(JMenuBar),並將其放在JFrame中

  • JFrame jf = new JFrame();
  • JMenuBar bar = new JMenuBar(); //創建一個空的菜單條
  • jf.setJMenuBar(bar);

創建若干個JMenu對象(JMenu):

  • JMenu menu = new JMenu(“文件”);

創建若干個JMenuItem對象並將其添加到JMenu對象中

  • JMenuItem newf = new JMenuItem(“新建”);
  • JMenuItem open = new JMenuItem(“打開”);
  • menu.add(newf);
  • menu.add(open);

把JMenu對象添加到JMenuBar對象中:

  • bar.add(menu);

其他設定
添加分隔線:

  • JMenu menu = new JMenu(“File”);
  • menu.addSeparator();

給菜單子項定義快捷鍵:

  • JMenuItem newf = new JMenuItem(“新建(N)”);
  • newf.setAccelerator(KeyStroke.getKeyStroke(“ctrl N”));

菜單事件處理
菜單(JMenu)添加監聽器
JMenu對象可添加MenuListener,以處理在點擊該菜單時各菜單項的狀態

  • menu.addMenuListener(this);

接口方法有:

  • public void menuSelected(MenuEvent evt);
  • public void menuDeselected(MenuEvent evt);
  • public void menuCanceled(MenuEvent evt);

菜單項(JMenuItem)添加監聽器:

  • 與按鈕事件處理相同
  • addActionListener(this)
  • actionPerformed(ActionEvent evt)

彈出菜單(JPopupmenu)
構造方法:

  • JPopupMenu popupMenu = new JPopupMenu();
    採用與普通菜單相同的方法添加內容和監視器

顯示快捷菜單:

  • popupMenu.show(Component,int x,int y);
    //在指定組件的指定位置顯示出快捷菜單

使用方法:
需要給響應快捷菜單顯示的組件添加鼠標監聽器

addMouseListener(new MouseAdapter(){
	public void mouseReleased(MouseEvent evt){
		if(evt.isPopupTrigger()){
			popupMenu.show(evt.getComponent(),evt.getX(),evt.getY());
		}
	}
});

工具條(JToolBar)
構造方法:

  • JToolBar toolBar = new JToolBar();

其他方法:

  • void add(組件對象);
  • void addSeparator();

爲加入的組件添加提示信息:

  • 組件對象.setToolTipText(String);

表格(JTable)
表格是一種以行/列(二維表)形式顯示和操作數據的組件,功能強大,常與數據庫結合使用
構造方法:

  • JTable();
  • JTable(int rows,int cols);
  • JTable(Object[][],Object[]);
    JTable(TableModel);
    JTable(Vector,Vector);

創建簡單表格:

Object[] cols = {"姓名","班級","成績"};
Object[][] rows = {
	{"張三","計科1","new Integer(75)"},
	{"李四","網工2","new Integer(85)"},
	{"王二","電子3","new Integer(90)"},
};
JTable table = new JTable(rows,cols);
table.setShowGrid(true);
table.setGridColor(Color);
table.setRowHeight(int);

使用DefaultTableModel創建表格:

Object[] cols = {"姓名","班級","成績"};
Object[][] rows = {
	{"張三","計科1","new Integer(75)"},
	{"李四","網工2","new Integer(85)"},
};
DefaultTableModel model = new DefaultTableModel(rows,cols);
JTable table = new JTable(model);
model.addColumn(Object);
model.addRow(Object[]);
model.removeRow(int);
model.setValueAt(Object,int row,int col);
int rown = model.getRowCount();
int coln = model.getColumnCount();
String colname = model.getColumnName(int);

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章