Probleme mit JTree

Status
Nicht offen für weitere Antworten.

Lenzen

Aktives Mitglied
Hallo,
ich bin dabei ein Programm zu schreiben was eine Weblog Datei auswertet die folgende Art von einträgen beinhaltet:

209.131.40.83 - - [02/May/4053:02:40:57 +0200] "GET /robots.txt HTTP/1.0" 404 - "-" "Foxtrott/5.0 (frieden; Ya...
80.137.184.168 - mmarkow [02/May/4053:02:40:57 +0200] "HEAD /abc/temp/hohl/Analysis%201%20(IN-B2)...
209.131.40.83 - - [02/May/4053:02:40:58 +0200] "GET / HTTP/1.0" 200 1425 "-" "Foxtrott/5.0 (frieden; Yahoo...
209.131.40.83 - - [02/May/4053:02:40:58 +0200] "GET /robots.txt HTTP/1.0" 404 - "-" "Foxtrott/5.0 (frieden; ...
80.137.184.168 - mmarkow [02/May/4053:02:40:58 +0200] "GET /abc/temp/hohl/Analysis%201%20(IN-B2)/...
80.137.184.168 - - [02/May/4053:02:40:58 +0200] "GET /robots.txt HTTP/1.0" 404 - "-" "Wget/1.9.1"

Hier möchte ich gern auf der linken Seite die IP Adressen untereinander in einem JTree haben und doppelte IP's sollen rausgefiltert werden.
Wenn ich jetzt auf eine IP Klicke soll auf der rechten Seite in meiner TextArea der Eintrag nach der IP stehen.
Das rechte und linke Seite werden duch eine SplittPane geteilt.

Im oberen Teil des Fenstern soll ebenfall nach einer IP Adresse im log File gesucht werden können.

Meine Probleme:
-> wie kann ich die linke Seite meiner SplittPane auf eine feste Größe einsellen, so dass ich nicht nach jedem Start der GUI das Fenster mit der Maus einstellen muss
-> wie bekomme ich hin, dass alle IP's nach dem Start, wenn ich in der Main der Instanz keine IP mitgebe schön in meinen JTree Baum integriert werden... da habe ich schon zich Stunden vergeblich versuch das zu schaffen ;)
-> ich weiß auch nicht wie ich es schaffe, wenn ich dann auf eine IP Adresse klicke, dass auf der rechten Seite der SplittPane der von der IP abgesplittete Inhalt steht

Hoffentlich kann mir hier jemand weiter helfen, denn bei google und go bin ich mit meinen Problemlösungen noch nicht weiter gekommen.

