Bei Klick Code ausführen

Hallo,

Ich habe nun einige Seiten im Internet Durchglesen und noch keine passende Lößung gefunden.

Ich will wenn ich auf einen JButten Klicke das ein Code ausgeführt wird.

Das Poblem, der Code öffnent einen FileChooser und soll dann den Pfad einer Datei zurückliefern.
 
M

Marcinek

Gast
Code / Fehlermeldungen?

Nach 30 Postings solltest du doch wissen, wie das hier läuft?
 
Der fehler ist, dass er im FileChooser die Variablen SspPfad, SspTree und fenster als Final setzen will (was nicht sein darf).

So hier der Code
Java:
import java.awt.Component;
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.filechooser.FileFilter;

import jxl.JXLException;

public class Tool {
	/**
	 * @param args
	 * @throws IOException 
	 * @throws JXLException 
	 */
	
	public static void main(String[] args) throws IOException, JXLException {
		

	String SSPTree = "";
	
		JFrame fenster = new JFrame("GridLayout");
		fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container c = fenster.getContentPane();
		GridBagLayout gbl = new GridBagLayout();
		c.setLayout(gbl);
		fenster.setTitle("SSP-Dialog Vergleichstool v1.0");
		
		JTextField SspPfad = new JTextField();
		JTextField DialogPfad = new JTextField();
        JTextField StopPfad = new JTextField();
	    
	    JButton SspDurchsuchen = new JButton("Durchsuchen");
	    SspDurchsuchen.addActionListener(new ActionListener() {
	        public void actionPerformed(ActionEvent e) {
	   
	        	JFileChooser chooser = new JFileChooser();
	  		  chooser.addChoosableFileFilter(new FileFilter() {
	  		    public boolean accept(File f) {
	  		      if (f.isDirectory()) return true;
	  		      return f.getName().toLowerCase().endsWith(".xls");
	  		    }
	  		    public String getDescription () { return ".xls"; }  
	  		  });
	  		  chooser.setMultiSelectionEnabled(false);
	  		  if (chooser.showOpenDialog(fenster) == 
	  		                                JFileChooser.APPROVE_OPTION)
	  			  SSPTree = chooser.getSelectedFile().getAbsolutePath();
	  			  System.out.println ("Datei "+chooser.getSelectedFile()+
	  		                        " ausgewählt.");
	  		
	  		SspPfad.setText(SSPTree); 
	        	
	        	
	        }
	      });
	    JButton DialogDurchsuchen = new JButton ("Durchsuchen");
	    JButton StopDurchsuchen = new JButton("Durchsuchen");
	    JButton Ausfuhren = new JButton("Ausführen");
	    
	   	    
	    JLabel SspText = new JLabel("SSP:");
	    JLabel DialogText = new JLabel("Dialog:");
	    JLabel StopText = new JLabel("Stopliste:");
	    
	    JLabel Titel = new JLabel("Bitte wählen Sie entsprechende Dateien aus");

		
	    addComponent( c, gbl, Titel, 0, 0, 3, 1, 1.0  , 0 );
	    addComponent( c, gbl, SspText, 0, 1, 1, 1, 0  , 0 );
	    addComponent( c, gbl, SspPfad, 1, 1, 1, 1, 1.0  , 0 );
	    addComponent( c, gbl, SspDurchsuchen, 2, 1, 1, 1, 0  , 0 );
	    addComponent( c, gbl, DialogText, 0, 2, 1, 1, 0  , 0 );
	    addComponent( c, gbl, DialogPfad, 1, 2, 1, 1, 1.0  , 0 );
	    addComponent( c, gbl, DialogDurchsuchen, 2, 2, 1, 1, 0  , 0 );
	    addComponent( c, gbl, StopText, 0, 3, 1, 1, 0  , 0 );
	    addComponent( c, gbl, StopPfad, 1, 3, 1, 1, 1.0  , 0 );
	    addComponent( c, gbl, StopDurchsuchen, 2, 3, 1, 1, 0  , 0 );
	    addComponent( c, gbl, Ausfuhren, 2, 4, 1, 1, 0  , 0 );
	    
		fenster.setSize(400,200);
		fenster.setVisible(true);
		}
}
 

