当前位置: 首页 > 知识库问答 >
问题:

如何用基本表填充JScrollPane

薛扬
2023-03-14
    playlistsScrollPane = new javax.swing.JScrollPane();
    playlists = new javax.swing.JList();
    musicFileTableScrollPane = new javax.swing.JScrollPane();
    jTable1 = new javax.swing.JTable();
    jTextField1 = new javax.swing.JTextField();
    NewPlaylistButton = new javax.swing.JButton();
    DeleteSelectedPlaylistButton = new javax.swing.JButton();
    jMenuBar1 = new javax.swing.JMenuBar();
    jMenu1 = new javax.swing.JMenu();
    jMenu2 = new javax.swing.JMenu();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    playlists.setModel(new javax.swing.AbstractListModel() {
        String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
        public int getSize() { return strings.length; }
        public Object getElementAt(int i) { return strings[i]; }
    });
    playlistsScrollPane.setViewportView(playlists);

    jTable1.setModel(new javax.swing.table.DefaultTableModel(
        new Object [][] {
            {null, null, null, null},
            {null, null, null, null},
            {null, null, null, null},
            {null, null, null, null}
        },
        new String [] {
            "Title 1", "Title 2", "Title 3", "Title 4"
        }
    ));
    musicFileTableScrollPane.setViewportView(jTable1);
JTable table;
DefaultTableModel musicTableModel;

public BasicTableGUI() {

    String[] columns = {"Artist", "Title", "Album", "Track Number", "Length"};
    musicTableModel = new DefaultTableModel(columns, 15);
    table = new javax.swing.JTable();

    table.setModel(musicTableModel);

    if (table.isEnabled()) {
        System.out.println("yess");
    } else {
        System.out.println("nsssss");
    }

    table.setTransferHandler(new MusicTableHandler(musicTableModel));
    table.setDragEnabled(true);
    table.setDropMode(javax.swing.DropMode.ON_OR_INSERT_ROWS);
    table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    table.setFillsViewportHeight(true);
    table.setVisible(true);

}
}
...


 playlists.setModel(new javax.swing.AbstractListModel() {
    String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
    public int getSize() { return strings.length; }
    public Object getElementAt(int i) { return strings[i]; }
});
playlistsScrollPane.setViewportView(playlists);


musicFileTableScrollPane.setViewportView(newBasicGUI());
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: 
Uncompilable source code Erroneous sym type: 
javax.swing.JScrollPane.setViewportView

共有1个答案

闾丘成双
2023-03-14

您永远不应该子类JTable。您应该创建一个扩展AbstractTableModel并实现数据调用方法的类。然后不是这样:

jTable1.setModel(new javax.swing.table.DefaultTableModel(
    new Object [][] {
        {null, null, null, null},
        {null, null, null, null},
        {null, null, null, null},
        {null, null, null, null}
    },
    new String [] {
        "Title 1", "Title 2", "Title 3", "Title 4"
    }
));

你会的

jTable1.setModel(new MyBasicTableModel());

然后,MyBasicTableModel类将保存表中显示的所有数据。您可能需要添加额外的方法,以便您的程序能够根据需要更新数据。您还必须在获得数据更新时通知侦听器,以便可视化地更新表。

 类似资料:
  • 问题内容: 我目前正在使用Page_Load中的以下代码创建和读取DataTable 我想知道如何转换此代码,以便它从SQL查询中读取?我正在尝试下面的代码,但不确定如何连接它们,以便页面加载中的数据表使用下面的SQL命令填充。 我被困在: 我希望成为 问题答案: 您需要修改方法,并在其中添加“实验”代码,然后返回。

  • 因此,我试图在我的JavaFX应用程序中创建一个自定义节点,它从扩展而来,因此可以自己进行渲染。我一开始只是试着画一个文本“Hello world”在画布上,但可惜它没有出现,即使我可以通过鼠标事件处理程序确认应用程序中是否存在自定义节点。 简而言之,如果我将这个的一个新实例添加到一个

  • 问题内容: 我需要用ArrayList填充JComboBox。有什么办法吗? 问题答案: 使用ArrayList类的方法并将其传递给 有关更多信息,请参见JavaDoc和教程。

  • 问题内容: 我尝试用ImageIcon完全填充Jbutton的“表面”。 如您所见,“ Exit”标签的边缘与按钮的边缘之间仍然存在一些空间。您可以 在背景上看到带有白色蓝色填充的按钮。我想要的是用标签完全覆盖此按钮。 有没有办法做到这一点? Here is my code: 问题答案: 您需要将边框设置为,EmptyBorder以便按钮内没有填充。 add this:

  • 问题内容: 我要问的是已被要求在一个问题很抽象的术语,用(理解)没有具体的答案提供: 在MySQL提示下,如何创建和填充具有1列和1111行的表,其中该列包含2222和5555之间的随机数? 就像是: 已经提出了这个问题,但是要么依赖于外部语言进行循环,要么太笼统了。我想知道是否可以从典型的Linux MySQL提示符下执行此简单操作。 问题答案: 要创建表,请使用: 然后,用随机值填充它,您可以

  • 问题内容: 我需要一个MySQL表来保存2011年1月1日至2011年12月31日之间的所有日期。我创建了一个表,其中一个列名为“ _date”,键入DATE。 通过什么查询,我可以用所有想要的日期填充表格(而不必手动输入)? 问题答案: 尝试这个: 这是使用它的SQL Fiddle:http://sqlfiddle.com/#!2 / 65d13 / 1 按照 Andrew Fox的要求进行编辑