Примечание: если мы используем раскадровку
Шаг 1: Главный контроллер:
// table row which row was selected
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
tableView.deselectRowAtIndexPath(indexPath, animated: true)
println("You selected cell #\(indexPath.row)!")
nextScreenRow = indexPath.row
// get to the next screen
self.performSegueWithIdentifier("dashboard_static_screen_segue", sender: self)
}
, а затем;
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "dashboard_static_screen_segue") {
var detailController = segue.destinationViewController as StaticScreens;
detailController.screenNumber = nextScreenRow
}
}// end prepareForSegue
Шаг 2: Подробный контроллер (StaticScreen)
// set variable into your detail controller
var screenNumber: NSInteger?
println("selected row \(screenNumber!)")
С JDK1.6 java.awt.Desktop
класс может быть полезным.
public static void open(File document) throws IOException {
Desktop dt = Desktop.getDesktop();
dt.open(document);
}
File file
Desktop.getDesktop().open( file );
Начиная с Java 1.6
, До которого Вы могли проверка этот вопрос
Сводка
, Это будет выглядеть примерно так:
Runtime.getRuntime().exec( getCommand( file ) );
public String getCommand( String file ){
// Depending on the platform could be
//String.format("gnome-open %s", fileName)
//String.format("open %s", fileName)
//String.format("cmd /c start %s", fileName)
// etc.
}
Вы могли взломать что-то вместе с bat-файлом в Windows и эквивалентом на Unix, но это не будет той забавой.
я думаю, что Ваш лучший выбор был бы Компоненты Интеграции JDesktop (JDIC) . В частности, Рабочий стол класс имеет точно метод, который Вы ищете.
РЕДАКТИРОВАНИЕ: По-видимому, я отстал от жизни, потому что это было интегрировано в Java 1.6. В любом случае, если Вы работаете в более раннем Java, это может все еще быть полезно.