jgh

Top Contributor
wenn du nicht alles in der main-Methode machen würdest, deine Variablen entsprechend deklarierst und initialisierst, dann klappt das auch mit den Nachbarn...hier mal andeutungsweise:

Java:
import java.awt.Component;
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.filechooser.FileFilter;

public class Tool {
	/**
	 * @param args
	 * @throws IOException
	 * @throws JXLException
	 */

	public static void main(String[] args) throws IOException {
		new Tool();
	}

	private String SSPTree = "";
	private JFrame fenster;

	public Tool() {

		fenster = new JFrame("GridLayout");
		fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Container c = fenster.getContentPane();
		GridBagLayout gbl = new GridBagLayout();
		c.setLayout(gbl);
		fenster.setTitle("SSP-Dialog Vergleichstool v1.0");

		JTextField SspPfad = new JTextField();//ob diese Variablen nur hier(im Konstruktor) benötigt werden
		JTextField DialogPfad = new JTextField();//...ist sicherlich fraglich ;)
		JTextField StopPfad = new JTextField();

		JButton SspDurchsuchen = new JButton("Durchsuchen");
		SspDurchsuchen.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {

				JFileChooser chooser = new JFileChooser();
				chooser.addChoosableFileFilter(new FileFilter() {
					public boolean accept(File f) {
						if (f.isDirectory())
							return true;
						return f.getName().toLowerCase().endsWith(".xls");
					}

					public String getDescription() {
						return ".xls";
					}
				});
				chooser.setMultiSelectionEnabled(false);
				if (chooser.showOpenDialog(fenster) == JFileChooser.APPROVE_OPTION)
					SSPTree = chooser.getSelectedFile().getAbsolutePath();
				System.out.println("Datei " + chooser.getSelectedFile()
						+ " ausgewählt.");

				SspPfad.setText(SSPTree);

			}
		});
//usw
 
Zuletzt bearbeitet:
ok ich wette das kommt euch bescheuert vor, jedoch wird bei mir die methode nciht ausgeführt? reicht es nur
Java:
new Methode
zu schreiben?
 
M

Marcinek

Gast
Sorry, das Forum ist nicht für die basics der Grundlagen da.

Nimm ein Buch oder google danach, wie man Methoden aufruft.
 

Final_Striker

Top Contributor
ok ich wette das kommt euch bescheuert vor, jedoch wird bei mir die methode nciht ausgeführt? reicht es nur

Unter dem Codebeispiel stand ja "usw...". D.h. das der Code nicht komplett ist. Wahrscheinlich hast du

Java:
        fenster.setSize(400,200);
        fenster.setVisible(true);

vergessen. Ohne das, wird das Fenster nicht angezeigt.

Java:
new Tool();

Hier wird keine Methode ausgeführt, sondern der Konstruktor der Klasse Tool aufgerufen und ein neues Objekt von Typ Tool erzeugt.

Kannst auch z.B. so schreiben, vielleicht wird es dann klarer.

Java:
Tool myTool = new Tool();
 
Zuletzt bearbeitet:

irgendjemand

Top Contributor
@TO
aber selbst mal ein grundlagenbuch durchzulesen und google zu fragen ist nicht deine stärke oder ?
wie bereits an anderen stellen und gegenüber anderen usern erwähnt


dieses forum ist NICHT dazu da um anfänger die grundlagen bei zu bringen sondern bei konkreten problemen mit detailierten fehlerbeschreibungen und passenden codes hilfestellung zur problemlösung zu bieten ...

