TransWikia.com

Баг Jtable. Помогите его выявить

Stack Overflow на русском Asked by Shamon on December 19, 2021

JPanel basic = new JPanel();
    basic.setLayout(new BorderLayout());
    String[] columnNames =
    {
        "Название",
        "Кол-во",
        "Сорт"
    };

    Object[][] data =
    {
    };
    myModel = new DefaultTableModel(data, columnNames)
    {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isCellEditable(int rowIndex, int columnIndex)
        {
            return false;
        }
    };
    table = new JTable(myModel);
    table.setModel(myModel);

    table.setFont(new java.awt.Font("", 0, 14));
    table.setPreferredScrollableViewportSize(new Dimension(620, 416));
    table.setFillsViewportHeight(true);
    table.getTableHeader().setReorderingAllowed(false);
    basic.setForeground(Color.white);
    basic.setBackground(Color.blue);

    // Настройка колонок в таблице
    table.getColumnModel().getColumn(0).setPreferredWidth(400);
    for (int x = 0; x < table.getColumnCount(); x++)
    {
        table.getColumnModel().getColumn(x).setCellRenderer(render);
    }

    //Create the scroll pane and add the table to it.
    JScrollPane scrollPane = new JScrollPane(table);
    scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
    basic.add(scrollPane, BorderLayout.PAGE_START);
    JButton button = new JButton("Обновить");
    JButton button2 = new JButton("Сброс");
    button.setPreferredSize(new Dimension(300, 30));
    button2.setPreferredSize(new Dimension(300, 30));
    basic.add(button, BorderLayout.LINE_START);
    basic.add(button2, BorderLayout.LINE_END);

    try
    {
        updateTable();
    }
    catch (IOException ex)
    {
        Logger.getLogger(ScanPanel.class.getName()).log(Level.SEVERE, null, ex);
    }

    button.addActionListener((ActionEvent e) ->
    {
        myModel.getDataVector().removeAllElements();

        try
        {
            updateTable();
            myModel.fireTableDataChanged();
        }
        catch (IOException ex)
        {
            Logger.getLogger(ScanPanel.class.getName()).log(Level.SEVERE, null, ex);
        }

    });

Вот код – иногда происходит это.

https://yadi.sk/i/A1HrbEQAQGuBWw

Что не так ?

One Answer

Оказалось во всем виновата программа MSI Afterburner.Уж не знаю как , но именно она баговала таблицы.

Answered by Shamon on December 19, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP