Ler textfile em jtable

2 respostas
Mychely
[b]package fadssd;

import java.awt.event.KeyEvent;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.awt.Component;

import java.awt.Event;

import java.awt.BorderLayout;

import javax.swing.SwingConstants;

import javax.swing.SwingUtilities;

import javax.swing.KeyStroke;

import java.awt.Point;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import java.util.Vector;

import java.util.regex.Matcher;

import java.util.regex.Pattern;
import javax.swing.JFileChooser;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JMenuItem;

import javax.swing.JMenuBar;

import javax.swing.JMenu;

import javax.swing.JFrame;

import javax.swing.JDialog;

import javax.swing.JScrollPane;

import javax.swing.JTable;

public class Homework6 {

private JFrame jFrame = null;
private JPanel jContentPane = null;
private JMenuBar jJMenuBar = null;
private JMenu fileMenu = null;
private JMenu editMenu = null;
private JMenu helpMenu = null;
private JMenuItem exitMenuItem = null;
private JMenuItem aboutMenuItem = null;
private JMenuItem cutMenuItem = null;
private JMenuItem copyMenuItem = null;
private JMenuItem pasteMenuItem = null;
private JMenuItem saveMenuItem = null;
private JDialog aboutDialog = null;
private JPanel aboutContentPane = null;
private JLabel aboutVersionLabel = null;
private JScrollPane jScrollPane = null;
private Vector<String> header = new Vector<String>();
private Vector<String> data = new Vector<String>(); //  @jve:decl-index=0:

/**
 * This method initializes jFrame
 * 
 * @return javax.swing.JFrame
 */
private JFrame getJFrame() {
	if (jFrame == null) {
		jFrame = new JFrame();
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		jFrame.setJMenuBar(getJJMenuBar());
		jFrame.setSize(300, 200);
		jFrame.setContentPane(getJContentPane());
		jFrame.setTitle("Application");
	}
	return jFrame;
}

/**
 * This method initializes jContentPane
 * 
 * @return javax.swing.JPanel
 */

private JMenuItem jMenuItem = null;
private JTable jTable = null;

private JPanel getJContentPane() {
	if (jContentPane == null) {
		jContentPane = new JPanel();
		jContentPane.setLayout(new BorderLayout());
		jContentPane.add(getJScrollPane(), BorderLayout.CENTER);
	}
	return jContentPane;
}

/**
 * This method initializes jJMenuBar	
 * 	
 * @return javax.swing.JMenuBar	
 */
private JMenuBar getJJMenuBar() {
	if (jJMenuBar == null) {
		jJMenuBar = new JMenuBar();
		jJMenuBar.add(getFileMenu());
		jJMenuBar.add(getEditMenu());
		jJMenuBar.add(getHelpMenu());
	}
	return jJMenuBar;
}

/**
 * This method initializes jMenu	
 * 	
 * @return javax.swing.JMenu	
 */
private JMenu getFileMenu() {
	if (fileMenu == null) {
		fileMenu = new JMenu();
		fileMenu.setText("File");
		fileMenu.add(getJMenuItem());
		fileMenu.add(getSaveMenuItem());
		fileMenu.add(getExitMenuItem());
	}
	return fileMenu;
}

/**
 * This method initializes jMenu	
 * 	
 * @return javax.swing.JMenu	
 */
private JMenu getEditMenu() {
	if (editMenu == null) {
		editMenu = new JMenu();
		editMenu.setText("Edit");
		editMenu.add(getCutMenuItem());
		editMenu.add(getCopyMenuItem());
		editMenu.add(getPasteMenuItem());
	}
	return editMenu;
}

/**
 * This method initializes jMenu	
 * 	
 * @return javax.swing.JMenu	
 */
private JMenu getHelpMenu() {
	if (helpMenu == null) {
		helpMenu = new JMenu();
		helpMenu.setText("Help");
		helpMenu.add(getAboutMenuItem());
	}
	return helpMenu;
}

/**
 * This method initializes jMenuItem	
 * 	
 * @return javax.swing.JMenuItem	
 */
private JMenuItem getExitMenuItem() {
	if (exitMenuItem == null) {
		exitMenuItem = new JMenuItem();
		exitMenuItem.setText("Exit");
		exitMenuItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
	}
	return exitMenuItem;
}

/**
 * This method initializes jMenuItem	
 * 	
 * @return javax.swing.JMenuItem	
 */
private JMenuItem getAboutMenuItem() {
	if (aboutMenuItem == null) {
		aboutMenuItem = new JMenuItem();
		aboutMenuItem.setText("About");
		aboutMenuItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JDialog aboutDialog = getAboutDialog();
				aboutDialog.pack();
				Point loc = getJFrame().getLocation();
				loc.translate(20, 20);
				aboutDialog.setLocation(loc);
				aboutDialog.setVisible(true);
			}
		});
	}
	return aboutMenuItem;
}

/**
 * This method initializes aboutDialog	
 * 	
 * @return javax.swing.JDialog
 */
private JDialog getAboutDialog() {
	if (aboutDialog == null) {
		aboutDialog = new JDialog(getJFrame(), true);
		aboutDialog.setTitle("About");
		aboutDialog.setContentPane(getAboutContentPane());
	}
	return aboutDialog;
}

/**
 * This method initializes aboutContentPane
 * 
 * @return javax.swing.JPanel
 */
