gpt4 book ai didi

java - jTable 内的 jFormattedText

转载 作者:行者123 更新时间:2023-12-02 06:15:31 25 4
gpt4 key购买 nike

我一直在尝试在 jTable 中插入 jFormatted Text。

但是,到目前为止,我得到的是输出。

javax.swing.JFormattedTextField[,0,0,0x0,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.sun.java.swing.plaf.windows.XPStyle$XPFillBorder@12bd4a6,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0],disabledTextColor=javax.swing.plaf.ColorUIResource[r=109,g=109,b=109],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=2,left=2,bottom=2,right=2],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255],selectionColor=javax.swing.plaf.ColorUIResource[r=51,g=153,b=255],columns=0,columnWidth=0,command=,horizontalAlignment=LEADING] 20

我使用的代码如下:

    DefaultTableModel dm = (DefaultTableModel) jTable1.getModel();  
MaskFormatter mf1;
try {
mf1 = new MaskFormatter("*##-##-####-*****");

JFormattedTextField abc1 = new JFormattedTextField(mf1);



// String header[] = new String[]{"ACCOUNT NUMBER","Col2","AMOUNT PAYABLE"};
// dm.setColumnIdentifiers(header);
// jTable1.setModel(dm);


//TableColumn abc7 = jTable1.getColumnModel().getColumn(0);
//abc1.setValue("");
Vector<Object> data = new Vector<Object>();

data.add(abc1);
data.add(20);
data.add(false);

dm.addRow(data);

TableColumn abc2 = jTable1.getColumnModel().getColumn(0);
jTable1.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(abc1));
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setToolTipText("Click to change the values");
DefaultCellEditor defaultCellEditor=new DefaultCellEditor(abc1);
abc2.setCellEditor(defaultCellEditor);
abc2.setCellRenderer(renderer);
jTable1.setIntercellSpacing(new Dimension(10, 4));
jTable1.repaint();

//abc7.setCellEditor(new DefaultCellEditor(abc1));
// jTable1.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(abc1));

} catch (Exception ex) {
java.util.logging.Logger.getLogger(Multiple_Utility_Bill.class.getName()).log(Level.SEVERE, null, ex);
log.debug(ex);
}

谁能教我如何将格式化文本字段输入到 jTable 中吗?

最佳答案

无需在表格中添加JFormattedTextField。只需将要在 JFormattedTextField 中表示的值添加到表模型即可。

您应该实现自己的 TableCellRenderer,它应该从方法返回 JFormattedTextField 组件

Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column);

然后将渲染器设置为您的表格。

关于java - jTable 内的 jFormattedText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21518521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com