相关疑难解决方法(0)

为什么JTable标题没有出现在图像中?

我提供了关于在Java API或工具上捕获表格数据图像的建议,以便将表格数据转换为PNG图像文件 - 当OP请求代码示例时.事实证明比我想象的更难!该JTable头从该代码写入PNG消失.

PNG

PNG

屏幕截图

在此输入图像描述

import javax.swing.*;
import java.awt.Graphics;
import java.awt.BorderLayout;
import java.awt.image.BufferedImage;

import javax.imageio.ImageIO;
import java.io.File;

class TableImage {

    public static void main(String[] args) throws Exception {
        Object[][] data = {
            {"Hari", new Integer(23), new Double(78.23), new Boolean(true)},
            {"James", new Integer(23), new Double(47.64), new Boolean(false)},
            {"Sally", new Integer(22), new Double(84.81), new Boolean(true)}
        };

        String[] columns = {"Name", "Age", "GPA", "Pass"};

        JTable table = new JTable(data, columns);
        JScrollPane scroll = new JScrollPane(table);
        JPanel p …
Run Code Online (Sandbox Code Playgroud)

java swing image jtable

27
推荐指数
4
解决办法
6634
查看次数

将多个JTable打印为一个作业 - Book对象仅打印第一个表

出于多种原因,我正在尝试将多个JTable的输出组合到一个打印作业中.在尝试构建PDF并梳理Java API之后撕掉了我的头发,我决定使用Book类.我的打印代码目前看起来像这样.

try {       
    PrinterJob printer = PrinterJob.getPrinterJob();

    //Set 1/2 " margins and orientation
    PageFormat pf = printer.defaultPage();
    pf.setOrientation(PageFormat.LANDSCAPE);
    Paper paper = new Paper();
    double margin = 36; // half inch
    paper.setImageableArea(margin, margin, paper.getWidth() - margin * 2, paper.getHeight() - margin * 2);
    pf.setPaper(paper);

    Book printJob = new Book();

    // Note for next line: getAllTables() returns an ArrayList of JTables
    for (JTable t : getAllTables() )  
        printJob.append(t.getPrintable(PrintMode.FIT_WIDTH, null, null), pf,2);

    printer.setPageable(printJob);

    System.out.println(printJob.getNumberOfPages());

    if (printer.printDialog())
        printer.print();
    } catch (PrinterException e) { …
Run Code Online (Sandbox Code Playgroud)

java printing swing jtable

5
推荐指数
1
解决办法
4318
查看次数

标签 统计

java ×2

jtable ×2

swing ×2

image ×1

printing ×1