G
Gr3mL1n
Gast
Hallo Leute,
ich habe da ein kleines Problem mit SWT.
Und zwar habe ich ein FileDialog welcher einwandfrei funktioniert, sobald man dort aber auf abbrechen klickt soll eine MessageBox mit einem Fehler erscheinen.
Die MessageBox wird zwar richtig ausgeführt, aber bevor ich diese sehe muss ich erst alle anderen Fenster (Eclipse, etc.) minimieren.
Gibts da irgendein Befehl womit man den Fokus auf die MessageBox setzen kann?
Hier ein kleiner Auszug(ist nur einer von vielen FileDialogs):
Danke schonmal für die Hilfe.
mfg Gr3mL1n
ich habe da ein kleines Problem mit SWT.
Und zwar habe ich ein FileDialog welcher einwandfrei funktioniert, sobald man dort aber auf abbrechen klickt soll eine MessageBox mit einem Fehler erscheinen.
Die MessageBox wird zwar richtig ausgeführt, aber bevor ich diese sehe muss ich erst alle anderen Fenster (Eclipse, etc.) minimieren.
Gibts da irgendein Befehl womit man den Fokus auf die MessageBox setzen kann?
Hier ein kleiner Auszug(ist nur einer von vielen FileDialogs):
Java:
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
public class OdxGui {
public String BasicODXChooser ()
{
int chars, control = 0;
String fileName;
Display display = new Display();
final Shell shell = new Shell(display);
do{
//open a FileDialog
FileDialog dlg = new FileDialog(shell, SWT.OPEN);
//set FileDialog text
dlg.setText("Please choose a BasicODX-File");
//set filters
String[] filterNames = { "Open Diagnostics Exchange (.odx)", "All (*.*)" };
dlg.setFilterNames(filterNames);
String[] filterExt = { "*.odx", "*.*" };
dlg.setFilterExtensions(filterExt);
//load file
fileName = dlg.open();
//when user abort the FileDialog
if (fileName==null)
{
display.dispose();
MessageBoxError("No file was loading. The application has aborted.");
System.exit(0);
}
//check if the chosen file is a .odx file
chars = fileName.length();
chars = chars-4;
if (fileName.substring(chars).equalsIgnoreCase(".odx"))
{
control = 1;
}
else
{
System.out.println("Wrong datatype, please choose a .odx file");
}
}while (control==0);
//file correct loaded
if (fileName != null)
{
int indexOfBasicODX = fileName.lastIndexOf("\\");
indexOfBasicODX++;
System.out.println("The " + fileName.substring(indexOfBasicODX) + " is loaded.");
}
//close the FileDialog
display.dispose();
return fileName;
}
public void MessageBoxError (String Msg)
{
Display display = new Display();
Shell shell = new Shell(display);
MessageBox messageBox = new MessageBox(shell, SWT.ICON_ERROR | SWT.OK);
messageBox.setMessage(Msg);
messageBox.open();
display.dispose();
}
}
Danke schonmal für die Hilfe.
mfg Gr3mL1n