Dateien öffnen

Django1337

Mitglied
Hey Zusammen,

ich bin neu hier und habe bereits "einwenig" die Forumssuche und Google genutzt, allerdings bin ich nicht direkt fündig geworden noch weiß ich wonach ich genau suchen soll.

Ich erstelle grad eine Oberfläche für die Arbeit. Über diese Oberfläche sollen später *.pdf,*.doc etc- Dateien geöffnet werden.

Ich habe mehrere "JComboBox"en und Buttons.

Wie bekomme ich die ComboBoxen und Buttons mit den Dateien verknüpft, bzw wie kann ich diese über die Buttons öffnen?

Über einen Lösungsweg würde ich mich sehr freuen, alternativ natürlich auch über einen Anstoss in die richtige Richtung wonach ich suchen soll/muss.
 

Django1337

Mitglied
Dankeschön, dass hatte ich vergessen zu erwähnen. Soweit war/bin ich bereits :D

Habe es so gemacht:

JButton math = new JButton ("Mathe");
math.addActionListener (new ActionListener(){
@Override public void actionPerformed(ActionEvent e){
HIER SOLL DER DATEIPFAD HIN
}
});

Mein Problem ist, ich weiß nicht bzw finde nichts wirklich zum Dateien öffnen soll/kann.

Habe es jetzt mal so gemacht:

math.addActionListener (new ActionListener(){

@Override public void actionPerformed( ActionEvent e){

getClass().getResourceAsStream("G:/xxx/Generell.pdf");

}
});

Da mein Programm an anderer Stelle aber noch Fehler ausweist kann ich es noch nicht testen.
Ist es soweit korrekt, oder gibt es eine andere (evtl. bessere) Möglichkeit?

Das Verzeichnis "G:" ist (wenn auf anderen PC installiert wird) nicht immer gegeben.
 

thet1983

Top Contributor
Ich glaube du suchst sowas.....besser wäre es mit dem FileChosser aber das geht auch.
Java:
JButton math = new JButton ("Mathe");
math.addActionListener (new ActionListener(){
@Override 
public void actionPerformed(ActionEvent e){

Desktop.getDesktop().open( new File( "c:/whatever.pdf"));

}
});

try catch nicht vergessen (IOException)
 
Zuletzt bearbeitet:

kaoZ

Top Contributor
Ich vermute mal stark du möchtests in den ComboBoxen die Files der jeweiligen Ordner auflisten und je nach Auswahl über den Button dann öffnen/laden ?

Hier mal ein rudimentäres Beispiel, ich öffne hier die Files nicht sondern sondern lasse lediglich den Absoluten Pfad ausgeben, ich will dir die Arbeit ja auch nicht komplett abnehmen , außerdem soll es auch nur als Beispiel dienen.

Sämtliche Ordner des gewählten Dateipfades werden beim initialisieren in das ComboBoxModel eingelesen, dieses wiederum bekommt dann die Box als Model gesetzt, der Button in diesem Fall gibt dann nur den Absoluten Pfad der in der Box gewählten Datei aus :

Der zeit wegen habe ich hier auf sämtliche Fehlerbehandlung / Klassentrennung verzichtet

Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class Test{

	public static void main(String[] args){
		new Test().new Gui().setVisible(true);
	}
	
	class Gui extends JFrame{
	
		DefaultComboBoxModel<File> model;
		JComboBox<File> box;
		JButton btn;
		JPanel pane;
		
		public Gui(){
			setDefaultCloseOperation(2);
			setSize(500,500);
			setLocationRelativeTo(null);
			
			pane = new JPanel();
			btn = new JButton("Öffnen...");
			btn.addActionListener(new ActionListener(){
				
				@Override
				public void actionPerformed(ActionEvent e){
					System.out.println(((File)box.getSelectedItem()).getAbsolutePath());
				}
			});
			
			
			File[] files = new File("L://").listFiles();
			
			model = new DefaultComboBoxModel<>(files);
			box = new JComboBox<>(model);
			
			pane.add(box);
			pane.add(btn);
			setContentPane(pane);
		}
		
	}
}

Mein Problem ist, ich weiß nicht bzw finde nichts wirklich zum Dateien öffnen soll/kann.

