System Look and Feel, FileChooser, Optionen einer jar-Datei

Status
Nicht offen für weitere Antworten.

vdvaart23

Mitglied
Hallo!
hab mich grad angemeldet und hätte gleich 4 Fragen

hab auch schon gesucht aber ich bin dabei nur zu dem schluss gekommen, dass dieses forum sehr umfangreich ist :wink:

ich bin grad am basteln eines simplen texteditor like "Notepad" in Windows

dazu möchte ich gerne das Look and Feel des Systems nutzen.

1. ist es sinnvoll mit dem "normalen" awt-package zu arbeiten oder geht es leichter mit swing?
(ich weiß gar nicht ob man mit swing das System-LnF darstellen kann)



2. da ich mit awt angefangen habe: gibt es eine möglichkeit für einen vorgefertigten dialog mit 3 buttons(yes, no, cancel)
in awt?



3. irgendwie funktioniert bei mir das mit dem filechooser nicht (die datentypen werden nicht angezeigt, sondern nur "Alle
Dateien"). hab mal wo gelesen es funktioniert nicht mit windows oder mache ich was falsch?

Code:
import java.io.*;

public class DateiFilter implements FilenameFilter 
{
	private String[] myExtension;

	public DateiFilter(String[] ext)
	{
		myExtension = ext;
	}

	public boolean accept(File dir, String filename) 
	{
		boolean b = false;
		File temp = new File(dir.getAbsolutePath(), filename); 
		if(temp.isDirectory()) return true; // ist ein Folder - wird angezeigt
		for(int x=0; x<myExtension.length; x++)
		{
			if(getExt(temp).equals(myExtension[x])) b = true; // richtige Extension - wird angezeigt
		}
		return b; // alles andere nicht anzeigen
	}

	private String getExt(File f) 
	{
		return f.getName().substring(f.getName().toLowerCase().lastIndexOf(".")+1);
	}
}

und dann:

Code:
String dir, file, inhalt;
StringBuffer message = new StringBuffer();
					
FileDialog fd = new FileDialog(ui, "Öffnen...", FileDialog.LOAD);
					
//erlaubt nur diese dateien
String[] extensions = {"txt", "html", "htm", "css", "php", "ini", "sql", "xml", "js", "inf", "log", "xls", "csv", "bat", "java", "nfo"};

DateiFilter df = new DateiFilter("unterstützte Dateiformate", extensions);
fd.setFilenameFilter(df);
					
fd.setVisible(true); //FileDialog anzeigen

4. wenn ich ein jar-file erstelle möchte ich gern, dass es mit einer option -file aufgerufen werden kann,
damit ich eine datei direkt mit dem editor verknüpfen kann

Code:
Options options = new Options();
		options.addOption("file", false, "Datei-Aufruf");
		
		if(options.hasOption("file"))
		{
			Option option = options.getOption("file");
			String filename = option.getValue();
			File datei = new File(filename);
			if(datei.exists())
			{
				new Controller(new UserInterface("Editor"), filename);
			}
		}
		else new Controller(new UserInterface("Editor"));


so das wars einmal

ich hoffe das ist verständlich genug
 

SebiB90

Top Contributor
1. du kannst dir mit dem UIManager des SystemLookAndFeel holen und setzen das ist also möglich
2. in awt nicht, in swing gibt es JOptionPane, damit kannste dir leicht ein dialog anzeigen lassen mit diesen 3 button
3. das ist komisch, nimm swing und den JFileChooser, den FileDialog hab ich noch nie benutzt von daher weiß ich nicht woran das liegen könnte
 

vdvaart23

Mitglied
danke für die schnelle antwort

SebiB90 hat gesagt.:
1. du kannst dir mit dem UIManager des SystemLookAndFeel holen und setzen das ist also möglich
2. in awt nicht, in swing gibt es JOptionPane, damit kannste dir leicht ein dialog anzeigen lassen mit diesen 3 button
3. das ist komisch, nimm swing und den JFileChooser, den FileDialog hab ich noch nie benutzt von daher weiß ich nicht woran das liegen könnte

1. & 2. ich hab bis jetzt alles mit awt gemacht. kann ich auch nur die dialogboxen mit joptionpane machen?

3. habs mit JFileChooser ausprobiert aber klappt nicht

Code:
JFileChooser chooser = new JFileChooser();
DateiFilter filter = new DateiFilter();
filter.addExtension("jpg");
filter.addExtension("gif");
filter.setDescription("JPG & GIF Images");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(ui);					

path = chooser.getSelectedFile().getAbsolutePath();

liefert mir die Fehlermeldung:
The method setFileFilter(FileFilter) in the type JFileChooser is not applicable for the arguments (DateiFilter)

hier die klasse DateiFilter:
Code:
package textman;

import java.io.*;

public class DateiFilter implements FileFilter 
{
	private String myDescription;
	private String[] myExtension;

	public DateiFilter()
	{
        }

	public boolean accept(File datei)
	{
		boolean b=false;
		String filename = datei.getName();
		for(int x=0; x<this.myExtension.length; x++)
		{
			if (filename.endsWith(getExt(datei))) b = true;
			else b = datei.isDirectory();
		}
		return b;
	}

	private String getExt(File f) 
	{
		return f.getName().substring(f.getName().toLowerCase().lastIndexOf(".")+1);
	}
	
	public void addExtension(String ext)
	{
		String[] temp = new String[this.myExtension.length+1];
		for(int x = 0; x<this.myExtension.length; x++)
		{
			temp[x] = this.myExtension[x];
		}
		temp[temp.length-1] = ext;
	}
	
	public void setDescription(String desc)
	{
		this.myDescription = desc;
	}
	
	public  String getDescription()
	{
		return this.myDescription;
	}
}

was ist da falsch?
 

L-ectron-X

Gesperrter Benutzer
Du solltest dich lieber gleich für Swing entscheiden - AWT ist nicht so mächtig und eine Mischung aus AWT und Swing verträgt sich nicht. Siehe FAQ.

Ich habe hier mal einen einfachen Bildbetrachter gepostet. http://www.java-forum.org/de/viewtopic.php?t=23596
Der Code zeigt dir die Arbeit mit JFileChooser und einem Dateifilter.
Vielleicht hilft dir das weiter.
 

vdvaart23

Mitglied
vdvaart23 hat gesagt.:
3. habs mit JFileChooser ausprobiert aber klappt nicht

Code:
import java.io.*;

public class DateiFilter [b]implements[/b] FileFilter 
{

was ist da falsch?

habs schon!
gehört natürlich ein extends hin

bleibt immer noch frage 4
 

Illuvatar

Top Contributor
Falls das nochmal jemand liest, weil er auch das Problem hat:

API hat gesagt.:
public void setFilenameFilter(FilenameFilter filter)
Sets the filename filter for this file dialog window to the specified filter. Filename filters do not function in Sun's reference implementation for Microsoft Windows.

Zu Frage 4: Was ist denn deine Frage? Ich kenne zwar keine Klasse Options, aber das sieht ja aus, als hättest du die Funktion schon implementiert, nach der du fragst.
 

vdvaart23

Mitglied
Frage 4:
ich wollte wissen wie man einer .jar-Datei optionen (in form von -option argument) übergeben kann
die Klasse Option hab ich im Internet gefunden in einem Package.
allerdings konnte das auch nicht mein problem lösen

wollte nur zeigen das ich es schon versucht hatte :wink:

Frage 3:
bin jetzt auf JFileChooser umgestiegen es werden aber nur die ordner angezeigt
passt die accept so:
Code:
public boolean accept(File datei)
	{
		boolean b=false;
		String filename = datei.getName();
		for(int x=0; x<this.myExtension.length; x++)
		{
			if(filename.endsWith(this.myExtension[x])) b = true;
			else b = datei.isDirectory();
		}
		return b;
	}

und wie kann ich den JFileChooser jetzt an das LnF des Systems anpassen???
 

SebiB90

Top Contributor
vdvaart23 hat gesagt.:
Frage 3:
bin jetzt auf JFileChooser umgestiegen es werden aber nur die ordner angezeigt
passt die accept so:
Code:
public boolean accept(File datei)
	{
		boolean b=false;
		String filename = datei.getName();
		for(int x=0; x<this.myExtension.length; x++)
		{
			if(filename.endsWith(this.myExtension[x])) b = true;
			else b = datei.isDirectory();
		}
		return b;
	}
ist klar das das nicht funktioniert
z.b. hat die datei die endung txt in deinem array ist als letztes html drin also ist if false und isDirectory() ebenfalls
auch wenn vorher schon auf die endung txt überprüft wurde und true zurück gegeben wurde.
mach am besten sofort return.
Code:
public boolean accept(File datei)
	{
		if(datei.isDirectory()) return true;
		String filename = datei.getName();
		for(int x=0; x<this.myExtension.length; x++)
		{
			if(filename.endsWith(this.myExtension[x])) return true;
		}
		return false;
	}
 

vdvaart23

Mitglied
@SebiB90
danke!
weiß auch nicht warum ich das nicht bemerkt habe :oops: :oops:

@all
weiß denn keiner wie man optionen von der Commandozeile abfängt???
also zb jarfilename -optionenname argument
 

L-ectron-X

Gesperrter Benutzer
vdvaart23 hat gesagt.:
und wie kann ich den JFileChooser jetzt an das LnF des Systems anpassen???
Code:
try { 
  UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
  SwingUtilities.updateComponentTreeUI(this); 
} 
catch(ClassNotFoundException e) { System.out.println("Klasse nicht gefunden!"); } 
catch(InstantiationException e) { System.out.println("Klasse konnte nicht instanziiert werden!"); } 
catch(IllegalAccessException e) { System.out.println("Zugriff auf diese Klasse nicht erlaubt!"); } 
catch(UnsupportedLookAndFeelException e) { System.out.println("Nicht unterstütztes LnF!"); }

Schreibe diese Zeilen in den Konstruktor, noch vor dem Anlegen der Komponenten.
Damit erhalten alle Instanzen, von danach initialisierten GUI-Komponenten das System-LAF.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Swing: System-Look&Feel unter KDE AWT, Swing, JavaFX & SWT 3
B JavaFx TreeView mit file system AWT, Swing, JavaFX & SWT 1
J AWT System Farben / java.awt.SystemColor funktioniert nicht AWT, Swing, JavaFX & SWT 4
I JFileChooser mit System L&F bei anderem L&F der eigtl. Anwendung AWT, Swing, JavaFX & SWT 0
L Komplettes Löschen SWT vom System AWT, Swing, JavaFX & SWT 6
T JavaFX System.out.println in TextArea AWT, Swing, JavaFX & SWT 15
S Swing JRE System Libary AWT, Swing, JavaFX & SWT 3
A Wie baue ich das Bus-System in ein Java Projekt ein? AWT, Swing, JavaFX & SWT 5
M Benutzer-Dialog ohne System.in/out AWT, Swing, JavaFX & SWT 2
Luk10 Fragen zum Koordinaten System AWT, Swing, JavaFX & SWT 3
D System.out.println() gibt html-Tags mit aus AWT, Swing, JavaFX & SWT 2
GUI-Programmer Translucent JFrame mit System-LookAndFeel AWT, Swing, JavaFX & SWT 4
H Anwendung schließen ohne System.exit AWT, Swing, JavaFX & SWT 5
S 2D-Grafik Icon in Image (System Icons) AWT, Swing, JavaFX & SWT 2
S System.out in JTextArea AWT, Swing, JavaFX & SWT 4
J Swing Doppelklickzeit vom System AWT, Swing, JavaFX & SWT 17
A Swing Text von System.out.printIn in eine TextArea übergen AWT, Swing, JavaFX & SWT 12
R Wie in GUI System.out's darstellen AWT, Swing, JavaFX & SWT 8
T Dynamic JTree: File System Problem AWT, Swing, JavaFX & SWT 2
P System.exit(0); ausführen, wenn letztes Fenster geschlossen AWT, Swing, JavaFX & SWT 10
R MVC: System.out.prinln in View umleiten geht nicht richtig AWT, Swing, JavaFX & SWT 7
R Meldungen System.out.println auf Fenster umleiten? AWT, Swing, JavaFX & SWT 3
M Image in System Clipboard mit java 1.3 AWT, Swing, JavaFX & SWT 2
M Problem mit System.setOut()/setErr() und MultiThreading AWT, Swing, JavaFX & SWT 11
S K.O.-System zeichnen AWT, Swing, JavaFX & SWT 3
D Auf System-Icons wie die aus JOptionPane zugreifen? AWT, Swing, JavaFX & SWT 6
S Defaulticon für einen Datentyp vom System bekommen? AWT, Swing, JavaFX & SWT 3
S LaF - switcht erst während des Runs auf System.LaF AWT, Swing, JavaFX & SWT 2
S Dispose() anstatt system.exit(0) AWT, Swing, JavaFX & SWT 8
G standard system icons AWT, Swing, JavaFX & SWT 1
Hatsi09 Look and Feel AWT, Swing, JavaFX & SWT 6
MaxG. Swing Java Look and Feel AWT, Swing, JavaFX & SWT 2
Neumi5694 LookAndFeel Look & Feel nicht angezeigter Komponenten ändern AWT, Swing, JavaFX & SWT 6
M JFileChooser Look and Feel AWT, Swing, JavaFX & SWT 2
M JTabbedPane verändern mit Nimbus Look and Feel AWT, Swing, JavaFX & SWT 1
A Swing JProgressbar im Windows Look & Feel Farbanpassung AWT, Swing, JavaFX & SWT 2
G LookAndFeel Tutorial für Erstellung eines eigenen Look And Feel AWT, Swing, JavaFX & SWT 3
javampir Look&Feel von JMenuItem AWT, Swing, JavaFX & SWT 3
V Nimbus Look and Feel register Region problem AWT, Swing, JavaFX & SWT 5
J Eigenes Gui/ Look and Feel AWT, Swing, JavaFX & SWT 14
S Look und Feel ändert sich nicht AWT, Swing, JavaFX & SWT 4
B Eigenen Look&Feel erstellen?! AWT, Swing, JavaFX & SWT 2
V Nimbus Look And Feel Button textForeground AWT, Swing, JavaFX & SWT 8
T Applet JTattoo Look and Feel AWT, Swing, JavaFX & SWT 5
C Swing JTattoo - Look and Feel für ALLE User AWT, Swing, JavaFX & SWT 5
N Nimbus Look & Feel AWT, Swing, JavaFX & SWT 4
B Windows Look and Feel AWT, Swing, JavaFX & SWT 2
eLogic Look And Feel - Einstellen AWT, Swing, JavaFX & SWT 3
B Look And Feel ändern (Netbeans) AWT, Swing, JavaFX & SWT 18
V Swing Nimbus Look And Feel verschiedene Buttons AWT, Swing, JavaFX & SWT 8
B LookAndFeel Cell Renderer für JTable bei Nimbus Look and Feel AWT, Swing, JavaFX & SWT 2
K LookAndFeel Look And Feel ändert sich nicht AWT, Swing, JavaFX & SWT 8
Dragonfire Swing UTF-8 BOB Probleme mit Windows Look and Feel AWT, Swing, JavaFX & SWT 4
I LookAndFeel Wie kann ich das Look and Feel "Blue Vista" verwenden? AWT, Swing, JavaFX & SWT 4
trash Look and Feel Probleme AWT, Swing, JavaFX & SWT 10
Developer_X LookAndFeel Eigenes Look And Feel erstellen AWT, Swing, JavaFX & SWT 33
J Auf die im Look and Feel eingestellten Farben zugreifen AWT, Swing, JavaFX & SWT 2
T LookAndFeel Look and Feel Frage AWT, Swing, JavaFX & SWT 2
W Look and Feel für einzelnde JFrames AWT, Swing, JavaFX & SWT 4
S Swing: Look and Feel abändern oder für Teilkomponenten anderes LaF setzen AWT, Swing, JavaFX & SWT 2
B Look and Feel Designer für GUI AWT, Swing, JavaFX & SWT 2
aze JXTaskPane Look and Feel ändern AWT, Swing, JavaFX & SWT 2
S LookAndFeel Look and Feel mit Windows funktioniert nicht AWT, Swing, JavaFX & SWT 8
E Look & Feel - Nimbus AWT, Swing, JavaFX & SWT 12
M JProgressBar Look and Feel AWT, Swing, JavaFX & SWT 5
K Look&Feel von JMenuBar und Subkomponenten anpassen AWT, Swing, JavaFX & SWT 6
data89 Nimbus Look and Feel als gepackte JAR-Datei AWT, Swing, JavaFX & SWT 3
G Look And Feel in Eclipse AWT, Swing, JavaFX & SWT 2
J Java Look And Feel- Welche gefallen euch am besten? AWT, Swing, JavaFX & SWT 12
T Look & Feel Skins/Themes AWT, Swing, JavaFX & SWT 9
R JScrollBar mit eigenem look and feel AWT, Swing, JavaFX & SWT 6
M Problem Nimbus Look&Feel AWT, Swing, JavaFX & SWT 2
P JTable: nicht im gewünschten Look&Feel AWT, Swing, JavaFX & SWT 3
C JTextArea und Look&Feel AWT, Swing, JavaFX & SWT 14
G windows look and feel problem AWT, Swing, JavaFX & SWT 7
M JTable Zeilenhöhe Look and Feel AWT, Swing, JavaFX & SWT 2
H Look & Feel und JSplitPane Problem AWT, Swing, JavaFX & SWT 17
A Was ist Look and Feel und wie wirds bearbeitet AWT, Swing, JavaFX & SWT 7
G bestes Look & Feel ? AWT, Swing, JavaFX & SWT 15
G Look&Feel AWT, Swing, JavaFX & SWT 5
F Externes Look & Feel für Swing wie importieren/verwenden AWT, Swing, JavaFX & SWT 3
J Lookand Feel JGoodies <-> MetalLookAndFeel AWT, Swing, JavaFX & SWT 2
P Swing mit substance look/feel fenster repaint AWT, Swing, JavaFX & SWT 7
S Unterschiedliche Optik trotz gleicher Look and Feel Code? AWT, Swing, JavaFX & SWT 11
S Oyoaha Look and Feel AWT, Swing, JavaFX & SWT 4
S LOOK and FEEL fü MAC AWT, Swing, JavaFX & SWT 11
X Metal Look and Feel in schwarz AWT, Swing, JavaFX & SWT 3
B Allgemeine Frage zu Look&Feel AWT, Swing, JavaFX & SWT 2
Bernasconi Look and Feel Problem AWT, Swing, JavaFX & SWT 6
M Look&Feel, JButton ,Opaque AWT, Swing, JavaFX & SWT 2
oliver1974 Nimbus Look & Feel und die Ausgaben nach Standardaus. AWT, Swing, JavaFX & SWT 4
A JProgressBar: Farbe im Windows Look&Feel ändern. AWT, Swing, JavaFX & SWT 1
F JInternalFrame Look and Feel AWT, Swing, JavaFX & SWT 3
T Look and Feel ändern geht nicht, obwohl es geht. AWT, Swing, JavaFX & SWT 2
N JFileChooser mit WindowsLook&Feel AWT, Swing, JavaFX & SWT 6
O Look And Feel greift nicht im Hauptfenster (JFrame)! AWT, Swing, JavaFX & SWT 11
padde479 Look And Feel zur Laufzeit ändern AWT, Swing, JavaFX & SWT 2
D Aerith Look & Feel AWT, Swing, JavaFX & SWT 3
G Fonts bei Look And Feel AWT, Swing, JavaFX & SWT 3
G JTable wird im Windows Look&Feel nicht gedruckt AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen


Oben