Cocoa: Mengelola window tambahan

Cocoa: Mengelola window tambahan

December 12, 2011 Cocoa 0

Tutorial ini adalah sambungan dari: Membuat window tambahan

Setelah tahu caranya membuat window tambahan, kita akan mencoba mengendalikan window tambahan ini dari window utamanya.

1) Buatlah UI seperti ini (MainMenu.xib):

2) Sunting file Header (MultiWindowAppDelegate.h):

[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;
– (IBAction)tampilTeksDiWindowTambahan:(id)sender;
– (IBAction)tutupWindowTambahan:(id)sender;
@end
[/sourcecode]

3) Sunting file implementation (MultiWindowAppDelegate.m):

[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];
}

– (IBAction)tampilTeksDiWindowTambahan:(id)sender{
if (!myWin) {
myWin = [[WindowTambahan alloc] initWithWindowNibName:@"WindowTambahan"];
}
[myWin showWindow:self];
[myWin.myText setStringValue:@"Dari Window utama"];
}

– (IBAction)tutupWindowTambahan:(id)sender{
//[myWin close];

}

@end
[/sourcecode]

4) Inilah tampilan akhir program kita:

 

Klik pada tombol “Tampilkan window tambahan” akan membuat Object window tambahan (jika belum ada) dan menampilkannya. Klik pada tampil teks di window tambahan, akan menampilkan sebuah teks: “Dari window utama” di TextField window tambahan. Klik pada Tutup window tambahan” akan menutup window tambahan. Ingat, window hanya ditutup dan tidak hilang dari memory. Keadaan terakhir window tambahan akan muncul jika kita men-klik lagi tombol “Tampilkan window tambahan”.

Leave a Reply

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