21xrx.com
2024-12-23 01:40:43 Monday
登录
文章检索 我的文章 写文章
JavaSwing实现表格绘制
2023-06-12 02:04:39 深夜i     --     --
JavaSwing 表格 GUI

JavaSwing是Java中的GUI工具包,可以用来创建各种图形用户界面。其中,表格是一种常见的界面元素,本文将介绍如何使用JavaSwing绘制表格。

首先,我们需要创建一个JFrame窗口,并在其中添加JTable控件。代码如下:


import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

public class MyTableFrame extends JFrame {

  public MyTableFrame() {

    String[] columnNames = "Gender";

    Object[][] rowData = {

      "Tom",

       18,

       25,

       "Female"

    };

    JTable table = new JTable(rowData, columnNames);

    JScrollPane scrollPane = new JScrollPane(table);

    getContentPane().add(scrollPane);

    setSize(400, 300);

    setVisible(true);

  }

  public static void main(String[] args) {

    new MyTableFrame();

  }

}

在上面的代码中,我们使用了JScrollPane来添加滚动条,以便在表格内容过多时能够滚动查看。接下来,在main函数中创建MyTableFrame对象即可显示表格。

运行该程序,我们可以看到一张包含4行3列数据的表格:

![image-20210915124822545](https://i.loli.net/2021/09/15/BJ9wLdapluC1IyU.png)

接下来,我们可以对表格进行进一步调整,比如设置列宽和行高、添加表头和表格样式等。代码如下:


import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableCellRenderer;

import javax.swing.table.DefaultTableModel;

import javax.swing.table.JTableHeader;

import java.awt.Color;

import java.awt.Component;

import java.awt.Font;

public class MyTableFrame extends JFrame {

  public MyTableFrame() {

    String[] columnNames = "Age";

    Object[][] rowData = {

      "Tom",

       18,

       "Male",

       30

    };

    DefaultTableModel model = new DefaultTableModel(rowData, columnNames);

    JTable table = new JTable(model);

    table.getTableHeader().setFont(new Font("微软雅黑", Font.BOLD, 14));

    table.getTableHeader().setBackground(Color.YELLOW);

    table.getTableHeader().setBorder(null);

    table.getColumnModel().getColumn(0).setPreferredWidth(100);

    table.getColumnModel().getColumn(1).setPreferredWidth(50);

    table.getColumnModel().getColumn(2).setPreferredWidth(50);

    table.setRowHeight(30);

    DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();

    renderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);

    table.setDefaultRenderer(Object.class, renderer);

    JScrollPane scrollPane = new JScrollPane(table);

    getContentPane().add(scrollPane);

    setSize(400, 300);

    setVisible(true);

  }

  public static void main(String[] args) {

    new MyTableFrame();

  }

}

在这个版本的代码中,我们设置了表头的字体为微软雅黑14号加粗,并将其背景色设置为黄色。同时,我们还调整了表格的列宽、行高和单元格居中对齐。最终的表格效果如下:

![image-20210915125304205](https://i.loli.net/2021/09/15/ytzSGo7rO6JLRXl.png)

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复