首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在尝试使用Java语言中的JScrollPane组件

问我正在尝试使用Java语言中的JScrollPane组件
EN

Stack Overflow用户
提问于 2011-05-25 17:42:52
回答 1查看 273关注 0票数 0

大家好,我希望你们能帮我在JScrollPane上显示并行数组。数组具有字符串和双精度数据类型。下面是我的示例代码: String[] items = {"fish","frog"};double[]价格= {12,19};我应该把它们放到JScrollPane上,元素在items数组的位置0紧跟着价格位置0,依此类推;

EN

回答 1

Stack Overflow用户

发布于 2011-06-15 01:59:44

有什么原因不能将数据放在JTable中并将表添加到滚动窗格中吗?

代码语言:javascript
复制
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);
    }   
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6122403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档