如何将选定文件放在JTable的特定列中

编程入门 行业动态 更新时间:2024-10-25 06:23:03
本文介绍了如何将选定文件放在JTable的特定列中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

这是我将文件名和大小放在表格中的代码 我只有两列名称和大小,但值重复。 公共类TableContent扩展JFrame { final TableConstruct constructTable = new TableConstruct(); JMenuBar menuBar = new JMenuBar(); JMenu File = new JMenu(File); JMenuItem openFile = new JMenuItem(Open File); public static void main(String [] args) { EventQueue.invokeLater(new Runnable(){ public void run(){ new TableContent(); } }); } public TableContent(){ //创建一个空框架 setSize(500,500); setTitle(创建表格); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible (true); //设置JMenuBar setJMenuBar(menuBar); menuBar.add(文件); File.add(openFile); //动作事件 openFile.addActionListener( new ActionListener(){ @Override public void actionPerformed(ActionEvent event){ JFileChoo ser fileChooser = new JFileChooser(); fileChooser.setMultiSelectionEnabled(true); int result = fileChooser.showOpenDialog(TableContent.this); if(result == JFileChooser.APPROVE_OPTION) { 文件[]; file = fileChooser.getSelectedFiles(); Vector addData = new Vector(); for(int i = 0; i< file.length; i ++)> { String name = file [i] .getName(); long bytes = file [i] .length(); long kilobytes =(bytes / 1024); addData.add(name); addData.add(kilobytes +KB); constructTable.addRow(addData); //System.out.println(file[i].getName()+kilobytes+\"KB); } } } }); / /创建一个抽象表 JTable table = new JTable(constructTable); //在ScrollPane上放置一个JTable JScrollPane scrollPane = new JScrollPane(表); getContentPane()。add(scrollPane,BorderLayout.CENTER); } class TableConstruct扩展AbstractTableModel { Vector DataResult = new Vector() ; String [] filenames; private String [] columnNames = {Name,Size}; @Override public int getColumnCount(){ 返回2; } public void addRow(Vector addData){ DataResult.addElement(addData); fireTableDataChanged(); } @Override public int getRowCount(){ 返回DataResult.size(); } @Override public Object getValueAt(int row,int column){ 返回DataResult.elementAt(行); } //使用JTable对象设置列名 public String getColumnName(int column) { return columnNames [column]; } public void setValueAt(){ } } }

This is my code for putting the file name and size in the table I have only two column the name and size but the value is repeating. public class TableContent extends JFrame{ final TableConstruct constructTable = new TableConstruct(); JMenuBar menuBar = new JMenuBar(); JMenu File = new JMenu("File"); JMenuItem openFile = new JMenuItem("Open File"); public static void main(String []args) { EventQueue.invokeLater(new Runnable(){ public void run(){ new TableContent(); } }); } public TableContent() { //create an empty frame setSize(500, 500); setTitle("Create Table"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); //set a JMenuBar setJMenuBar(menuBar); menuBar.add(File); File.add(openFile); //action event openFile.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent event) { JFileChooser fileChooser= new JFileChooser(); fileChooser.setMultiSelectionEnabled(true); int result = fileChooser.showOpenDialog(TableContent.this); if(result==JFileChooser.APPROVE_OPTION) { File file[]; file = fileChooser.getSelectedFiles(); Vector addData = new Vector(); for(int i =0; i<file.length;i++)> { String name = file[i].getName(); long bytes = file[i].length(); long kilobytes = (bytes / 1024); addData.add(name); addData.add(kilobytes+"KB"); constructTable.addRow(addData); //System.out.println(file[i].getName()+kilobytes+"KB"); } } } }); //create an abstract table JTable table = new JTable(constructTable); //place a JTable on the ScrollPane JScrollPane scrollPane = new JScrollPane(table); getContentPane().add(scrollPane, BorderLayout.CENTER); } class TableConstruct extends AbstractTableModel{ Vector DataResult = new Vector(); String[] filenames; private String[]columnNames ={"Name","Size"}; @Override public int getColumnCount() { return 2; } public void addRow(Vector addData) { DataResult.addElement(addData); fireTableDataChanged(); } @Override public int getRowCount() { return DataResult.size(); } @Override public Object getValueAt(int row, int column) { return DataResult.elementAt(row); } // use JTable object to set column names public String getColumnName(int column) { return columnNames[column]; } public void setValueAt(){ } } }

推荐答案

请不要在多个论坛中发布相同的问题。 Please do not post the same question in multiple forums.

更多推荐

如何将选定文件放在JTable的特定列中

本文发布于:2023-11-24 09:14:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1624621.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:放在   如何将   文件   JTable

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!