Das sieht ja relativ einfach aus, aber kannst du mir das vielleicht in mein Quellcode mal einbinden? füge den mal mit dran. Hab das alles in einer Klasse und so muss erstmal die Funktionen gewährleisten die feinarbeiten mach ich dann noch.
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import java.awt.GridLayout;
import javax.swing.BorderFactory;
import javax.swing.border.BevelBorder;
import java.awt.FlowLayout;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JButton;
import javax.swing.SwingConstants;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JProgressBar;
import java.awt.Color;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
public class Action_Events
{
private JFrame jFrame = null; // @jve:decl-index=0:visual-constraint="89,11"
private JPanel jContentPane = null;
private JPanel jPanel = null;
private JPanel jPanel1 = null;
private JPanel jPanel7 = null;
private JPanel jPanel3 = null;
private JPanel jPanel2 = null;
private JPanel jPanel5 = null;
private JPanel jPanel6 = null;
private JPanel jPanel9 = null;
private JPanel jPanel10 = null;
private JPanel jPanel11 = null;
private JPanel jPanel12 = null;
private JPanel jPanel13 = null;
private JPanel jPanel8 = null;
private JLabel jLabelHeadline = null;
private JLabel jLabelTyp = null;
private JLabel jLabelSid = null;
private JTextField jTextFieldSid = null;
private JLabel jLabelUser = null;
private JComboBox jComboBoxTyp = null;
private JTextField jTextFieldUser = null;
private JLabel jLabelDate = null;
private JLabel jLabelVon = null;
private JTextField jTextFieldVon = null;
private JLabel jLabelBis = null;
private JTextField jTextFieldBis = null;
private JButton jButtonAbfrage = null;
private JPanel jPanel4 = null;
private JButton jButtonSpeichern = null;
private JButton jButtonDrucken = null;
private JProgressBar jProgressBar = null;
private File DateiName; //in dieser Variable wird der Name der durch den Dateidialog zum öffnen/speichern ausgewählten Datei gespeichert.
private Object knopf; //die Variable wird später im Knopfwächter verwendet und dort erklärt
private BufferedReader in; //das Objekt, das später die Datei ausliest.
// private JTextArea ta; //das Haupttextfeld zum editieren, lesen etc.
private JFileChooser openFile ; //das Objekt, das für die Dateidialoge zum Öffnen und Speichern zuständig ist.
private JMenuItem open = new JMenuItem("öffnen");
private JScrollPane jScrollPane = null;
private JTextArea jTextArea;
/**
* Laden einer Datei in ein TextField
*/
public Action_Events()
{
//jFrame.add(new JScrollPane(ta = new JTextArea(18,35))); //die JTextArea wird durch 'new JScrollPane()' mit Scrollbalken versehen.
openFile = new JFileChooser(); //die Dateidialoge zum Öffnen und Speichern werden 'erstellt'
openFile.setCurrentDirectory(new File(".")); //das Ausgangsverzeichnis der Dialoge ist das Verzeichnis in dem das Programm läuft
}
class OpenFile implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
knopf = e.getSource(); //knopf enthällt jetzt den Namen der Klickquelle
//------
if(knopf==open)
{
String lesen;
if(openFile.showOpenDialog(jFrame)==0)//Dialog liefert 0 zurück wenn er nicht abgebrochen wurde.
{
jTextArea.setEditable(false);
jTextArea.setText("");
DateiName = openFile.getSelectedFile(); //der im Dialog ausgesuchte File wird gespeichert.
try
{
in = new BufferedReader(new FileReader(DateiName)); //Öffnen
while((lesen=in.readLine())!=null)
{
jTextArea.append(lesen+"\r\n");
}
in.close(); //Datei schließen
}
catch(Exception ex1){System.out.println(ex1);} //falls etwas schief gegangen ist, gibt das Programm den Grund über die Konsole aus.
}
else
{
JOptionPane.showMessageDialog(jFrame,"Keine Datei zum Öffnen gewählt!","ÖFFNEN",JOptionPane.ERROR_MESSAGE);
}
}
}
}
/**
* Methode zum aufrufen in der LfaMain Klasse
* zum anzeigen des Fensters
*/
public void zeigeFrame() {
this.getJFrame();
jFrame.setVisible(true);
}
/**
* This method initializes jFrame
*
* @return javax.swing.JFrame
*/
private JFrame getJFrame()
{
// Action Events für den Aufruf in der Menübar
/**
* Action Event für das Info Fenster
*/
ActionListener inf = new ActionListener()
{
public void actionPerformed( ActionEvent e )
{
JOptionPane.showMessageDialog(null, "Hier folgen bald einige Info's!!");
}
};
/**
* Action Event um das Programm zu beenden
*/
ActionListener clos = new ActionListener()
{
public void actionPerformed( ActionEvent e )
{
System.exit(0);
}
};
/**
* Action Event um Formular für suche sichtbar zu machen
*/
ActionListener sea = new ActionListener()
{
public void actionPerformed( ActionEvent e )
{
jLabelTyp.setVisible(false);
jLabelDate.setVisible(false);
jLabelSid.setVisible(false);
jLabelVon.setVisible(false);
jLabelBis.setVisible(false);
jLabelUser.setVisible(false);
jComboBoxTyp.setVisible(false);
jTextFieldSid.setVisible(false);
jTextFieldVon.setVisible(false);
jTextFieldBis.setVisible(false);
jTextFieldUser.setVisible(false);
jButtonAbfrage.setVisible(false);
}
};
/**
* Erzeugen der Menübar
*/
JMenuBar menuBar = new JMenuBar(); //Erzeugen der Menübar
JMenu datei = new JMenu("Datei"); //Erzeugen des Menüpunktes Datei
JMenu bearbeiten = new JMenu("Bearbeiten"); //Erzeugen des Menüpunktes Bearbeiten
JMenu info = new JMenu("Hilfe"); //Erzeugen des Menüpunktes Info
menuBar.add(datei);
JMenuItem close = new JMenuItem("schließen");
datei.add(open);
open.addActionListener(new OpenFile()); //Listener Registrieren
datei.add(close);
close.addActionListener(clos);
menuBar.add(bearbeiten);
JMenuItem search = new JMenuItem("suchen");
bearbeiten.add(search);
search.addActionListener(sea);
menuBar.add(info);
JMenuItem hilfe = new JMenuItem("Info");
info.add(hilfe);
hilfe.addActionListener(inf);
if(jFrame == null)
{
jFrame = new JFrame();
jFrame.setSize(new Dimension(486, 371));
jFrame.setTitle("LogFile Analyser");
jFrame.setContentPane(getJContentPane());
jFrame.setJMenuBar(menuBar); //Menübar dem Fenster zuweisen
// SwingTools.centerWindow(jFrame);
}
return jFrame;
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane()
{
if(jContentPane == null)
{
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJPanel(), BorderLayout.CENTER);
jContentPane.add(getJPanel1(), BorderLayout.NORTH);
jContentPane.add(getJPanel4(), BorderLayout.SOUTH);
}
return jContentPane;
}
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel()
{
if(jPanel == null)
{
GridLayout gridLayout2 = new GridLayout();
gridLayout2.setRows(1);
jPanel = new JPanel();
jPanel.setLayout(gridLayout2);
jPanel.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
jPanel.add(getJScrollPane(), null);
}
return jPanel;
}
/**
* This method initializes jPanel1
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel1()
{
if(jPanel1 == null)
{
GridLayout gridLayout = new GridLayout();
gridLayout.setRows(4);
gridLayout.setColumns(2);
jPanel1 = new JPanel();
jPanel1.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
jPanel1.setBackground(new Color(238, 238, 238));
jPanel1.setLayout(gridLayout);
jPanel1.add(getJPanel7(), null);
jPanel1.add(getJPanel2(), null);
jPanel1.add(getJPanel5(), null);
jPanel1.add(getJPanel6(), null);
}
return jPanel1;
}
/**
* This method initializes jPanel7
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel7()
{
if(jPanel7 == null)
{
GridLayout gridLayout1 = new GridLayout();
gridLayout1.setRows(1);
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints2.fill = GridBagConstraints.VERTICAL;
gridBagConstraints2.gridy = -1;
gridBagConstraints2.weightx = 1.0;
gridBagConstraints2.gridx = -1;
jPanel7 = new JPanel();
jPanel7.setLayout(gridLayout1);
jPanel7.add(getJPanel3(), null);
}
return jPanel7;
}
/**
* This method initializes jPanel3
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel3()
{
if(jPanel3 == null)
{
jLabelHeadline = new JLabel();
jLabelHeadline.setText("LogFile Analyser");
jLabelHeadline.setFont(new Font("Dialog",Font.ITALIC, 20));
jPanel3 = new JPanel();
jPanel3.setLayout(new FlowLayout());
jPanel3.setBackground(new Color(238, 238, 238));
jPanel3.add(jLabelHeadline, null);
}
return jPanel3;
}
/**
* This method initializes jPanel2
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel2()
{
if(jPanel2 == null)
{
GridLayout gridLayout1 = new GridLayout();
gridLayout1.setRows(1);
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints2.fill = GridBagConstraints.VERTICAL;
gridBagConstraints2.gridy = -1;
gridBagConstraints2.weightx = 1.0;
gridBagConstraints2.gridx = -1;
jPanel2 = new JPanel();
jPanel2.setLayout(gridLayout1);
jPanel2.add(getJPanel9(), null);
jPanel2.add(getJPanel8(), null);
}
return jPanel2;
}
/**
* This method initializes jPanel5
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel5()
{
if(jPanel5 == null)
{
GridLayout gridLayout1 = new GridLayout();
gridLayout1.setRows(1);
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints2.fill = GridBagConstraints.VERTICAL;
gridBagConstraints2.gridy = -1;
gridBagConstraints2.weightx = 1.0;
gridBagConstraints2.gridx = -1;
jPanel5 = new JPanel();
jPanel5.setLayout(gridLayout1);
jPanel5.add(getJPanel10(), null);
jPanel5.add(getJPanel11(), null);
}
return jPanel5;
}
/**
* This method initializes jPanel6
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel6()
{
if(jPanel6 == null)
{
GridLayout gridLayout1 = new GridLayout();
gridLayout1.setRows(1);
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints2.fill = GridBagConstraints.VERTICAL;
gridBagConstraints2.gridy = -1;
gridBagConstraints2.weightx = 1.0;
gridBagConstraints2.gridx = -1;
jPanel6 = new JPanel();
jPanel6.setLayout(gridLayout1);
jPanel6.add(getJPanel12(), null);
jPanel6.add(getJPanel13(), null);
}
return jPanel6;
}
/**
* This method initializes jPanel9
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel9()
{
if(jPanel9 == null)
{
jLabelTyp = new JLabel();
jLabelTyp.setText("Typ: ");
jPanel9 = new JPanel();
jPanel9.setLayout(new FlowLayout());
jPanel9.add(jLabelTyp, null);
jPanel9.add(getJComboBoxTyp(), null);
}
return jPanel9;
}
/**
* This method initializes jPanel10
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel10()
{
if(jPanel10 == null)
{
jLabelSid = new JLabel();
jLabelSid.setText("SID: ");
jPanel10 = new JPanel();
jPanel10.setLayout(new FlowLayout());
jPanel10.add(jLabelSid, null);
jPanel10.add(getJTextFieldSid(), null);
}
return jPanel10;
}
/**
* This method initializes jPanel11
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel11()
{
if(jPanel11 == null)
{
jLabelBis = new JLabel();
jLabelBis.setText(" bis");
jLabelVon = new JLabel();
jLabelVon.setText(" von:");
jPanel11 = new JPanel();
jPanel11.setLayout(new FlowLayout());
jPanel11.add(jLabelVon, null);
jPanel11.add(getJTextFieldVon(), null);
jPanel11.add(jLabelBis, null);
jPanel11.add(getJTextFieldBis(), null);
}
return jPanel11;
}
/**
* This method initializes jPanel12
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel12()
{
if(jPanel12 == null)
{
jLabelUser = new JLabel();
jLabelUser.setText("Benutzer:");
jPanel12 = new JPanel();
jPanel12.setLayout(new FlowLayout());
jPanel12.add(jLabelUser, null);
jPanel12.add(getJTextFieldUser(), null);
}
return jPanel12;
}
/**
* This method initializes jPanel13
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel13()
{
if(jPanel13 == null)
{
jPanel13 = new JPanel();
jPanel13.setLayout(new FlowLayout());
jPanel13.add(getJButtonAbfrage(), null);
}
return jPanel13;
}
/**
* This method initializes jPanel8
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel8()
{
if(jPanel8 == null)
{
jLabelDate = new JLabel();
jLabelDate.setText("Datum/Zeit: ");
jPanel8 = new JPanel();
jPanel8.setLayout(new FlowLayout());
jPanel8.add(jLabelDate, null);
}
return jPanel8;
}
/**
* This method initializes jTextFieldSid
*
* @return javax.swing.JTextField
*/
private JTextField getJTextFieldSid()
{
if(jTextFieldSid == null)
{
jTextFieldSid = new JTextField(13);
jTextFieldSid.setColumns(13);
jTextFieldSid.setText("");
}
return jTextFieldSid;
}
/**
* This method initializes jComboBoxTyp
*
* @return javax.swing.JComboBox
*/
private JComboBox getJComboBoxTyp()
{
if(jComboBoxTyp == null)
{
//ComboBox mit Strings
jComboBoxTyp = new JComboBox(new Object[]
{
"<<Bitte auswählen>>",
"STATS"
});
jComboBoxTyp.setSelectedIndex(0);
jComboBoxTyp.setName("");
jComboBoxTyp.setToolTipText("");
jComboBoxTyp.setFont(new Font("Dialog", Font.BOLD, 11));
jComboBoxTyp.setPreferredSize(new Dimension(145, 20));
}
return jComboBoxTyp;
}
/**
* This method initializes jTextFieldUser
*
* @return javax.swing.JTextField
*/
private JTextField getJTextFieldUser()
{
if(jTextFieldUser == null)
{
jTextFieldUser = new JTextField(13);
}
return jTextFieldUser;
}
/**
* This method initializes jTextFieldVon
*
* @return javax.swing.JTextField
*/
private JTextField getJTextFieldVon()
{
if(jTextFieldVon == null)
{
jTextFieldVon = new JTextField(6);
}
return jTextFieldVon;
}
/**
* This method initializes jTextFieldBis
*
* @return javax.swing.JTextField
*/
private JTextField getJTextFieldBis()
{
if(jTextFieldBis == null)
{
jTextFieldBis = new JTextField(6);
}
return jTextFieldBis;
}
/**
* This method initializes jButtonAbfrage
*
* @return javax.swing.JButton
*/
private JButton getJButtonAbfrage()
{
if(jButtonAbfrage == null)
{
jButtonAbfrage = new JButton();
jButtonAbfrage.setText("Abfrage starten");
jButtonAbfrage.setFont(new Font("Dialog", Font.BOLD, 12));
}
return jButtonAbfrage;
}
/**
* This method initializes jPanel4
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel4()
{
if(jPanel4 == null)
{
GridLayout gridLayout1 = new GridLayout();
gridLayout1.setRows(4);
gridLayout1.setColumns(2);
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints2.fill = GridBagConstraints.VERTICAL;
gridBagConstraints2.gridy = -1;
gridBagConstraints2.weightx = 1.0;
gridBagConstraints2.gridx = -1;
jPanel4 = new JPanel();
jPanel4.setLayout(new FlowLayout());
jPanel4.add(getJButtonSpeichern(), null);
jPanel4.add(getJButtonDrucken(), null);
jPanel4.add(getJProgressBar(), null);
}
return jPanel4;
}
/**
* This method initializes jButtonSpeichern
*
* @return javax.swing.JButton
*/
private JButton getJButtonSpeichern()
{
if(jButtonSpeichern == null)
{
jButtonSpeichern = new JButton();
jButtonSpeichern.setName("");
jButtonSpeichern.setText("speichern");
jButtonSpeichern.setFont(new Font("Dialog", Font.BOLD, 10));
jButtonSpeichern.setPreferredSize(new Dimension(85, 15));
jButtonSpeichern.setMnemonic(KeyEvent.VK_UNDEFINED);
jButtonSpeichern.setVerticalAlignment(SwingConstants.CENTER);
jButtonSpeichern.setHorizontalAlignment(SwingConstants.CENTER);
}
return jButtonSpeichern;
}
/**
* This method initializes jButtonDrucken
*
* @return javax.swing.JButton
*/
private JButton getJButtonDrucken()
{
if(jButtonDrucken == null)
{
jButtonDrucken = new JButton();
jButtonDrucken.setText("drucken");
jButtonDrucken.setPreferredSize(new Dimension(74, 15));
jButtonDrucken.setMnemonic(KeyEvent.VK_UNDEFINED);
jButtonDrucken.setFont(new Font("Dialog", Font.BOLD, 10));
}
return jButtonDrucken;
}
/**
* This method initializes jProgressBar
*
* @return javax.swing.JProgressBar
*/
private JProgressBar getJProgressBar()
{
if(jProgressBar == null)
{
jProgressBar = new JProgressBar();
jProgressBar.setPreferredSize(new Dimension(150, 10));
jProgressBar.setIndeterminate(true); //Anzeige des Laufbalken der JProgressBar
}
return jProgressBar;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane()
{
if(jScrollPane == null)
{
jScrollPane = new JScrollPane();
jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jScrollPane.setViewportView(getJTextArea());
}
return jScrollPane;
}
/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea()
{
if(jTextArea == null)
{
jTextArea = new JTextArea();
}
return jTextArea;
}
}
Klasse zum ausführen des Fensters:
public class start
{
Action_Events theFactory = new Action_Events();
public void machma() {
theFactory.zeigeFrame();
}
public static void main(String args[]) //Klassenoperation main
{
start application = new start();
application.machma();
}
}
Vielen Dank währe echt super von dir, die JTable fehlt halb noch aber das Ergebnis kann man sich ja auch vorrübergehnd in der JTextArea anzeigen lassen.