Day06 图形用户界面初步03

本文详细介绍了Java Swing中菜单、工具栏和表格的基本用法,包括如何创建菜单栏、菜单和菜单项,如何构建工具栏并添加按钮,以及如何显示表格和设置列宽。同时,文章还讲解了如何使用TableModel来管理表格数据。

七.菜单

  1.  菜单分为 菜单栏,菜单和菜单项
  2. 菜单栏
    JMenuBar mb = new JMenuBar();
  3. 菜单
    JMenu mEnglish =
    new JMenu("英语");
    JMenu mChinese =
    new JMenu("汉语");
    mb.add(mEnglish);
    mb.add(mChinese);
    f.setJMenuBar(mb);  //f指的是Jframe  将菜单栏加入到窗口中
  4. 菜单项
    mChinese.add(new
    JMenuItem("北京话"));
    mChinese.add(new
    JMenuItem("广东话"));
    mChinese.addSeparator(); //在汉语这一菜单下 加个分隔符
    mChinese.add(new
    JMenuItem("所有-All"));

八.工具栏

  1. JToolBar tb = new JToolBar();  //创建一个工具栏
    JButton b1 =
    new JButton(new ImageIcon("d:/project/j2se/1.jpg")); //创建一个图片式按钮
    tb.add(b1);
    b1.setToolTipText(
    "****"); //给按钮设置提示信息
    f.add(tb);
     
  2. tb.setFloatable(false);      //可以将工具栏禁止鼠标拖动

九.表格

  1. 基本表格
    显示一个Table需要两组数据
    1. 一维数组: String[]columnNames 表示表格的标题
    2. 二维数组: String[][] heros 表格中的内容
    默认情况下,表格的标题是不会显示出来了,除非使用了JScrollPane

    String[] columnNames = new String[] { "id", "name"};// 表格上的title
    // 表格中的内容,是一个二维数组
    String[][] students =
    new String[][] { { "1", "张三" },{ "2", "李四" }};
    JTable t = new JTable(students,columnNames);
    f.add(t);

  2. JScrollPane
    JScrollPane sp = new JScrollPane(t);  // 根据t创建 JScrollPane

    //或则创建一个空的JScrollPane,再通过setViewportView把table放在JScrollPane中
    JScrollPane sp = new JScrollPane(t);

    sp.setViewportView(t);

    //最后再把sp添加到窗口上

    f.add(sp):

  3. 设置列宽度
    t.getColumnModel().getColumn(0).setPreferredWidth(10);   //0代表第一列   10代表第一列宽度

  4. TableModel
    继承AbstractTableModel ,进而实现了接口TableModel,用于存放要显示的数据。
    提供了五个方法  1. getRowCount 返回一共有多少行
                               2. getColumnCount 返回一共有多少列
                               3. getColumnName 每一列的名字
                               4. isCellEditable 单元格是否可以修改
                               5. getValueAt 每一个单元格里的值
    public class StudentTableModel extends AbstractTableModel{} //写一个类继承抽象类AbstractTableModel
    StudentTableModel stm= new StudentTableModel(); 
    JTable t =
    new JTable(stm);         //根据 TableModel来创建 Table

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值