Cocoa: Membuat window tambahan dengan NSWindowController

Cocoa: Membuat window tambahan dengan NSWindowController

December 11, 2011 Cocoa 0

Sangat sering aplikasi kita terdiri atas lebih dari satu window. Misalnya, pada aplikasi database dimana kita menunjukkan daftar record pada window utama, dana detail sebuah record pada window tambahan. Bagaimana membuatnya? Perhatikan langkah2 berikut:

1) Buatlah project yang baru. Namakan: MultiWindow

2) Pada MainMenu.xib, buatlah UI seperti ini:

3) Buka menu File > New file… dan buatlah sebuah class baru yang merupakan sub-class dari NSWindowController:

Namakan class yg baru ini: “WindowTambahan”. XCode akan menciptakan dua buah file yg baru:

  • WindowTambahan.h
  • WindowTambahan.m

4) Buatlah sebuah file XIB dengan cara: buka menu File > New File… , lalu pada group “User Interface”, pilihlah “Window”, klik Next dan namakan “WindowTambahan”. Anda akan mendapatkan sebuah window UI yang baru. Tambahkan sebuah Label untuk menunjukkan window tambahan tersebut:

5) Edit file header utama (MultiWindowAppDelegate.h) untuk menambahkan action yg akan menampilkan window tambahan:

[sourcecode language=”objc”] //
// MultiWindowAppDelegate.h
//

#import <Cocoa/Cocoa.h>
#import "WindowTambahan.h"

@interface MultiWindowAppDelegate : NSObject <NSApplicationDelegate> {
NSWindow *window;
WindowTambahan *myWin;
}

@property (assign) IBOutlet NSWindow *window;

– (IBAction)tampilWindowTambahan:(id)sender;

@end
[/sourcecode]

6) Edit file implementation (MultiWindowAppDelegate.m) untuk mengimplementasikan action “tampilWindowTambahan”:

[sourcecode language=”objc”] //
// MultiWindowAppDelegate.m
//

#import "MultiWindowAppDelegate.h"
#import "WindowTambahan.h"

@implementation MultiWindowAppDelegate

@synthesize window;

– (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
}

// kode program berikut untuk menampilkan Window tambahan
– (IBAction)tampilWindowTambahan:(id)sender{
if (!myWin) {
myWin = [[WindowTambahan alloc] initWithWindowNibName:@"WindowTambahan"];
}
[myWin showWindow:self];
}

@end
[/sourcecode]

7) Klik MainMenu.xib dan klik icon “Multi Window App Delegate”:

Pada panel utilities, buka tab “Show the connection inspector”. Pada bagian “Received Actions”, seharusnya terdapat item “tampilWindowTambahan”. Buatlah connection dari action “tampilWindowTambahan” ke push button “Tampilkan window tambahan”.

8) Jalankan program dengan cara men-klik tombol Run. Inilah tampilan window utama:

Klik push button “Tampilkan window tambahan”. Inilah tampilannya:

Leave a Reply

Your email address will not be published. Required fields are marked *