Die Frage ist auch was du unter öffnen verstehst, öffnen im Sinne von Editieren ( mit deiner Anwendung ) oder Anzeigen ? z.B mit einem PDF Viewer, einfach nur als ByteArray einlesen ? Oder eine dementsprechende Anwendung öffnen mit welcher die Datei dann Editiert werden kann? Wie du siehst kann man öffnen verdammt weit streuen ;)
 
Zuletzt bearbeitet:

Django1337

Mitglied
Es ging mir darum eine Datei "direkt" zu öffnen. Ohne FileChooser oder ähnlichem. Button wird geklickt, PDF geht - z.b. im Acrobat Reader - auf.

math.addActionListener (new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){

try {
Desktop.getDesktop().open( new File( "G:/FGM-Manager/Generell.pdf"));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

}
});

So funktioniert es. Für meine Zwecke ausreichend. Wenn es jetzt noch "ordentlicher Code" ist, und ihr keine Verbesserungsvorschläge habt, werde ich ihn wohl so lassen.


EDIT:

Was mir grad einfällt,......

bei BUTTONS funktioniert es, wie sieht es aber bei ComboBoxen aus?

Die habe ich so:

JComboBox combobox_manuals_aircraft_types = new JComboBox(Combo_manuals_aicraft_types);
combobox_manuals_aircraft_types.setBounds(110,70,200,25);
manuals.add(combobox_manuals_aircraft_types);

eingefügt.

Der Inhalt der Boxen wir hier ja aus den Strings geholt

String Combo_manuals_aicraft_types [] = {
"XYZ",
"XYZ",
"XYZ",
"XYZ",
"XYZ",
"XYZ",
"XYZ",
"XYZ"};

Wie schaut es hier aus? Ich müsste ja praktisch auf jeden String zugreifen?!
 
Zuletzt bearbeitet:

thet1983

Top Contributor
mit einem ItemListener kann man auf den Inhalt zugreifen

Java:
comboBox.addItemListener(new ItemListener() {
    @Override
     public void itemStateChanged(ItemEvent e) {
     if (e.getStateChange() == ItemEvent.SELECTED){
     String item = (String) e.getItem();
      }
   }
});
danach natürlich testen ob file.exists(), canRead() blablabla wenn true dann .open()

API lesen :rtfm:
 
Zuletzt bearbeitet:

thet1983

Top Contributor
Das Array combo_manuals_aircraft_types ist ja der Inhalt von deiner combobox
und mit einem ItemListener gibst du das ausgewählte Element aus.

Oder er hab ich deine Frage falsch verstanden?
 

Django1337

Mitglied
Sry, war einwenig abwesend in den letzten Tagen.

Genau "thet1983" die ComboBox listet das Array auf. Und so wie bei einem Button möchte ich halt die Datei beim Klick auf den Titel direkt öffnen.

EDIT:

Irgendwie komme ich mit dem Code nicht so richtig klar. :(
 
Zuletzt bearbeitet:

thet1983

Top Contributor
der code funkt e oder??

--> String item = (String) e.getItem() <--
gibt ja das angeklickte element aus....

wenn du jetzt eine String var anlegst mit deinem pfad
z.b
--> private String pfad = "G:/FGM-Manager/"; <--

wenn du jetzt noch das string objekt zu deinem pfad hinzufügst
zb
--> File file = new File(pfad+item); <--

dann kannst du die file auf isExists() und isFile() prüfen und wenn alles passt dann kannst du die datei öffnen.....

verstanden??

Sorry aber irgendwie funken die JAVA TAGs nicht.........
 

Django1337

Mitglied
Dass weiß ich leider nicht ob der obige Code funktioniert. Wie gesagt, bin zu blöd diesen "funktionsfähig" einzubauen. Weiß weder wo ich was hinzufügen muss, noch wo genau ich ihn einfügen muss, noch wie dass mit der file()-Abfrage funktioniert :/
 

thet1983

Top Contributor
in der combobox musst du den code einfügen,
die methode itemStateChanged schlägt dann an wenn sich etwas ändert zb ein element ausgewählt wurde.
das ausgewählte element speicherst du in der string variablen

wenn du in der itemStateChanged Methode noch folgendes einfügst

Java:
File file = new File(pfad+item); // pfad beschreibt das objekt im system, item das chombobox element
if(file.exists() && file.isFile()){
 // Desktop.getDesktop.open()........

dann hast du glaub ich das was du wolltest

edit: wenn du dich gar nicht auskennst melde dich noch mal
 
Zuletzt bearbeitet:

Django1337

Mitglied
Oh man, fühle mich schon total bescheuert dass ich nicht alleine weiterkomme :/

Ich habe es nun wie folgt versucht:

ABSCHNITT DER COMBOBOX - VON MIR EINGEFÜGT DAS ZWISCHEN DEN GRÜNEN KLAMMERN.
FEHLERMELDUNG DABEI ROT.

JComboBox combobox_basics_aluminium = new JComboBox (ComboBox_basics_aluminium);
combobox_basics_aluminium.setBounds(110,40,150,25);
combobox_basics_aluminium.addItemListener(ComboBox_basics_aluminium.addItemListener());
sections.add(combobox_basics_aluminium);

Fehlermeldung hier:
Cannot invoke addItemListener() on the array type String[]

weitergehts dann mit:

}



ComboBox_basics_aluminium.addItemListener(new ItemListener(){
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED){
String item = (String) e.getItem();

File file = new File("C:/FGM-Manager/xyz/xyz/3.0205.pdf" + 3.0205);
if(file.exists() && file.isFile()){
Desktop.getDesktop().open(new File("C:/FGM-Manager/xyz/xyz/3.0205.pdf"));
}
}
});