Mein Code bisher komplett:

Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JSplitPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit [url]www.cloudgarden.com[/url] for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class NewJFrame extends javax.swing.JFrame {
	private JMenuBar MenuLeiste;
	private JTextField jTextField1;
	private JMenu fileMenu1;
	private JMenuItem ExitMenuItem1;
	private JButton SearchButton1;
	private JLabel chooseLabel1;
	private JMenu fileMenue;
	private JSplitPane jSplitPane1;
	private JScrollPane jScrollPane1;
	private JMenuItem exitMenuItem1;
	private JSeparator jSeparator1;
	private JMenuItem openMenuItem1;
	private JTree jTree1;
	private String ip = "";
	private Scanner s;
	private FileWriter fstream;
	private BufferedWriter out;
	private Matcher mat = null;
	
	private static final long serialVersionUID = 1L;
	static String PATH = "d:\\Test\\weblog.log";
	static String OUTFILE = "d:\\Test\\TestWrite.txt";
	static String suchwort = "145.254.32.119";

	/**
	 * Auto-generated main method to display this JFrame
	 * @throws IOException 
	 * @throws FileNotFoundException 
	 */
	public static void main(String[] args) throws FileNotFoundException, IOException {
		NewJFrame inst = new NewJFrame("145.254.32.119");
		inst.setVisible(true);			
		inst.pack();
		inst.setSize(793, 646);
	}

	public NewJFrame(String ip) throws FileNotFoundException, IOException {
		super();		
		this.ip = ip;		
		initGUI(ip);
	}	

	private void initGUI(String ip)  throws FileNotFoundException, IOException  {
		this.s = new Scanner(new File(PATH));
		this.fstream = new FileWriter(OUTFILE);
		this.out = new BufferedWriter(fstream);
		
		setTitle("Search for IP Address in LogFiles");
		this.setLayout(null);
		
		try {
			// Close window
			setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			{
				jTextField1 = new JTextField();
				getContentPane().add(jTextField1);
				jTextField1.setText("");
				jTextField1.setBounds(7, 7, 462, 28);
			}
			{
				chooseLabel1 = new JLabel();
				getContentPane().add(chooseLabel1);
				chooseLabel1.setText("Choose the IP Address");
				chooseLabel1.setBounds(476, 7, 130, 28);
			}
			{
				SearchButton1 = new JButton();
				getContentPane().add(SearchButton1);
				SearchButton1.setText("Search");
				SearchButton1.setBounds(623, 7, 133, 28);
				SearchButton1.addActionListener(new Ereignis());
			}
			{
				jSplitPane1 = new JSplitPane();
				getContentPane().add(jSplitPane1);
				jSplitPane1.setBounds(7, 42, 770, 539);
				{
					JTextArea text = new JTextArea();						
					String zweiterTeil = "";
					while (s.hasNextLine()) {
						String str = s.nextLine();
						//if (str.startsWith(suchwort)) {
						if (str.startsWith(ip)) {
							// Ausgabe von IP+Seite
							//System.out.println(str);
							
							// Daten in Datei schreiben
							//out.write(str);
							//out.newLine();

							//Füllen der TextArea
							//jTextArea1.setText("sdlkjskdlvnlsdknvlksdnvl");
							//text.append(str);
							//text.append("\n");
														
							//2.Teil in TexArea fügen
							zweiterTeil = str.split("(\\d+)(\\.\\d+){3}")[1];
							text.append(zweiterTeil);
							text.append("\n");
					
							//text.setLineWrap(false); // Zeilenumbruch		
							mat = Pattern.compile("(\\d+)(\\.\\d+){3}").matcher(str);
							
							
						}						
					}

					jScrollPane1 = new JScrollPane(text);
					jSplitPane1.add(jScrollPane1, JSplitPane.RIGHT);				
					
						JFrame frame = new JFrame(); 						
						DefaultMutableTreeNode root=new DefaultMutableTreeNode("IP Adressen");  						
                                                //einfügen der IP Adressen in den Baum
						while(mat.find()){                	 
		                                     String ipAddress = mat.group(0).toString();  // temporärer string    		 
		                                     root.add(new DefaultMutableTreeNode(ipAddress));		                   
						}
						
						
						   jTree1 = new JTree(root);
						    frame.add( new JScrollPane( jTree1 ) ); 	
						    //frame.pack(); 
						    //frame.setVisible( true );
					 
					    jTree1.getSelectionModel().addTreeSelectionListener( 
					      new TreeSelectionListener() 
					      { 
					        public void valueChanged( TreeSelectionEvent e ) 
					        { 
					          TreePath path = e.getNewLeadSelectionPath(); 
					          System.out.println( path ); 
					        } 
					      } 
					    ); 
						jSplitPane1.add(jTree1, JSplitPane.LEFT);						
					
				}
			}
			{
				MenuLeiste = new JMenuBar();
				setJMenuBar(MenuLeiste);
				MenuLeiste.setPreferredSize(new java.awt.Dimension(785, 27));
				{
					fileMenu1 = new JMenu();
					MenuLeiste.add(fileMenu1);
					fileMenu1.setText("File");
					{
						openMenuItem1 = new JMenuItem();
						fileMenu1.add(openMenuItem1);
						openMenuItem1.setText("open");
						openMenuItem1.addActionListener(new Ereignis());
					}
					{
						jSeparator1 = new JSeparator();
						fileMenu1.add(jSeparator1);
					}
					{
						exitMenuItem1 = new JMenuItem();
						fileMenu1.add(exitMenuItem1);
						exitMenuItem1.setText("exit");
						exitMenuItem1.addActionListener(new Ereignis());
					}
				}

			}
			pack();
			setSize(793, 646);			
		} catch (Exception e) {
			e.printStackTrace();
		}
		//BufferedWriter schliessen
		try {
			out.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//Scanner schliessen
		s.close();
	}
	
	 public class Ereignis implements ActionListener {

		//Create a file chooser
		final JFileChooser fc = new JFileChooser("D:/Test");

		public void actionPerformed(ActionEvent e) {
			//Handle open button action.
			if (e.getSource() == openMenuItem1) {
				int returnVal = fc.showOpenDialog(NewJFrame.this);
				if (returnVal == JFileChooser.APPROVE_OPTION) {
					File file = fc.getSelectedFile();
					System.out.println(file.getAbsolutePath());
				} else
					System.out.println("Auswahl abgebrochen");

				//System.exit(1);
			}
			if (e.getSource() == exitMenuItem1) {
				//Close window			
				dispose();
				System.exit(0);
			}
			if (e.getSource() == SearchButton1) {
				ip = jTextField1.getText();
				System.out.println(ip);
				try {
					initGUI(ip);
				} catch (FileNotFoundException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			}
		}
	}
}

Ich hoffe, dass meine Komentare im Code hilfreich sind und freue mich gaaaaaanz doll über Hilfe.
 

Lenzen

Aktives Mitglied
Stimmt um dann auszuwerten auf welche IP geklickt wurde. Vielleicht hat jemand das schon gemacht und kann mir sagen wie ich das integieren kann.
Viel wichtiger ist aber wie ich den JTree mit unterschiedlichen IP's aufbaue. Daran bin ich echt verzweifelt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JTree Probleme AWT, Swing, JavaFX & SWT 9
C Swing JTree UI Probleme AWT, Swing, JavaFX & SWT 6
D Swing Probleme mi JTree & TreeModeln usw AWT, Swing, JavaFX & SWT 5
T Probleme mit JSplitPane, JScrollPane, JTree AWT, Swing, JavaFX & SWT 3
R Probleme mit JTree / setUserObject() AWT, Swing, JavaFX & SWT 4
C JTree bereitet große Probleme, kann uns bitte jemand helfen! AWT, Swing, JavaFX & SWT 6
K Probleme mit der Anzeige eines einzigen Nodes in einem JTree AWT, Swing, JavaFX & SWT 9
D JTree Drag and Drop / drop - Probleme AWT, Swing, JavaFX & SWT 4
G Probleme mit JTree: "pathByAddingChild" NPExceptio AWT, Swing, JavaFX & SWT 2
K Probleme mit Listener für JTree AWT, Swing, JavaFX & SWT 4
M JTree Probleme AWT, Swing, JavaFX & SWT 6
Juelin Probleme bei Stage.close() AWT, Swing, JavaFX & SWT 23
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
E repaint Probleme AWT, Swing, JavaFX & SWT 13
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
S GridBagLayout - Probleme mit Bilderanzeige AWT, Swing, JavaFX & SWT 3
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
J Probleme mit idividueller Tablecell AWT, Swing, JavaFX & SWT 0
D JavaFX Probleme beim nachtäglichen hinzufügen der jfx dependency AWT, Swing, JavaFX & SWT 7
J Probleme mit InputDialog AWT, Swing, JavaFX & SWT 4
D JavaFX TextArea Probleme bei langen Zeilen AWT, Swing, JavaFX & SWT 1
G JavaFX SplitPane Anwendung - Controller Probleme AWT, Swing, JavaFX & SWT 5
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
pph080560 JavaFX Probleme mit FX AWT, Swing, JavaFX & SWT 3
M Probleme mit OpenJDK AWT, Swing, JavaFX & SWT 6
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
L JavaFX Probleme beim Installieren JavaFX11 / JavaFX12 -- Eclipse 2019-03 AWT, Swing, JavaFX & SWT 3
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
H JFreeChart - DemoDataSetFactory Probleme AWT, Swing, JavaFX & SWT 1
H LayoutManager Probleme mit Positionierung/Abständen der Komponenten AWT, Swing, JavaFX & SWT 14
A Probleme mit gridheight (GridBagLayout) AWT, Swing, JavaFX & SWT 6
U Opaque Probleme AWT, Swing, JavaFX & SWT 3
H JavaFX Probleme Beim Wechseln der scene als .fxml AWT, Swing, JavaFX & SWT 7
F JavaFX Probleme beim automatischen Konvertieren AWT, Swing, JavaFX & SWT 4
S Probleme mit JComboboxen(?) AWT, Swing, JavaFX & SWT 18
S Swing Probleme mit MigLayout AWT, Swing, JavaFX & SWT 2
C Probleme mit createImage AWT, Swing, JavaFX & SWT 1
J Probleme mit contex Menu (javafx) AWT, Swing, JavaFX & SWT 1
J Probleme bei GameofLife AWT, Swing, JavaFX & SWT 24
S JavaFx - Button ActionEvent Probleme AWT, Swing, JavaFX & SWT 3
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 0
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 5
J LayoutManager GridBagLayout, probleme mit Anordnung von Objekten AWT, Swing, JavaFX & SWT 6
T Java FX Probleme beim befüllen eines Tableviews AWT, Swing, JavaFX & SWT 5
S AWT Probleme beim Zeichnen AWT, Swing, JavaFX & SWT 3
A Swing Probleme mit dem adden von JButtons zur JScrollPane AWT, Swing, JavaFX & SWT 2
D Swing Probleme mit dem Resizing AWT, Swing, JavaFX & SWT 7
G Probleme mit TextArea AWT, Swing, JavaFX & SWT 5
G JFrame Probleme AWT, Swing, JavaFX & SWT 2
K Probleme beim JPasswordField AWT, Swing, JavaFX & SWT 11
G Cardlayout Refresh Probleme AWT, Swing, JavaFX & SWT 2
J Swing Probleme mit ListSelectionListener(), Inhalte der JList werden gelöscht? AWT, Swing, JavaFX & SWT 6
D JavaFX Probleme bei Service-Klasse beim ändern der GUI AWT, Swing, JavaFX & SWT 8
K Probleme beim zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 1
M JButton Probleme AWT, Swing, JavaFX & SWT 14
L Probleme mit Programm AWT, Swing, JavaFX & SWT 13
blazingblade komischerweise probleme mit jtextfield.gettext() AWT, Swing, JavaFX & SWT 9
Xanny 2D-Grafik Beginner! Probleme mit Swing, Gprahics class und paint AWT, Swing, JavaFX & SWT 13
Sin137 LayoutManager GridBagLayout Probleme AWT, Swing, JavaFX & SWT 6
H Netbeans Designer: Probleme mit JPanel und JFrame AWT, Swing, JavaFX & SWT 2
M Swing Probleme mit Frame.pack() AWT, Swing, JavaFX & SWT 1
C Java FX Probleme beim Schließen einer Stage AWT, Swing, JavaFX & SWT 11
M Swing JProgressbar und Outoputstream probleme AWT, Swing, JavaFX & SWT 2
S Swing Probleme mit transparenz der Hintergrundfarbe und JRadioButtons AWT, Swing, JavaFX & SWT 2
Z Probleme mit JPanel's AWT, Swing, JavaFX & SWT 6
T Probleme mit Anzeige von Elementen im JPanel AWT, Swing, JavaFX & SWT 1
Shams Probleme bei dem Hinzufügen von Komponenten zu einem JFrame AWT, Swing, JavaFX & SWT 3
A Swing Probleme mit JScrollPane AWT, Swing, JavaFX & SWT 6
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
H Swing Probleme beim erstellen eines neuen Objektes durch einen Button AWT, Swing, JavaFX & SWT 10
J JavaFX JavaFX Probleme bei der Anzeige von Text AWT, Swing, JavaFX & SWT 18
A Probleme mit TilledBorder("***") AWT, Swing, JavaFX & SWT 4
F Bildschirmschoner Probleme mit Preview AWT, Swing, JavaFX & SWT 8
X Panel Probleme (Tetris) AWT, Swing, JavaFX & SWT 8
N JTable probleme AWT, Swing, JavaFX & SWT 5
B Probleme bei ImageIO.read (?!) AWT, Swing, JavaFX & SWT 9
P JFrame Location-/Size-Probleme AWT, Swing, JavaFX & SWT 5
U LayoutManager Probleme mit Layouts AWT, Swing, JavaFX & SWT 5
C 3 kleine Probleme... AWT, Swing, JavaFX & SWT 13
L NullpointerException und Probleme mit repaint() AWT, Swing, JavaFX & SWT 11
A Probleme mit 2 JFrames in einem Programm AWT, Swing, JavaFX & SWT 7
K LayoutManager Probleme mit 2 Komponenten AWT, Swing, JavaFX & SWT 9
C Probleme mit Buttons und einem ActionListener AWT, Swing, JavaFX & SWT 2
M Probleme mit Verkleinern eines GUI AWT, Swing, JavaFX & SWT 7
B Swing label.setText() macht probleme AWT, Swing, JavaFX & SWT 5
B ImageIcon - Probleme mit dem Dateipfad AWT, Swing, JavaFX & SWT 5
F Probleme mit (Graphics g) II AWT, Swing, JavaFX & SWT 4
F Probleme mit (Graphics g) AWT, Swing, JavaFX & SWT 3
K 2D-Grafik .GIF macht mir Probleme AWT, Swing, JavaFX & SWT 14
B Probleme bei Sortierung einer Tabelle mit DefaultTableModel AWT, Swing, JavaFX & SWT 6
T JTable Graphik probleme AWT, Swing, JavaFX & SWT 3
H GridBagLayout macht Probleme... AWT, Swing, JavaFX & SWT 4
vandread Swing Probleme mit jTextField im zusammenspiel mit einem Einblendeffekt (inkl. KSKB) AWT, Swing, JavaFX & SWT 6
S Swing Lauftext Performance Probleme, in größerer Anwendung AWT, Swing, JavaFX & SWT 6
B Infolabel Probleme mit Paint() ? AWT, Swing, JavaFX & SWT 8
P Probleme mit setIconImage AWT, Swing, JavaFX & SWT 8
U Swing Probleme mit Asynchronen Prozessen und Swing: AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben