I
InselBewohner
Gast
Hi,
Ich moeche ein nicht-Modelen Dialog anbieten,
in dem DateienNamen aus einem Ordner in einer liste angezeigt werden und sich der user dann ein datei aussuchen kann.
Bestenfalls würde ich gerne, dass diesee dialog Transparent und in Schwarz ist, und kein OK button Brauch, sondern sowas wie change list:
Meine erste Idee war diese:
Die Liste wird dem Dialog dann so gegeben:
Aber ich glaube da bin ich auf den falschen Weg. Ausserdem weis ich nicht so recht wie ich das dann als Popup aufrufe, und das am besten positioniert.
Lieben dank
Ich moeche ein nicht-Modelen Dialog anbieten,
in dem DateienNamen aus einem Ordner in einer liste angezeigt werden und sich der user dann ein datei aussuchen kann.
Bestenfalls würde ich gerne, dass diesee dialog Transparent und in Schwarz ist, und kein OK button Brauch, sondern sowas wie change list:
Meine erste Idee war diese:
Java:
public class ElementChooser extends JOptionPane {
private static final long serialVersionUID = 1L;
public ElementChooser(final String[] names) {
super();
JList nameList = new JList(names);
nameList.setBackground(new Color(255,255,255,0));
nameList.getScrollableTracksViewportHeight();
nameList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
nameList.setLayoutOrientation(JList.VERTICAL);
nameList.addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
if (e.getValueIsAdjusting() == false)
{
System.out.println(e.getFirstIndex());
}
else
{
System.out.println("value is adjusting");
}
}
});
this.setMessage(nameList);
this.setBackground(new Color(255,255,255,120));
this.setMessageType(JOptionPane.PLAIN_MESSAGE);
this.setOpaque(false);
this.setBounds(0,0,200,400);
}
}
Java:
File dir = new File("./Wave/");
// This filter only returns directories
FileFilter fileFilter = new FileFilter() {
public boolean accept(File file) {
return file.getName().toLowerCase(). endsWith("wav");
}
};
File[] files = dir.listFiles(fileFilter);
String[] names = new String[files.length];
for (int i = 0; i < files.length; i++) names[i] = files[i].getName();
Lieben dank