- zum Ende scrollen
- String aus Ressource bauen
- JTable mit horizontaler ScrollBar
- JTable Hintergrund
- Look & Feel
- Dateiname abfragen
- Klasse über Reflection starten
- Fokus beim Dialog-Start setzen
- Zwischenablage
- System-Parameter und Kommandozeilen-Argumente
- alte und neue Collections
- Ressourcen, interessante Projekte
- Weitere Links
ans Ende scrollen
von einem JTextArea
in einer JTable
table.getCellRect(table.getRowCount()-1,-1,true)
);
String aus Ressource bauen
InputStream is = getResourceStream(pkgname, fname);
if (is != null) {
StringBuffer sb = new StringBuffer();
while (true) {
int c = is.read();
if (c == -1) {
break;
}
sb.append((char)c);
}
is.close();
str = sb.toString();
}
JTable mit horizontaler ScrollBar
JTable Hintergrund
public boolean getScrollableTracksViewportHeight() {
return getParent() instanceof JViewport &&
getPreferredSize().height < getParent().getHeight();
}
Look & Feel
JGoodies Looks wird mit der BSD-Lizenz verteilt. Das Ziel ist die perfekte Nachbildung von Windows 95/98/NT/ME/2000/2003/XP/Vista Anwendungen ab Java 1.4.
Gegenüber dem Windows Look and Feel von Sun korrigiert es viele Feinheiten, wie passende Insets bei Eingabefeldern, Icons, Farben, Rahmen, den richtigen Font, Menüeigenschaften, Auflösungen von 96 und 120 dpi und vieles mehr.
Ein weiteres sehr schönes Look & Feel, was ab Java 1.5 eingesetzt werden kann ist Substance.
Dateiname abfragen
int filePlaceOk = JOptionPane.YES_OPTION;
do {
JFileChooser fileChooser = new JFileChooser("C:/Temp");
int fileChooserResponse = fileChooser.showSaveDialog(parent);
if(fileChooserResponse == JFileChooser.CANCEL_OPTION) {
return;
} else if(fileChooserResponse == JFileChooser.APPROVE_OPTION) {
file = fileChooser.getSelectedFile();
if(file.exists()) {
filePlaceOk = JOptionPane.showOptionDialog(this,
"Die Datei existiert schon. Soll sie überschrieben werden?",
"Warnung", JOptionPane.YES_NO_OPTION,
JOptionPane.WARNING_MESSAGE,
null, null, null);
}
}
} while(filePlaceOk != JOptionPane.YES_OPTION);
if(file == null) return;
Klasse über Reflection starten
Class params[] = new Class[] {};
Class c = Class.forName(className);
java.lang.reflect.Constructor cons = c.getConstructor(params);
Object args[] = new Object[] {};
MyClass myClass = (MyClass)cons.newInstance(args);
myClass.myMethod(methodParams);
} catch(Exception e) {
e.printStackTrace();
}
Fokus beim Dialog-Start setzen
public void windowOpened(java.awt.event.WindowEvent evt) {
jTextField.requestFocus();
}
});
Zwischenablage
Zeichenketten müssen in ein Transferable-Objekt verpackt werden (z.B. StringSelection), um in die Zwischenablage kopiert werden zu können.
Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable t = new StringSelection("eine Zeichenkette");
c.setContents(t, null);
Eine Zeichenkette aus der Zwischenablage lesen:
Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable t = c.getContents(this); // this currently not used
if (t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
String s = (String) t.getTransferData(DataFlavor.stringFlavor);
}
Aus dem Tranferable-Objekt können auch alle unterstützen Formate abgefragt werden über:
Das Array kann durchsucht werden, bis ein passendes Format gefunden wurde.
System-Parameter und Kommandozeilen-Argumente
Argumente lesen:
System-Parameter setzen:
System-Parameter abfragen:
alte und neue Collections
- Hashtable » HashMap
- Vector » ArrayList
- Stack » ArrayDeque (ab Java 6)
…mehr Infos unter: http://www.javapractices.com
Ressourcen, interessante Projekte
- HSQL ist eine vollständig in Java programmierte relationale Datenbank.
- Lucene ist eine Open-Source-Java-Bibliothek zum Erzeugen und Durchsuchen von Indizes.
- Java Systray ist eine Möglichkeit den Windows Systray mit Java zu nutzen.
- SwingLabs, l2fprod.com und JIDE Common Layer erweitern Swing um eine Reihe fehlender Komponenten.
- jTDS ist ein OpenSource zu 100% in Java programmierter JDBC 3.0 Driver (type 4) für Microsoft SQL Server (6.5, 7, 2000 and 2005) and Sybase (10, 11, 12).
- Jackcess ist eine reine Java-Bibliothek mit denen man auf MS Access Datenbanken zugreifen kann.
- JDIC ermöglicht eine bessere Desktop-Integration für Java-Applikationen.
- The JUnique library can be used to prevent a user to run at the same time more instances of the same Java application.
- Swing Explorer is a tool for Swing developers intended for visual exploring of a Swing-based application internals.
- FEST is a collection of APIs, released under the Apache 2.0 license, which mission is to simplify software testing.
Weitere Links
- Creating a GUI with JFC/Swing
- Java Logging
- The Java Developers Almanac 1.4
- FAQ bei java-tutor.com
- JavaMagazin
- Die verschiedenen Möglichkeiten, Textelemente mit unterschiedlichen Hervorhebungen darzustellen.
- Open Source-Perlen: Die Sourceforge Datenbank HSQLDB
- http://www.andreasgoedel.de/swing/
- http://www.angelikalanger.com/Articles/JavaSpektrum/