Fehlermeldung hier (die Klammer):
Syntax error on token "}", delete this token

Lösche ich diese, wird aber der Code danach, sprich der Listener als Fehler unterkringelt :/

Fehlermeldung hier (Code - Listener):
The method itemStateChanged(ItemEvent) of type winframe must override or implement a supertype method

Lösche ich hier @Override, verschwindet der Fehler bei "itemStateChanged". Der Fehler der Klammern in dem Bereich bleibt weiterhin bestehen.
 

thet1983

Top Contributor
lösche deine Combobox und kopier diesen code hinein

Java:
JComboBox<String> combobox_basics_aluminium = new JComboBox<String> (ComboBox_basics_aluminium);
combobox_basics_aluminium.setBounds(110,40,150,25);
combobox_basics_aluminium.addItemListener(new ItemListener() {
      @Override
      public void itemStateChanged(ItemEvent e) {
            if(e.getStateChange() == ItemEvent.SELECTED){
                    
                   selectedItem = (String) e.getItem(); // selectedItem speichert deine Combobox Auswahl zB 1234.pdf
                    
                    file = new File(pfad+selectedItem); // file zusammengesetzt aus pfad und dem ausgewählten Item
                    
                    if(file.exists() && file.isFile()){ // prüfung ob die File existiert und ob es eine file ist 
                        // wenn das alles zutrifft
                        try{
                            Desktop.getDesktop().open(new File(file.getAbsolutePath()));
                        }catch(IOException ioe){
                            System.out.println(ioe.getMessage());
                        }
                    }else{
                        System.out.println("Fehler....");
                    }
                }
                
            }
        });