da du wirklich NULL eigeninitiative zeigst ... und scheinbar das was du selbst im netz findest nicht verstehst ... fang erstmal z.b. hier mit an : Galileo Computing :: Java ist auch eine Insel - index
alternativ haben hier bestimmt noch einige andere user auch andere vorschläge zu grundlagen-büchern ...

wenn du dann beim durcharbeiten bei bestimmten dingen probleme hast kann man mal drüber nachdenken diese hier zu lösen ... aber bitte : nutze VORHER google und die SuFu ... denn ein großteil der fragen die du hier stellst werden entweder in anfänger-büchern behandelt oder findet man zu tausenden im netz ... aber erwarte NICHT das sich hier jemand die freizeit nimmt und dir privat unterricht gibt ... dafür melde dich bitte in der jobbörse ...
 

irgendjemand

Top Contributor
... und zudem gehört ein solcher Thread (wenn überhaupt) dann schon ins Java Basics - Anfänger-Themen Unterforum!!!

da kann man sich nun drüber streiten ob GUI-eventhandling zu den basics gehört ...
würde schon sagen das das thema hier besser aufgehoben ist ...
aber der sinn deiner antwort ist mir auch klar : grundlagen *gerade für anfänger und neulinge *teils auch umsteiger aus anderen sprachen** gehören ins basics-forum ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Swing Buttons erst nach Klick sichtbar AWT, Swing, JavaFX & SWT 13
S JavaFx Zufallsfarbe beim Button-Klick AWT, Swing, JavaFX & SWT 22
H Swing Auf Klick auf Menü-Eintrag reagieren AWT, Swing, JavaFX & SWT 0
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
A Inhalt wechseln bei Klick auf Label AWT, Swing, JavaFX & SWT 8
S Ausgabe aktualisiert sich nur nach 2. Klick AWT, Swing, JavaFX & SWT 17
T Swing Änderung des ActionListener Events nach Klick auf JButton AWT, Swing, JavaFX & SWT 2
Neumi5694 Swing JList - Klick abfangen AWT, Swing, JavaFX & SWT 3
it_is_all JPanel verschwindet nach Button-Klick AWT, Swing, JavaFX & SWT 2
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
A JavaFX Nur ein Klick Button AWT, Swing, JavaFX & SWT 3
J Fensterinhalt bei Klick auf Menüitem wechseln AWT, Swing, JavaFX & SWT 1
stylegangsta JLabel durch Klick auf JButton einblenden AWT, Swing, JavaFX & SWT 16
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
A Zufallsgenerator starten bei Klick auf Radiobutton AWT, Swing, JavaFX & SWT 3
R AWT AWT Textfeld durch Klick auf Button erstellen? AWT, Swing, JavaFX & SWT 3
1 JButton nach Klick ausblenden AWT, Swing, JavaFX & SWT 6
W Bei Button-klick neuen button in array hinzufügen AWT, Swing, JavaFX & SWT 7
P Swing Klick in Tabelle nicht möglich AWT, Swing, JavaFX & SWT 0
P Swing JTable keine Markierung nach Button klick AWT, Swing, JavaFX & SWT 0
C Bei Btn Klick zwei JPanels switchen AWT, Swing, JavaFX & SWT 14
A Swing bei Auswahl und klick eines JComboBox buttons die Klasse eines anderen Projekts aufrufen AWT, Swing, JavaFX & SWT 3
N Swing JTable mit Sorter: Keine Sortierung bei Klick in Header AWT, Swing, JavaFX & SWT 3
F Swing JTextfield Beispieltext soll nach Klick verschwinden AWT, Swing, JavaFX & SWT 3
T JXTreeTable mit Klick auf TreeNode erweitern AWT, Swing, JavaFX & SWT 12
J Zwei GUIs - Nach button-Klick soll ein Wert an die andere GUI übergeben werden AWT, Swing, JavaFX & SWT 15
J Button soll nach Klick Text ändern und Programm in 3 Sekunden beenden AWT, Swing, JavaFX & SWT 6
H Swing Button Klick soll "Untermenü-Buttons" erzeugen AWT, Swing, JavaFX & SWT 2
S Gif beim Klick nicht unterbrechen AWT, Swing, JavaFX & SWT 3
S Ausschluss bei Klick auf GUI Element AWT, Swing, JavaFX & SWT 6
M JPopupMenu per Klick schließen und gleichzeitig ActionEvent auf JButton? AWT, Swing, JavaFX & SWT 15
Z Bei Klick auf JButton soll ein anderer JButton erscheinen AWT, Swing, JavaFX & SWT 4
D JTree node reagiert bei Klick nicht immer AWT, Swing, JavaFX & SWT 2
D Bei Klick zeichnen AWT, Swing, JavaFX & SWT 13
L Swing Flackern in Frame bei erstem Klick AWT, Swing, JavaFX & SWT 19
Madlip SWT Tree mit einen Klick alles ausklappen AWT, Swing, JavaFX & SWT 3
D JTree nach Klick auf einen Hyperlink aktualisieren AWT, Swing, JavaFX & SWT 3
H Bilder auf Buttons per Klick tauschen ( Puzzle ) AWT, Swing, JavaFX & SWT 8
T Puzzle Klick tausch AWT, Swing, JavaFX & SWT 3
A Swing Herausfinden ob bei JTree Klick auf "+"/"-" anahnd x,y AWT, Swing, JavaFX & SWT 2
C jComboBox in jTable ohne Klick öffnen AWT, Swing, JavaFX & SWT 4
S JMenuBar nach 1. Klick deselectieren AWT, Swing, JavaFX & SWT 6
T Demo klick gui erstellen und fenster verlinken AWT, Swing, JavaFX & SWT 5
S JDesktopPane bei Button-Klick anzeigen geht nicht AWT, Swing, JavaFX & SWT 5
multiholle Button bei Klick entfernen AWT, Swing, JavaFX & SWT 3
W Klick in JTextfield AWT, Swing, JavaFX & SWT 6
M animiertes Bild nach Klick auf Button AWT, Swing, JavaFX & SWT 3
H Swing Tabelle nach Klick auf Button mit Daten füllen? AWT, Swing, JavaFX & SWT 2
M JList von Beginn an sortiert nach Spalte ohne Klick? AWT, Swing, JavaFX & SWT 2
L Klick auf JTable -> EditorPane manipulieren, Fragen zu TableModel AWT, Swing, JavaFX & SWT 9
T Ordner öffnen nach Klick auf einen Button AWT, Swing, JavaFX & SWT 3
D 1 klick auf button1 und 1 klick auf button2 und passiert was AWT, Swing, JavaFX & SWT 7
X SWT Oberflächenwechsel bei Button-Klick AWT, Swing, JavaFX & SWT 2
S Zeichnen nach button-klick. AWT, Swing, JavaFX & SWT 4
E Zelle in JTable nach klick markieren AWT, Swing, JavaFX & SWT 2
N Herkunft des Fokus erkennbar (via Klick oder Tab-Steuerung)? AWT, Swing, JavaFX & SWT 4
C Aktion durchführen bei Klick auf ein Element im JTree (Untersch. Klick und Doppklick) AWT, Swing, JavaFX & SWT 5
S Swing Bei Klick auf OK Daten übergeben AWT, Swing, JavaFX & SWT 6
F JButton reagiert erst beim 2 klick AWT, Swing, JavaFX & SWT 8
A Swing JTextField - vorausgefüllt bei klick leer AWT, Swing, JavaFX & SWT 54
B Inhalt von JTextField durch Klick auf JButton in JLabel anzeigen lassen AWT, Swing, JavaFX & SWT 8
Daniel_L JTable - Links-rechts-Klick ist gleich Doppelklick? AWT, Swing, JavaFX & SWT 2
S JComboBox in JTable wird erst nach klick angezeigt AWT, Swing, JavaFX & SWT 2
L JFrame-Verhalten bei Klick auf Schließen-Kreuz ändern AWT, Swing, JavaFX & SWT 3
GilbertGrape JTable mit Combobox-Editierung schon nach einem Klick AWT, Swing, JavaFX & SWT 7
M Ausgabe nach Klick auf JButton funktioniert nicht. AWT, Swing, JavaFX & SWT 6
R Text löchen bei Klick auf editierbare Combobox AWT, Swing, JavaFX & SWT 4
S Jtree-Icon per Klick auf JBUTTON ändern AWT, Swing, JavaFX & SWT 3
G JList, Deselect per Klick AWT, Swing, JavaFX & SWT 5
A Bei Klick auf disabled JMenuItem JMenu nicht schließen AWT, Swing, JavaFX & SWT 2
A JTree wird erst nach Klick aktualisiert AWT, Swing, JavaFX & SWT 2
G Swing ->mainpanel wechseln bei Klick auf MenuItem (NetB.6 AWT, Swing, JavaFX & SWT 3
X JTable "geht" erst beim 2.Klick AWT, Swing, JavaFX & SWT 2
G Farbe ändern bei Klick auf einen Kreis AWT, Swing, JavaFX & SWT 5
F Ignoriere Mausklick falls erster Klick von Doppelklick . AWT, Swing, JavaFX & SWT 4
S 1 Klick für JButton und Layout ändert sich AWT, Swing, JavaFX & SWT 14
G Icon auf Button per Klick darauf ändern? AWT, Swing, JavaFX & SWT 9
S jTable beim Klick auf Button aktualisieren AWT, Swing, JavaFX & SWT 7
H JWindow schließen bei einem Klick außerhalb der Anwendung? AWT, Swing, JavaFX & SWT 19
S Neues Panel in JFrame anzeigen durch Button klick AWT, Swing, JavaFX & SWT 2
A Zellen in JTable auf Klick kurz markieren auf Klick AWT, Swing, JavaFX & SWT 2
N Bei Klick auf einen Menüeintrag, soll Tabelle ausgegeben wer AWT, Swing, JavaFX & SWT 4
B JPanel erst durch Button-Klick sichtbar machen AWT, Swing, JavaFX & SWT 8
Z JMenue und bei Klick neuer Inhalt, Problem AWT, Swing, JavaFX & SWT 3
B Anfänger: Panel bei Button Klick anzeigen? AWT, Swing, JavaFX & SWT 4
M Java mit Swing - Elemente erst nach klick sichtbar AWT, Swing, JavaFX & SWT 13
C Komponente mit Focus bevor JButton-Klick merken. AWT, Swing, JavaFX & SWT 6
M neues Frame per klick anzeigen AWT, Swing, JavaFX & SWT 9
I JSlider - klick ignorieren AWT, Swing, JavaFX & SWT 4
S Einfacher Klick aber mouseClicked() zweimal aufgerufen AWT, Swing, JavaFX & SWT 3
R Klick in einem Tree erkennen und auswerten AWT, Swing, JavaFX & SWT 6
G Ein klick auf JPanel abfangen und verarbeiten? AWT, Swing, JavaFX & SWT 3
S Schließen eines Fensters bei Klick auf Button? AWT, Swing, JavaFX & SWT 2
hamburger_jung Mit Button Klick neues Fenster öffnen. AWT, Swing, JavaFX & SWT 1
N Jtable und ein Klick darauf! AWT, Swing, JavaFX & SWT 4
V JTable: Bei Klick in Zelle -> Ganze Zeile markeiren AWT, Swing, JavaFX & SWT 7
H Neue Instanz einer Klasse bei JButton-Klick AWT, Swing, JavaFX & SWT 5
M Zusätzlichen Maus-Klick erzeugen AWT, Swing, JavaFX & SWT 4
T Anderes Panel nach Button-Klick laden AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen

Neue Themen


Oben