Java 如何在netbeans中显示Jtable的所有内容

Java 如何在netbeans中显示Jtable的所有内容,java,swing,netbeans,jtable,Java,Swing,Netbeans,Jtable,使用netbeans,我可以使用Jtable显示数据库的内容,但问题是,当我运行文件时,我得到了Jtable,但不是独立记录的所有内容都完全显示出来。因为有些列有段落条目而不是几个单词,所以您必须能够知道jtable使用的行数和文本高度。从那里可以设置行高(表的全局或单个行的全局) 然后需要一个能够显示多行内容的表格单元渲染器 根据您的要求,您最好显示一行单元格摘要&允许工具提示显示完整内容(取决于te内容的大小)或带有不可编辑文本组件的弹出窗口 更新 很抱歉这么简短的评论,我在我的IPad上

使用netbeans,我可以使用Jtable显示数据库的内容,但问题是,当我运行文件时,我得到了Jtable,但不是独立记录的所有内容都完全显示出来。因为有些列有段落条目而不是几个单词,所以您必须能够知道jtable使用的行数和文本高度。从那里可以设置行高(表的全局或单个行的全局)

然后需要一个能够显示多行内容的表格单元渲染器

根据您的要求,您最好显示一行单元格摘要&允许工具提示显示完整内容(取决于te内容的大小)或带有不可编辑文本组件的弹出窗口

更新

很抱歉这么简短的评论,我在我的IPad上

根据用户界面的状态,您有两种选择。您可以从JTables图形上下文中获取对FontMatrics的引用。这仅在JTable已实现(在屏幕上呈现)的情况下才起作用

当然,本例假设您使用的字体与JTable相同。如果没有,您需要提供正确的字体

或者,如果用户界面还没有实现,您需要构建一个兼容的图像,并从中提取字体度量。这是一个更复杂的一点,因为它开始处理图形配置和设备

BufferedImage img = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration().createCompatibleImage(1, 1, Transparency.TRANSLUCENT);

Graphics2D g2d = img.createGraphics();
FontMetrics fm = g2d.getFontMetrics(font);
int height = fm.getHeight();
g2d.dispose();
一旦你有了字体的高度,你应该能够计算出文本的高度,假设文本被分成几行(或者你可以自己分割这些行)。现在,如果情况不是这样(或者您希望提供自己的文字/行包装),这将变得越来越复杂

您可以在此处查看如何使用graphics2D呈现文本以获取提示(您可以根据需要将文本拆分为多个组)


您可能还想看看哪一个显示了多行编辑器的好主意。

您的问题是什么?多行文字不太适合显示在表格单元格中。请您详细解释一下,因为我不知道如何获取您上面写的信息??这将是一个很好的补充编辑器。Componet.getGraphics().getFontMetrics(字体)
BufferedImage img = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration().createCompatibleImage(1, 1, Transparency.TRANSLUCENT);

Graphics2D g2d = img.createGraphics();
FontMetrics fm = g2d.getFontMetrics(font);
int height = fm.getHeight();
g2d.dispose();