solltest du noch fragen haben dann melde dich
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Swing txt Dateien öffnen mit JFilleChooser AWT, Swing, JavaFX & SWT 4
J Word/Excel-Dateien mit Button öffnen AWT, Swing, JavaFX & SWT 5
M Java Dateien kopieren mit Fortschrittsbalken AWT, Swing, JavaFX & SWT 13
frager2345 Bild aus Dateien lesen und als Hintergrund verwenden AWT, Swing, JavaFX & SWT 2
N Dateien einlesen und in GUI immernoch auswählbar AWT, Swing, JavaFX & SWT 1
MiMa File Dateien im ListView als Name anzeigen? AWT, Swing, JavaFX & SWT 6
H JavaFX Media Dateien zu VideoPlayerController senden AWT, Swing, JavaFX & SWT 10
VPChief Gibt es eine möglichkeit Dateien aus der jar datei zu kopieren? AWT, Swing, JavaFX & SWT 46
F Output Stream / File Dateien / Speichern AWT, Swing, JavaFX & SWT 13
Z Bearbeitung von csv Dateien AWT, Swing, JavaFX & SWT 13
J JavaFX Wie verhindere ich das gleichzeitige Spielen von Dateien bei Mediaplayer JavaFX? AWT, Swing, JavaFX & SWT 3
E JavaFX Umgang mit SVG-Dateien AWT, Swing, JavaFX & SWT 0
S Swing JFileChooser best. Ordner wie Dateien behandeln AWT, Swing, JavaFX & SWT 4
B Swing Dateien im Swing-GUI anzeigen AWT, Swing, JavaFX & SWT 3
H RCP(SWT) Browser-Widget zeigt keine locale HTML-Dateien an AWT, Swing, JavaFX & SWT 1
E 2D-Grafik Speicherprobleme große Tiff-Dateien AWT, Swing, JavaFX & SWT 50
C 2D-Grafik Steganographie - Verschlüsselung von Dateien in Bildern - Bilder zeigen schwarze Rechtecke AWT, Swing, JavaFX & SWT 13
M Swing Dateien auf Muster analysieren AWT, Swing, JavaFX & SWT 30
J Auf Dateien in JTree zugreifen AWT, Swing, JavaFX & SWT 15
MiMa Dateien aus Ordner in einer JList Ausgeben AWT, Swing, JavaFX & SWT 32
Daniel_L Drop von Dateien auf Frame - welche Drop-Location? AWT, Swing, JavaFX & SWT 2
H * Einlesen von Text-Dateien & Zeichensatz bestimmen AWT, Swing, JavaFX & SWT 2
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
N verschieben von Dateien auf der Festplatte über TreePaths funktioniert nicht AWT, Swing, JavaFX & SWT 10
F AWT DnD von Dateien mit Sonderzeichen funktioniert unter Linux nicht AWT, Swing, JavaFX & SWT 3
B ImageIO gif Dateien laden AWT, Swing, JavaFX & SWT 7
D LayoutManager Main layout auf andere Class Dateien verweisen? AWT, Swing, JavaFX & SWT 17
R Windows-Dateien auf GUI ziehen AWT, Swing, JavaFX & SWT 3
M Swing JTable Drag'n'Drop von Dateien AWT, Swing, JavaFX & SWT 3
S Dateien kopieren mit ProgressBar AWT, Swing, JavaFX & SWT 6
T SWT Wie Bilder aus JAR-Dateien einbinden? AWT, Swing, JavaFX & SWT 12
Developer_X Java BMP-Dateien laden AWT, Swing, JavaFX & SWT 2
T Compiler erzeugt mehrere .class Dateien AWT, Swing, JavaFX & SWT 2
K Per ComboBox Dateien einlesen AWT, Swing, JavaFX & SWT 23
G JFileChooser - erkennen v. existierenden Dateien ohne Endung AWT, Swing, JavaFX & SWT 1
I Dateien durchsuchen AWT, Swing, JavaFX & SWT 7
P Dateien per Drag&Drop ins Java-Fenster ziehen AWT, Swing, JavaFX & SWT 8
A Dateien in TextArea ausgeben AWT, Swing, JavaFX & SWT 6
G Dynamische Menüs mit Liste von MRU Dateien AWT, Swing, JavaFX & SWT 2
J Dateien einlesen AWT, Swing, JavaFX & SWT 3
E JList und Drag&Drop von Dateien AWT, Swing, JavaFX & SWT 1
H JFileChooser für alle Dateien und Directories unterhalb AWT, Swing, JavaFX & SWT 7
K SystemIcons v. Dateien & Verz. im TreeView anzeigen AWT, Swing, JavaFX & SWT 2
A JFileChooser - Mehrere Dateien per Maus markieren (nokeys) AWT, Swing, JavaFX & SWT 7
S Probleme beim Laden und Speichern von Dateien AWT, Swing, JavaFX & SWT 6
O Dateien aus Verzeichnis filtern und in JTable darstellen AWT, Swing, JavaFX & SWT 3
G JFileChooser: nur *.gif-Dateien anzeigen AWT, Swing, JavaFX & SWT 5
EagleEye GUI in mehrere Dateien aufteilen AWT, Swing, JavaFX & SWT 2
I Screen nur 1x öffnen können AWT, Swing, JavaFX & SWT 17
OZAN86 einfaches Fenster öffnen scheitert AWT, Swing, JavaFX & SWT 18
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
MiMa JavaFX Fenster in JavaFX öffnen Schliessen (Initialisierung) AWT, Swing, JavaFX & SWT 20
OSchriever Anwendung aus SystemTray öffnen AWT, Swing, JavaFX & SWT 29
A 2 Stages gleichzeitig öffnen AWT, Swing, JavaFX & SWT 2
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
platofan23 JAVAFX zweites Fenster öffnen AWT, Swing, JavaFX & SWT 2
A Ein browser Fenter prametrisiert öffnen AWT, Swing, JavaFX & SWT 15
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
J JavaFX Kamera im Programm öffnen AWT, Swing, JavaFX & SWT 6
D Mit Jmenu neue JFrame öffnen AWT, Swing, JavaFX & SWT 2
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
S Tastatur frame nur nur 1 mal öffnen AWT, Swing, JavaFX & SWT 1
S Mit JButton neues Fester öffnen und das alte schließen AWT, Swing, JavaFX & SWT 3
T Swing Java-Frame bei Programmstart NICHT im Vordergrund öffnen AWT, Swing, JavaFX & SWT 2
L Swing JButton soll link öffnen AWT, Swing, JavaFX & SWT 1
N Swing Sorry nicht mal ein Fenster öffnen... AWT, Swing, JavaFX & SWT 19
G Swing JFrame öffnen bei Pidgin Benachrichtigung AWT, Swing, JavaFX & SWT 5
P JavaFX Project im Browser öffnen AWT, Swing, JavaFX & SWT 4
O Swing JDialog öffnen und dann warten bis er geschlossen wurde AWT, Swing, JavaFX & SWT 2
P Programm durch Dateiaufruf starten und Datei öffnen AWT, Swing, JavaFX & SWT 2
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
O Neuen JFrame öffnen und alten schließen AWT, Swing, JavaFX & SWT 7
D Swing DICOM Files öffnen, wie? AWT, Swing, JavaFX & SWT 5
T SWT SWTBot Test: Dialog soll sich öffnen,wenn button gedrückt AWT, Swing, JavaFX & SWT 3
G Datei öffnen Dialog modifizieren AWT, Swing, JavaFX & SWT 13
J JTable Zeile anklicken und neues Frame öffnen AWT, Swing, JavaFX & SWT 4
B VLC Player in JavaFX öffnen AWT, Swing, JavaFX & SWT 7
X Popup Menü nur bei besonderem Fall öffnen AWT, Swing, JavaFX & SWT 3
F JavaFX KeyListener zum Fenster öffnen/schließen AWT, Swing, JavaFX & SWT 9
VfL_Freak AWT Browser öffnen und schließen via java.awt.Desktop AWT, Swing, JavaFX & SWT 4
M JavaFX WebView lässt sich nur einmal öffnen AWT, Swing, JavaFX & SWT 2
achillesat SWT Browser öffnen durch Button click AWT, Swing, JavaFX & SWT 5
P Event Handling Listener beim öffnen von einem JPopupMenu AWT, Swing, JavaFX & SWT 3
M Datei in jar öffnen AWT, Swing, JavaFX & SWT 11
M Swing Warum öffnen sich beim Zeichnen mit Swing plötzlich zwei Fenster? AWT, Swing, JavaFX & SWT 5
P versch. JPanel Klassen über Menü öffnen AWT, Swing, JavaFX & SWT 12
J Swing Fenster lässt sich nach Schließung nicht wieder öffnen AWT, Swing, JavaFX & SWT 4
S JFrame sicher öffnen AWT, Swing, JavaFX & SWT 9
D Neues Frame öffnen - und dazu altes schließen AWT, Swing, JavaFX & SWT 5
N Applet JButton soll html Datei aus einem Ordner öffnen AWT, Swing, JavaFX & SWT 2
E Fenster schließen und ein anderes öffnen AWT, Swing, JavaFX & SWT 9
R Swing Mit Swing eine throws Exception Methode öffnen AWT, Swing, JavaFX & SWT 3
N Swing FileFilter lässt JTree sich nicht öffnen AWT, Swing, JavaFX & SWT 2
J Swing Frame öffnen aus Frame mit JButton AWT, Swing, JavaFX & SWT 2
T SWT:Datei speichern / öffnen AWT, Swing, JavaFX & SWT 6
T speichern funktioniert,aber öffnen nicht AWT, Swing, JavaFX & SWT 2
J Mit Button neues Fenster öffnen AWT, Swing, JavaFX & SWT 17
J SWT Dialog in Dialog automatisch öffnen AWT, Swing, JavaFX & SWT 19
J Programm nur einmal öffnen AWT, Swing, JavaFX & SWT 3
J jme neues projekt öffnen AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben