我正在尝试在Java中使用JScrollPane组件

问题描述

| 嗨,大家好,我希望您能帮助我在JScrollPane上显示并行数组。数组具有String和double数据类型。这是我的示例代码:String [] items = {\“ fish \”,\“ frog \”}; double []价格= {12,19};我应该将它们放在JScrollPane上,并将元素放在items数组的位置0旁边,价格位置0旁边,依此类推;     

解决方法

有什么理由不能将数据放入“ 0”并将表添加到滚动窗格中?
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.AbstractTableModel;

class ItemTableModel extends AbstractTableModel {

    final String[] items;

    final double[] prices;

    public ItemTableModel(String[] items,double[] prices) {
        checkNotNull(items);
        checkNotNull(prices);
        checkArgument(items.length == prices.length);
        this.items = items;
        this.prices = prices;
    }

    @Override
    public int getRowCount() {
        return items.length;
    }

    @Override
    public int getColumnCount() {
        return 2;
    }

    @Override
    public Object getValueAt(int rowIndex,int columnIndex) {
        switch (columnIndex) {
        case 0:
            return items[rowIndex];
        case 1:
            return prices[rowIndex];
        default:
            throw new IllegalArgumentException();
        }

    }

    @Override
    public Class<?> getColumnClass(int columnIndex) {
        switch (columnIndex) {
        case 0:
            return String.class;
        case 1:
            return Object.class;
        default:
            throw new IllegalArgumentException();
        }
    }

    @Override
     public String getColumnName(int columnIndex) {
        switch (columnIndex) {
        case 0:
            return \"Item\";
        case 1:
            return \"Price\";
        default:
            throw new IllegalArgumentException();
        }       
    }
}

public class Example {

    public static void main(String[] args) {
        Runnable createAndShowGui = new Runnable() {
            @Override
            public void run() {
                createAndShowGui();
            }

        };
        SwingUtilities.invokeLater(createAndShowGui);
    }


    private static void createAndShowGui() {
        String[] items = { \"fish\",\"frog\" };
        double[] prices = { 12,19 };       
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        ItemTableModel tableModel = new ItemTableModel(items,prices);
        JTable table = new JTable(tableModel);
        //table.setTableHeader(null); // uncomment  to hide the table header
        frame.setContentPane(new JScrollPane(table));
        frame.pack();
        frame.setVisible(true);
    }   
}
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...