我提供了关于在Java API或工具上捕获表格数据图像的建议,以便将表格数据转换为PNG图像文件 - 当OP请求代码示例时.事实证明比我想象的更难!该JTable
头从该代码写入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) 创建JTable组件时,默认情况下启用单元格编辑.如何阻止用户编辑JTable的内容?
我已经创建了一个带有JTable的swing GUI,其中有一些行和Columns.我应该如何在JTable中添加一个按钮?
我将JTable放入JScrollPane
但是当我设置JTable Auto Resizeable时,它将没有水平滚动条.
如果我设置AUTO_RESIZE_OFF,那么当列宽不够大时,Jtable将不会填充其容器的宽度.
那我该怎么做呢:
谢谢
基本上,我有一个JTable包含具有右对齐单元格但左对齐标题的列,这看起来非常糟糕.我想右对齐这些列的标题而不改变标题的"外观和感觉".
谢谢
我不知道如何在JTable中对齐单元格的值.
对于Ex,Jtable显示,姓名薪水Mr.X 100000.50 XXXX 234.34 YYYy 1205.50
我想以下列格式对齐"工资".
Name Salary
Mr.X 100000.50
XXXX 234.34
YYYy 1205.50
Run Code Online (Sandbox Code Playgroud)
如何在JTable上面对齐
高级:我有一个用户可以用来编辑数据的JTable.
每当用户按Enter或Tab键完成编辑时,数据都会被保存(我发现"保存"实际上意味着"调用TableModel的setValueAt()方法".)
如果用户在进行编辑后以任何其他方式离开单元格,则不会保存新数据,并且值保持原样.因此,例如,如果用户更改了值,然后单击屏幕上的其他窗口小部件,则更改不会"粘住".
我相信这是一个充满字符串的JTable的默认行为,是吗?
由于各种原因,所需的行为是单元格在用户离开单元格时保存任何和所有编辑.让Swing做到这一点的最佳/正确方法是什么?
我有一个通过AbstractTableModel填充链表的Jtable.
我想要做的是当我点击(左键单击)JTable中的一行时,链表是搜索(在这种情况下它包含电影标题)并在Jtextboxes中的链表中显示值
我该怎么做呢?
这是代码
我猜它会将所选行中的数据检索到一个数组中,将其拆分并放入jtextareas中.我怎样才能做到这一点 ?
这是我想要做的截图:
发生了什么事情,JButton显示正确,但点击它没有任何反应.经过一番搜索,我发现Object
返回的table.getValueAt()
是一个String而不是一个JButton ...
这是代码:
tblResult = new JTable(data,cols) {
public TableCellRenderer getCellRenderer( int row, int column ) {
return new ClientsTableRenderer();
}
};
Run Code Online (Sandbox Code Playgroud)
我使用它在运行时填充JTable :( tblResult
现在Clients.rblResult
)
SwingUtilities.invokeLater( new Runnable() {
public void run() {
DefaultTableModel aModel = new DefaultTableModel() {
//setting the jtable read only
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
String[] cols = {"N°","Société", "TVA", "CP", "Ville", ""};
aModel.setColumnIdentifiers(cols);
Object[] temp = new Object[6];
for(int i=0;i<result.length;i++) …
Run Code Online (Sandbox Code Playgroud) java ×10
jtable ×10
swing ×9
alignment ×1
autoresize ×1
edit ×1
image ×1
jbutton ×1
jtableheader ×1
jtextfield ×1
linked-list ×1