private JPanel getAboutContentPane() {
	if (aboutContentPane == null) {
		aboutContentPane = new JPanel();
		aboutContentPane.setLayout(new BorderLayout());
		aboutContentPane.add(getAboutVersionLabel(), BorderLayout.CENTER);
	}
	return aboutContentPane;
}

/**
 * This method initializes aboutVersionLabel	
 * 	
 * @return javax.swing.JLabel	
 */
private JLabel getAboutVersionLabel() {
	if (aboutVersionLabel == null) {
		aboutVersionLabel = new JLabel();
		aboutVersionLabel.setText("Version 1.0");
		aboutVersionLabel.setHorizontalAlignment(SwingConstants.CENTER);
	}
	return aboutVersionLabel;
}

/**
 * This method initializes jMenuItem	
 * 	
 * @return javax.swing.JMenuItem	
 */
private JMenuItem getCutMenuItem() {
	if (cutMenuItem == null) {
		cutMenuItem = new JMenuItem();
		cutMenuItem.setText("Cut");
		cutMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,
				Event.CTRL_MASK, true));
	}
	return cutMenuItem;
}

/**
 * This method initializes jMenuItem	
 * 	
 * @return javax.swing.JMenuItem	
 */
private JMenuItem getCopyMenuItem() {
	if (copyMenuItem == null) {
		copyMenuItem = new JMenuItem();
		copyMenuItem.setText("Copy");
		copyMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,
				Event.CTRL_MASK, true));
	}
	return copyMenuItem;
}

/**
 * This method initializes jMenuItem	
 * 	
 * @return javax.swing.JMenuItem	
 */
private JMenuItem getPasteMenuItem() {
	if (pasteMenuItem == null) {
		pasteMenuItem = new JMenuItem();
		pasteMenuItem.setText("Paste");
		pasteMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,
				Event.CTRL_MASK, true));
	}
	return pasteMenuItem;
}

/**
 * This method initializes jMenuItem	
 * 	
 * @return javax.swing.JMenuItem	
 */
private JMenuItem getSaveMenuItem() {
	if (saveMenuItem == null) {
		saveMenuItem = new JMenuItem();
		saveMenuItem.setText("Save");
		saveMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
				Event.CTRL_MASK, true));
	}
	return saveMenuItem;
}

/**
 * This method initializes jScrollPane	
 * 	
 * @return javax.swing.JScrollPane	
 */
private JScrollPane getJScrollPane() {
	if (jScrollPane == null) {
		jScrollPane = new JScrollPane();
		jScrollPane.setViewportView(getJTable());
	}
	return jScrollPane;
}

/**
 * This method initializes jTable	
 * 	
 * @return javax.swing.JTable	
 */

/**
 * This method initializes jMenuItem	
 * 	
 * @return javax.swing.JMenuItem	
 */
private JMenuItem getJMenuItem() {
	
				try {
					BufferedReader in = new BufferedReader(new FileReader("C:\\stundenplan.txt"));
					//				    	PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("Z:\\view.txt")));
					String line;
					Pattern p = Pattern.compile("\"(.*?)\"");//muster die es gesucht wird
					Matcher m;

					line = in.readLine();

					m = p.matcher(line);//Sucht den muster

					while (m.find()) {
						header.add(m.group(1));
					}

					while ((line = in.readLine()) != null) {

						m = p.matcher(line);

						while (m.find()) {

							data.add(m.group(1));
						}
					}
					in.close();
					//JLabel jEditorPane;
					//JLabel jEditorPane1 = null;
					//jEditorPane1.setText(wholeText);
					//				    	out.close();
					int hilf = 0;

					while (!data.isEmpty()) {
						jTable.setValueAt(data.elementAt(0), hilf / 7,
								hilf % 7);
						data.removeElementAt(0);
						hilf++;
					}

				} catch (IOException ex) {

				}

			}

			private Component getParent() {
				// TODO Auto-generated method stub
				return null;
			}
		});
	}
	return jMenuItem;
}

/**
 * This method initializes jTable	
 * 	
 * @return javax.swing.JTable	
 */
private JTable getJTable() {
	if (jTable == null) {

		jTable = new JTable();
		
	}
	return jTable;
}

/**
 * Launches this application
 */
//public static void main(String[] args) {
	//SwingUtilities.invokeLater(new Runnable() {
		//public void run() {
			//Homework6 application = new Homework6();
			//application.getJFrame().setVisible(true);
		//}
	//});
/}

}
[/b]

2 Respostas

keller

Hallo Frau Mychely,

Que tal colocar o codigo entre as tags [ code ] e [ /code ] vai ficar muito mais legivel.

Eu iria por partes nesse seu homework, criaria uma classe para parsear as linhas.

Cada linha parseada geraria um POJO e eu passaria uma List para a JTable.
http://www.javalobby.org/articles/jtable/

Espero que ajude.
Boa sorte! :thumbup:

Mychely

Hallo Herr Keller!

ah os tags…sou novata e nao sabia que tinha os tags…foi malll…:slight_smile:
…ajudou so que foi um pouquinho tarde demais…
alem do mais eu consigui ontem de uma outra maneira.

mas valeu pela ajuda. :slight_smile:

Mit freudlichen Grüßen
:slight_smile:

Criado 21 de novembro de 2007
Ultima resposta 22 de nov. de 2007
Respostas 2
Participantes 2