这是我将文件名和大小放在表格中的代码 我只有两列名称和大小,但值重复。 公共类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的特定列中
发布评论