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

在这里插入图片描述

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