Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在默认jTable java Netbeans中添加状态映像_Java_Swing_Jtable - Fatal编程技术网

如何在默认jTable java Netbeans中添加状态映像

如何在默认jTable java Netbeans中添加状态映像,java,swing,jtable,Java,Swing,Jtable,我的jtable功能正常。该表列出了任务,并且每个任务都具有关联的状态 我希望每个状态都与一个图像关联 因此,图像将显示在下表中 ------jTable的代码---------- DefaultTableModel tmSubTask=新的DefaultTableModel(空,新字符串[]{“状态”、“优先级”、“任务”、“子任务”、“描述”、“预测开始”、“时间”、“预测持续时间”、“预测小时”、“开始”、“小时开始”、“结束日期”、“结束小时”、“持续时间”}); 列出子任务; List

我的jtable功能正常。该表列出了任务,并且每个任务都具有关联的状态

我希望每个状态都与一个图像关联

因此,图像将显示在下表中

------jTable的代码----------

DefaultTableModel tmSubTask=新的DefaultTableModel(空,新字符串[]{“状态”、“优先级”、“任务”、“子任务”、“描述”、“预测开始”、“时间”、“预测持续时间”、“预测小时”、“开始”、“小时开始”、“结束日期”、“结束小时”、“持续时间”});
列出子任务;
ListSelectionModel lsmSubTask;
连接conexao=null;
PreparedStatement pst=null;
结果集rs=null;

private void显示子任务(列表子任务){
while(tmSubTask.getRowCount()>0){
tmSubTask.removeRow(0);
}
if(子任务大小()==0){
showMessageDialog(null,“showSubTask”);
}否则{
字符串[]行=新字符串[]{null,null,null};
对于(int i=0;i
---------------jTable--------------

---------------我想要什么---------

想象一下,如果jTable中的延迟等状态显示为红色

我真的不知道从哪里开始

如果我没有说清楚,我道歉

谢谢你能给我的一切帮助

你好


任何问题我都会尽力解释。

向表中添加一个ImageIcon,并覆盖JTable to return Icon.class的
getColumnClass(…)
方法,表将使用适当的渲染器来显示图标。比如:

import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;

public class TableIcon extends JFrame
{
    public TableIcon()
    {
        Icon aboutIcon = new ImageIcon("about16.gif");
        Icon addIcon = new ImageIcon("add16.gif");
        Icon copyIcon = new ImageIcon("copy16.gif");

        String[] columnNames = {"Picture", "Description"};
        Object[][] data =
        {
            {aboutIcon, "About"},
            {addIcon, "Add"},
            {copyIcon, "Copy"},
        };

        DefaultTableModel model = new DefaultTableModel(data, columnNames);
        JTable table = new JTable( model )
        {
            //  Returning the Class of each column will allow different
            //  renderers to be used based on Class
            public Class getColumnClass(int column)
            {
                return getValueAt(0, column).getClass();
            }
        };
        table.setPreferredScrollableViewportSize(table.getPreferredSize());

        JScrollPane scrollPane = new JScrollPane( table );
        getContentPane().add( scrollPane );

        new TableRowResizer(table);

        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        TableColumnAdjuster tca = new TableColumnAdjuster(table);
        tca.adjustColumns();
    }

    public static void main(String[] args)
    {
        TableIcon frame = new TableIcon();
        frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
        frame.pack();
        frame.setVisible(true);
    }

}
 private void showSubTask(List<SubTask> subTask) {
    while (tmSubTask.getRowCount() > 0) {
        tmSubTask.removeRow(0);
    }
    if (subTask.size() == 0) {
        JOptionPane.showMessageDialog(null, "showSubTask");
    } else {
        String[] line = new String[]{null, null, null};
        for (int i = 0; i < SubTask.size(); i++) {
         tmSubTask.addRow(linha);
         tmSubTask.setValueAt(subTask.get(i).getStatus(), i, 0);
         tmSubTask.setValueAt(subTask.get(i).getIdPriority(), i, 1);
         tmSubTask.setValueAt(subTask.get(i).getIdTask(), i, 2);
         tmSubTask.setValueAt(subTask.get(i).getIdSubTask(), i, 3);
         tmSubTask.setValueAt(subTask.get(i).getDescSubTask(), i, 4);
         tmSubTask.setValueAt(subTask.get(i).getDateBegin(), i, 5);
         tmSubTask.setValueAt(subTask.get(i).getTerm(), i, 6);
         tmSubTask.setValueAt(subTask.get(i).getDuration(), i, 7);
         tmSubTask.setValueAt(subTask.get(i).gethourBeginP(), i, 8);
         tmSubTask.setValueAt(subTask.get(i).getDateBegin(), i, 9);
         tmSubTask.setValueAt(subTask.get(i).getHourBegin(), i, 10);
         tmSubTask.setValueAt(subTask.get(i).getDateEnd(), i, 11);
         tmSubTask.setValueAt(subTask.get(i).getHourEnd(), i, 12);
         tmSubTask.setValueAt(subTask.get(i).getDuration(), i, 13);

        }
    }
}
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;

public class TableIcon extends JFrame
{
    public TableIcon()
    {
        Icon aboutIcon = new ImageIcon("about16.gif");
        Icon addIcon = new ImageIcon("add16.gif");
        Icon copyIcon = new ImageIcon("copy16.gif");

        String[] columnNames = {"Picture", "Description"};
        Object[][] data =
        {
            {aboutIcon, "About"},
            {addIcon, "Add"},
            {copyIcon, "Copy"},
        };

        DefaultTableModel model = new DefaultTableModel(data, columnNames);
        JTable table = new JTable( model )
        {
            //  Returning the Class of each column will allow different
            //  renderers to be used based on Class
            public Class getColumnClass(int column)
            {
                return getValueAt(0, column).getClass();
            }
        };
        table.setPreferredScrollableViewportSize(table.getPreferredSize());

        JScrollPane scrollPane = new JScrollPane( table );
        getContentPane().add( scrollPane );

        new TableRowResizer(table);

        table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        TableColumnAdjuster tca = new TableColumnAdjuster(table);
        tca.adjustColumns();
    }

    public static void main(String[] args)
    {
        TableIcon frame = new TableIcon();
        frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
        frame.pack();
        frame.setVisible(true);
    }

}