100% found this document useful (1 vote)
14 views

Java Programming 8th Edition Joyce Farrelldownload

The document provides links to download various Java programming ebooks and textbooks, including titles by authors such as Joyce Farrell and Y. Daniel Liang. It includes details about the 8th edition of 'Java Programming' by Joyce Farrell, including its ISBN, file size, and publication year. The document also outlines the table of contents for the book, covering topics from creating Java programs to advanced GUI topics.

Uploaded by

gabuuaster
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
14 views

Java Programming 8th Edition Joyce Farrelldownload

The document provides links to download various Java programming ebooks and textbooks, including titles by authors such as Joyce Farrell and Y. Daniel Liang. It includes details about the 8th edition of 'Java Programming' by Joyce Farrell, including its ISBN, file size, and publication year. The document also outlines the table of contents for the book, covering topics from creating Java programs to advanced GUI topics.

Uploaded by

gabuuaster
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

Download the full version and explore a variety of ebooks

or textbooks at https://ebookultra.com

Java Programming 8th Edition Joyce Farrell

_____ Tap the link below to start your download _____

https://ebookultra.com/download/java-programming-8th-
edition-joyce-farrell/

Find ebooks or textbooks at ebookultra.com today!


We believe these products will be a great fit for you. Click
the link to download now, or visit ebookultra.com
to discover even more!

Java Programming 7th Edition Joyce Farrell

https://ebookultra.com/download/java-programming-7th-edition-joyce-
farrell/

Programming Logic and Design Comprehensive 6th Edition


Joyce Farrell

https://ebookultra.com/download/programming-logic-and-design-
comprehensive-6th-edition-joyce-farrell/

Introduction to Java Programming Brief 8th Edition Edition


Y. Daniel Liang

https://ebookultra.com/download/introduction-to-java-programming-
brief-8th-edition-edition-y-daniel-liang/

Computer programming for teens 1st Edition Mary E. Farrell

https://ebookultra.com/download/computer-programming-for-teens-1st-
edition-mary-e-farrell/
Advanced Java Game Programming Wallace Croft

https://ebookultra.com/download/advanced-java-game-programming-
wallace-croft/

Core Java Volume 1 Fundamentals 8th ed Edition Horstmann

https://ebookultra.com/download/core-java-volume-1-fundamentals-8th-
ed-edition-horstmann/

Java Programming 10 Minute Solutions 1st Edition Mark


Watson

https://ebookultra.com/download/java-programming-10-minute-
solutions-1st-edition-mark-watson/

Killer Game Programming in Java 1st Edition Andrew Davison

https://ebookultra.com/download/killer-game-programming-in-java-1st-
edition-andrew-davison/

Introduction to Programming with Java 3rd Edition John


Dean

https://ebookultra.com/download/introduction-to-programming-with-
java-3rd-edition-john-dean/
Java Programming 8th Edition Joyce Farrell Digital
Instant Download
Author(s): Joyce Farrell
ISBN(s): 9781285856919, 1285856910
Edition: 8th
File Details: PDF, 15.03 MB
Year: 2016
Language: english
EIGHTH EDITION

JAVA PROGRAMMING

JOYCE FARRELL
Java Programming,
Eighth Edition
Joyce Farrell

© 2016, 2014, 2012 Cengage Learning


WCN: 02-200-203

Library of Congress Control Number: 2014956152


ISBN: 978-1-285-85691-9
Cengage Learning
20 Channel Center Street
Boston, MA 02210
USA

Printed in the U nited States of America


Print N umber: 01 Print Year: 2015
Brief Contents
Preface . . . . . . . . . . . . . . . . . . . . . . xxi
CHAPTER 1 Creating Java Programs . . . . . . . . . . . . . . . . 1
CHAPTER 2 Using Data . . . . . . . . . . . . . . . . . . . . . 53
CHAPTER 3 Using Methods, Classes, and Objects . . . . . . . 119
CHAPTER 4 More Object Concepts . . . . . . . . . . . . . . . 183
CHAPTER 5 Making Decisions . . . . . . . . . . . . . . . . . 245
CHAPTER 6 Looping . . . . . . . . . . . . . . . . . . . . . 301
CHAPTER 7 Characters, Strings, and the StringBuilder . . . 353
CHAPTER 8 Arrays . . . . . . . . . . . . . . . . . . . . . . 393
CHAPTER 9 Advanced Array Concepts . . . . . . . . . . . . . 439
CHAPTER 10 Introduction to Inheritance . . . . . . . . . . . . . 491
CHAPTER 11 Advanced Inheritance Concepts . . . . . . . . . . 537
CHAPTER 12 Exception Handling . . . . . . . . . . . . . . . . 593
CHAPTER 13 File Input and Output . . . . . . . . . . . . . . . 665
CHAPTER 14 Introduction to Swing Components . . . . . . . . 729
CHAPTER 15 Advanced GUI Topics . . . . . . . . . . . . . . . 791
CHAPTER 16 Graphics . . . . . . . . . . . . . . . . . . . . . 861
APPENDIX A Working with the Java Platform . . . . . . . . . . . 919
APPENDIX B Data Representation . . . . . . . . . . . . . . . 925
APPENDIX C Formatting Output . . . . . . . . . . . . . . . . 931
APPENDIX D Generating Random Numbers . . . . . . . . . . . 941
APPENDIX E Javadoc . . . . . . . . . . . . . . . . . . . . . 949
Glossary . . . . . . . . . . . . . . . . . . . . 957
Index . . . . . . . . . . . . . . . . . . . . . . 979
Contents
Preface . . . . . . . . . . . . . . . . . . xxi

CHAPT ER 1 Creating Java Programs . . . . . . . . . . . 1


Learning Programming Terminology . . . . . . . . . . . . . . 2
Comparing Procedural and Object-Oriented
Programming Concepts . . . . . . . . . . . . . . . . . . 6
Procedural Programming . . . . . . . . . . . . . . . . . . 6
Object-Oriented Programming . . . . . . . . . . . . . . . . 6
Understanding Classes, Objects, and Encapsulation . . . . . . 7
Understanding Inheritance and Polymorphism . . . . . . . . . 9
Features of the Java Programming Language . . . . . . . . . . 11
Java Program Types . . . . . . . . . . . . . . . . . . . . 12
Analyzing a Java Application that Produces Console Output . . . . 13
Understanding the Statement that Produces the Output . . . . . 14
Understanding the First Class . . . . . . . . . . . . . . . 15
Indent Style . . . . . . . . . . . . . . . . . . . . . . . 18
Understanding the main() Method . . . . . . . . . . . . . 19
Saving a Java Class . . . . . . . . . . . . . . . . . . . . 21
Compiling a Java Class and Correcting Syntax Errors . . . . . . . 23
Compiling a Java Class . . . . . . . . . . . . . . . . . . . 23
Correcting Syntax Errors . . . . . . . . . . . . . . . . . . 24
Running a Java Application and Correcting Logic Errors . . . . . . 29
Running a Java Application . . . . . . . . . . . . . . . . . 29
Modifying a Compiled Java Class . . . . . . . . . . . . . . 30
Correcting Logic Errors . . . . . . . . . . . . . . . . . . 31
Adding Comments to a Java Class . . . . . . . . . . . . . . . 32
Creating a Java Application that Produces GUI Output . . . . . . 35
Finding Help . . . . . . . . . . . . . . . . . . . . . . . . 38
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . . 39
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . 41
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . 45
Review Questions . . . . . . . . . . . . . . . . . . . . . . 46
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . 48
Programming Exercises . . . . . . . . . . . . . . . . . . 48
Debugging Exercises . . . . . . . . . . . . . . . . . . . 50
Game Zone . . . . . . . . . . . . . . . . . . . . . . . . 50
Case Problems . . . . . . . . . . . . . . . . . . . . . . 51

CHAPT ER 2 Using Data . . . . . . . . . . . . . . . . . 53


Declaring and Using Constants and Variables . . . . . . . . . . 54
Declaring Variables . . . . . . . . . . . . . . . . . . . . 55
Declaring Named Constants . . . . . . . . . . . . . . . . 56
The Scope of Variables and Constants . . . . . . . . . . . . 58
Concatenating Strings to Variables and Constants . . . . . . . 58
Pitfall: Forgetting that a Variable Holds
One Value at a Time . . . . . . . . . . . . . . . . . . . 60
Learning About Integer Data Types . . . . . . . . . . . . . . 64
Using the boolean Data Type . . . . . . . . . . . . . . . . . 70
Learning About Floating-Point Data Types . . . . . . . . . . . . 71
Using the char Data Type . . . . . . . . . . . . . . . . . . 72
Using the Scanner Class to Accept Keyboard Input . . . . . . . 78
Pitfall: Using nextLine() Following One of the
Other Scanner Input Methods . . . . . . . . . . . . . . 81
Using the JOptionPane Class to Accept GUI Input . . . . . . . 87
Using Input Dialog Boxes . . . . . . . . . . . . . . . . . . 87
Using Confirm Dialog Boxes . . . . . . . . . . . . . . . . 91
Performing Arithmetic . . . . . . . . . . . . . . . . . . . . 93
Associativity and Precedence . . . . . . . . . . . . . . . . 95
Writing Arithmetic Statements Efficiently . . . . . . . . . . . 96
Pitfall: Not Understanding Imprecision
in Floating-Point Numbers . . . . . . . . . . . . . . . . 96
Understanding Type Conversion . . . . . . . . . . . . . . . 101
Automatic Type Conversion . . . . . . . . . . . . . . . . 101
Explicit Type Conversions . . . . . . . . . . . . . . . . 102
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 106
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 107
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 111
Review Questions . . . . . . . . . . . . . . . . . . . . . 111
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 114
Programming Exercises . . . . . . . . . . . . . . . . . 114
Debugging Exercises . . . . . . . . . . . . . . . . . . 116
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 117
Case Problems . . . . . . . . . . . . . . . . . . . . . 118

CHAPT ER 3 Using Methods, Classes, and Objects . . . . 119


Understanding Method Calls and Placement . . . . . . . . . . 120
Understanding Method Construction . . . . . . . . . . . . . 123
Access Specifiers . . . . . . . . . . . . . . . . . . . . 123
Return Type . . . . . . . . . . . . . . . . . . . . . . 124
Method Name . . . . . . . . . . . . . . . . . . . . . 125
Parentheses . . . . . . . . . . . . . . . . . . . . . . 125
Adding Parameters to Methods . . . . . . . . . . . . . . . 129
Creating a Method that Receives a Single Parameter . . . . . 130
Creating a Method that Requires Multiple Parameters . . . . . 133
Creating Methods that Return Values . . . . . . . . . . . . . 136
Chaining Method Calls . . . . . . . . . . . . . . . . . . 138
Learning About Classes and Objects . . . . . . . . . . . . . 142
Creating a Class . . . . . . . . . . . . . . . . . . . . . 145
Creating Instance Methods in a Class . . . . . . . . . . . . 147
Organizing Classes . . . . . . . . . . . . . . . . . . . 150
Declaring Objects and Using their Methods . . . . . . . . . . 154
Understanding Data Hiding . . . . . . . . . . . . . . . . 156
An Introduction to Using Constructors . . . . . . . . . . . . 159
Understanding that Classes Are Data Types . . . . . . . . . . 163
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 168
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 168
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 170
Review Questions . . . . . . . . . . . . . . . . . . . . . 171
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 174
Programming Exercises . . . . . . . . . . . . . . . . . 174
Debugging Exercises . . . . . . . . . . . . . . . . . . 177
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 178
Case Problems . . . . . . . . . . . . . . . . . . . . . 179
CHAPT ER 4 More Object Concepts . . . . . . . . . . . 183
Understanding Blocks and Scope . . . . . . . . . . . . . . 184
Overloading a Method . . . . . . . . . . . . . . . . . . . 192
Automatic Type Promotion in Method Calls . . . . . . . . . 194
Learning About Ambiguity . . . . . . . . . . . . . . . . . 199
Creating and Calling Constructors with Parameters . . . . . . . 200
Overloading Constructors . . . . . . . . . . . . . . . . 201
Learning About the this Reference . . . . . . . . . . . . . 205
Using the this Reference to Make Overloaded Constructors
More Efficient . . . . . . . . . . . . . . . . . . . . . 209
Using static Fields . . . . . . . . . . . . . . . . . . . 213
Using Constant Fields . . . . . . . . . . . . . . . . . . 215
Using Automatically Imported, Prewritten Constants
and Methods . . . . . . . . . . . . . . . . . . . . . . 220
The Math Class . . . . . . . . . . . . . . . . . . . . 221
Importing Classes that Are Not Imported Automatically . . . . 223
Using the LocalDate Class . . . . . . . . . . . . . . . 224
Understanding Composition and Nested Classes . . . . . . . . 230
Composition . . . . . . . . . . . . . . . . . . . . . . 230
Nested Classes . . . . . . . . . . . . . . . . . . . . . 232
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 234
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 234
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 236
Review Questions . . . . . . . . . . . . . . . . . . . . . 236
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 239
Programming Exercises . . . . . . . . . . . . . . . . . 239
Debugging Exercises . . . . . . . . . . . . . . . . . . 242
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 242
Case Problems . . . . . . . . . . . . . . . . . . . . . 243

CHAPT ER 5 Making Decisions . . . . . . . . . . . . . 245


Planning Decision-Making Logic . . . . . . . . . . . . . . . 246
The if and if…else Statements . . . . . . . . . . . . . . 248
The if Statement . . . . . . . . . . . . . . . . . . . . 248
Pitfall: Misplacing a Semicolon in an if Statement . . . . . . 249
Pitfall: Using the Assignment Operator Instead
of the Equivalency Operator . . . . . . . . . . . . . . 250
Pitfall: Attempting to Compare Objects
Using the Relational Operators . . . . . . . . . . . . . 251
The if…else Statement . . . . . . . . . . . . . . . . . 251
Using Multiple Statements in if and if…else Clauses . . . . 254
Nesting if and if…else Statements . . . . . . . . . . . . 260
Using Logical AND and OR Operators . . . . . . . . . . . . 263
The AND Operator . . . . . . . . . . . . . . . . . . . . 263
The OR Operator . . . . . . . . . . . . . . . . . . . . 265
Short-Circuit Evaluation . . . . . . . . . . . . . . . . . . 266
Making Accurate and Efficient Decisions . . . . . . . . . . . 269
Making Accurate Range Checks . . . . . . . . . . . . . . 270
Making Efficient Range Checks . . . . . . . . . . . . . . 272
Using && and || Appropriately . . . . . . . . . . . . . . 273
Using the switch Statement . . . . . . . . . . . . . . . . 274
Using the Conditional and NOT Operators . . . . . . . . . . . 280
Using the NOT Operator . . . . . . . . . . . . . . . . . 281
Understanding Operator Precedence . . . . . . . . . . . . . 282
Adding Decisions and Constructors
to Instance Methods . . . . . . . . . . . . . . . . . . . 285
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 289
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 289
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 291
Review Questions . . . . . . . . . . . . . . . . . . . . . 291
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 294
Programming Exercises . . . . . . . . . . . . . . . . . 294
Debugging Exercises . . . . . . . . . . . . . . . . . . 297
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 297
Case Problems . . . . . . . . . . . . . . . . . . . . . 299

CHAPT ER 6 Looping . . . . . . . . . . . . . . . . . 301


Learning About the Loop Structure . . . . . . . . . . . . . . 302
Creating while Loops . . . . . . . . . . . . . . . . . . 303
Writing a Definite while Loop . . . . . . . . . . . . . . 303
Pitfall: Failing to Alter the Loop Control Variable
Within the Loop Body . . . . . . . . . . . . . . . . . 305
Pitfall: Unintentionally Creating a Loop with
an Empty Body . . . . . . . . . . . . . . . . . . . . 306
Altering a Definite Loop’s Control Variable . . . . . . . . . . 307
Writing an Indefinite while Loop . . . . . . . . . . . . . 308
Validating Data . . . . . . . . . . . . . . . . . . . . . 310
Using Shortcut Arithmetic Operators . . . . . . . . . . . . . 314
Creating a for Loop . . . . . . . . . . . . . . . . . . . 319
Unconventional for Loops . . . . . . . . . . . . . . . . 320
Learning How and When to Use a do…while Loop . . . . . . 325
Learning About Nested Loops . . . . . . . . . . . . . . . . 328
Improving Loop Performance . . . . . . . . . . . . . . . . 333
Avoiding Unnecessary Operations . . . . . . . . . . . . . 333
Considering the Order of Evaluation of Short-Circuit
Operators . . . . . . . . . . . . . . . . . . . . . . 334
Comparing to Zero . . . . . . . . . . . . . . . . . . . 334
Employing Loop Fusion . . . . . . . . . . . . . . . . . . 336
Using Prefix Incrementing Rather than Postfix
Incrementing . . . . . . . . . . . . . . . . . . . . . 337
A Final Note on Improving Loop Performance . . . . . . . . 338
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 342
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 342
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 344
Review Questions . . . . . . . . . . . . . . . . . . . . . 344
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 347
Programming Exercises . . . . . . . . . . . . . . . . . 347
Debugging Exercises . . . . . . . . . . . . . . . . . . 350
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 350
Case Problems . . . . . . . . . . . . . . . . . . . . . 352

CHAPT ER 7 Characters, Strings, and


the StringBuilder . . . . . . . . . . . . 353
Understanding String Data Problems . . . . . . . . . . . . . 354
Using Character Class Methods . . . . . . . . . . . . . . 355
Declaring and Comparing String Objects . . . . . . . . . . 359
Comparing String Values . . . . . . . . . . . . . . . . 359
Empty and null Strings . . . . . . . . . . . . . . . . . 363
Using Other String Methods . . . . . . . . . . . . . . . 365
Converting String Objects to Numbers . . . . . . . . . . 369
Learning About the StringBuilder
and StringBuffer Classes . . . . . . . . . . . . . . 374
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 381
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 382
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 382
Review Questions . . . . . . . . . . . . . . . . . . . . . 383
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 385
Programming Exercises . . . . . . . . . . . . . . . . . 385
Debugging Exercises . . . . . . . . . . . . . . . . . . 388
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 388
Case Problems . . . . . . . . . . . . . . . . . . . . . 391

CHAPT ER 8 Arrays . . . . . . . . . . . . . . . . . . 393


Declaring Arrays . . . . . . . . . . . . . . . . . . . . . 394
Initializing an Array . . . . . . . . . . . . . . . . . . . . 399
Using Variable Subscripts with an Array . . . . . . . . . . . . 402
Using the Enhanced for Loop . . . . . . . . . . . . . . 403
Using Part of an Array . . . . . . . . . . . . . . . . . . 404
Declaring and Using Arrays of Objects . . . . . . . . . . . . 406
Using the Enhanced for Loop with Objects . . . . . . . . . 408
Manipulating Arrays of Strings . . . . . . . . . . . . . 408
Searching an Array and Using Parallel Arrays . . . . . . . . . 414
Using Parallel Arrays . . . . . . . . . . . . . . . . . . . 415
Searching an Array for a Range Match . . . . . . . . . . . 418
Passing Arrays to and Returning Arrays from Methods . . . . . 422
Returning an Array from a Method . . . . . . . . . . . . . 426
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 428
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 428
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 429
Review Questions . . . . . . . . . . . . . . . . . . . . . 430
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 433
Programming Exercises . . . . . . . . . . . . . . . . . 433
Debugging Exercises . . . . . . . . . . . . . . . . . . 435
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 435
Case Problems . . . . . . . . . . . . . . . . . . . . . 438
CHAPT ER 9 Advanced Array Concepts . . . . . . . . . 439
Sorting Array Elements Using the Bubble Sort Algorithm . . . . 440
Using the Bubble Sort Algorithm . . . . . . . . . . . . . . 440
Improving Bubble Sort Efficiency . . . . . . . . . . . . . 442
Sorting Arrays of Objects . . . . . . . . . . . . . . . . . 443
Sorting Array Elements Using the Insertion Sort Algorithm . . . . 448
Using Two-Dimensional and Other Multidimensional Arrays . . . . 452
Passing a Two-Dimensional Array to a Method . . . . . . . . 454
Using the length Field with a Two-Dimensional Array . . . . 455
Understanding Ragged Arrays . . . . . . . . . . . . . . . 456
Using Other Multidimensional Arrays . . . . . . . . . . . . 456
Using the Arrays Class . . . . . . . . . . . . . . . . . . 459
Using the ArrayList Class . . . . . . . . . . . . . . . . 467
Creating Enumerations . . . . . . . . . . . . . . . . . . . 472
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 479
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 479
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 480
Review Questions . . . . . . . . . . . . . . . . . . . . . 481
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 484
Programming Exercises . . . . . . . . . . . . . . . . . 484
Debugging Exercises . . . . . . . . . . . . . . . . . . 486
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 487
Case Problems . . . . . . . . . . . . . . . . . . . . . 490

CHAPT ER 10 Introduction to Inheritance . . . . . . . . . 491


Learning About the Concept of Inheritance . . . . . . . . . . 492
Diagramming Inheritance Using the UML . . . . . . . . . . 492
Inheritance Terminology . . . . . . . . . . . . . . . . . 495
Extending Classes . . . . . . . . . . . . . . . . . . . . . 496
Overriding Superclass Methods . . . . . . . . . . . . . . . 502
Using the @Override Tag . . . . . . . . . . . . . . . . 504
Calling Constructors During Inheritance . . . . . . . . . . . . 507
Using Superclass Constructors that
Require Arguments . . . . . . . . . . . . . . . . . . 508
Accessing Superclass Methods . . . . . . . . . . . . . . . 513
Comparing this and super . . . . . . . . . . . . . . . 515
Employing Information Hiding . . . . . . . . . . . . . . . . 516
Methods You Cannot Override . . . . . . . . . . . . . . . . 518
A Subclass Cannot Override static Methods in
Its Superclass . . . . . . . . . . . . . . . . . . . . 518
A Subclass Cannot Override final Methods in
Its Superclass . . . . . . . . . . . . . . . . . . . . 522
A Subclass Cannot Override Methods
in a final Superclass . . . . . . . . . . . . . . . . 523
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 525
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 525
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 526
Review Questions . . . . . . . . . . . . . . . . . . . . . 527
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 530
Programming Exercises . . . . . . . . . . . . . . . . . 530
Debugging Exercises . . . . . . . . . . . . . . . . . . 533
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 534
Case Problems . . . . . . . . . . . . . . . . . . . . . 535

CHAPT ER 11 Advanced Inheritance Concepts . . . . . . . 537


Creating and Using Abstract Classes . . . . . . . . . . . . . 538
Using Dynamic Method Binding . . . . . . . . . . . . . . . 547
Using a Superclass as a Method Parameter Type . . . . . . 549
Creating Arrays of Subclass Objects . . . . . . . . . . . . . 551
Using the Object Class and Its Methods . . . . . . . . . . . 554
Using the toString() Method . . . . . . . . . . . . . 556
Using the equals() Method . . . . . . . . . . . . . . . 559
Using Inheritance to Achieve Good Software Design . . . . . . 564
Creating and Using Interfaces . . . . . . . . . . . . . . . . 565
Creating Interfaces to Store Related Constants . . . . . . . 570
Creating and Using Packages . . . . . . . . . . . . . . . . 574
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 580
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 580
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 581
Review Questions . . . . . . . . . . . . . . . . . . . . . 582
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 585
Programming Exercises . . . . . . . . . . . . . . . . . 585
Debugging Exercises . . . . . . . . . . . . . . . . . . 589
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 590
Case Problems . . . . . . . . . . . . . . . . . . . . . 590
CHAPT ER 12 Exception Handling . . . . . . . . . . . . 593
Learning About Exceptions . . . . . . . . . . . . . . . . . 594
Trying Code and Catching Exceptions . . . . . . . . . . . . 599
Using a try Block to Make Programs “Foolproof” . . . . . . 604
Declaring and Initializing Variables in try…catch Blocks . . . 606
Throwing and Catching Multiple Exceptions . . . . . . . . . . 609
Using the finally Block . . . . . . . . . . . . . . . . . 615
Understanding the Advantages of Exception Handling . . . . . . 618
Specifying the Exceptions that a Method Can Throw . . . . . . 621
Tracing Exceptions Through the Call Stack . . . . . . . . . . 626
Creating Your Own Exception Classes . . . . . . . . . . . 630
Using Assertions . . . . . . . . . . . . . . . . . . . . . 634
Displaying the Virtual Keyboard . . . . . . . . . . . . . . . 650
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 653
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 654
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 655
Review Questions . . . . . . . . . . . . . . . . . . . . . 656
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 659
Programming Exercises . . . . . . . . . . . . . . . . . 659
Debugging Exercises . . . . . . . . . . . . . . . . . . 662
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 662
Case Problems . . . . . . . . . . . . . . . . . . . . . 663

CHAPT ER 13 File Input and Output . . . . . . . . . . . . 665


Understanding Computer Files . . . . . . . . . . . . . . . 666
Using the Path and Files Classes . . . . . . . . . . . . . 667
Creating a Path . . . . . . . . . . . . . . . . . . . . . 668
Retrieving Information About a Path . . . . . . . . . . . . 669
Converting a Relative Path to an Absolute One . . . . . . . . 670
Checking File Accessibility . . . . . . . . . . . . . . . . 671
Deleting a Path . . . . . . . . . . . . . . . . . . . . . 673
Determining File Attributes . . . . . . . . . . . . . . . . 674
File Organization, Streams, and Buffers . . . . . . . . . . . . 678
Using Java’s IO Classes . . . . . . . . . . . . . . . . . . 680
Writing to a File . . . . . . . . . . . . . . . . . . . . . 683
Reading from a File . . . . . . . . . . . . . . . . . . . 685
Creating and Using Sequential Data Files . . . . . . . . . . . 687
Learning About Random Access Files . . . . . . . . . . . . 693
Writing Records to a Random Access Data File . . . . . . . . 697
Reading Records from a Random Access Data File . . . . . . . 704
Accessing a Random Access File Sequentially . . . . . . . . 704
Accessing a Random Access File Randomly . . . . . . . . . 705
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 719
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 719
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 720
Review Questions . . . . . . . . . . . . . . . . . . . . . 721
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 724
Programming Exercises . . . . . . . . . . . . . . . . . 724
Debugging Exercises . . . . . . . . . . . . . . . . . . 726
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 727
Case Problems . . . . . . . . . . . . . . . . . . . . . 727

CHAPT ER 14 Introduction to Swing Components . . . . . 729


Understanding Swing Components . . . . . . . . . . . . . 730
Using the JFrame Class . . . . . . . . . . . . . . . . . . 731
Customizing a JFrame’s Appearance . . . . . . . . . . . 734
Using the JLabel Class . . . . . . . . . . . . . . . . . . 738
Changing a JLabel’s Font . . . . . . . . . . . . . . . . 740
Using a Layout Manager . . . . . . . . . . . . . . . . . . 743
Extending the JFrame Class . . . . . . . . . . . . . . . . 746
Adding JTextFields, JButtons, and Tool Tips to a
JFrame . . . . . . . . . . . . . . . . . . . . . . . . 748
Adding JTextFields . . . . . . . . . . . . . . . . . . 748
Adding JButtons . . . . . . . . . . . . . . . . . . . 750
Using Tool Tips . . . . . . . . . . . . . . . . . . . . . 752
Learning About Event-Driven Programming . . . . . . . . . . 755
Preparing Your Class to Accept Event Messages . . . . . . . 756
Telling Your Class to Expect Events to Happen . . . . . . . 757
Telling Your Class How to Respond to Events . . . . . . . . 757
An Event-Driven Program . . . . . . . . . . . . . . . . . 757
Using Multiple Event Sources . . . . . . . . . . . . . . . 759
Using the setEnabled() Method . . . . . . . . . . . . 761
Understanding Swing Event Listeners . . . . . . . . . . . . 764
Using the JCheckBox, ButtonGroup, and JComboBox
Classes . . . . . . . . . . . . . . . . . . . . . . . . 767
The JCheckBox Class . . . . . . . . . . . . . . . . . 767
The ButtonGroup Class . . . . . . . . . . . . . . . . 771
The JComboBox Class . . . . . . . . . . . . . . . . . 772
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 780
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 780
Chapter Summary . . . . . . . . . . . . . . . . . . . . . 781
Review Questions . . . . . . . . . . . . . . . . . . . . . 783
Exercises . . . . . . . . . . . . . . . . . . . . . . . . 785
Programming Exercises . . . . . . . . . . . . . . . . . 785
Debugging Exercises . . . . . . . . . . . . . . . . . . 787
Game Zone . . . . . . . . . . . . . . . . . . . . . . . 787
Case Problems . . . . . . . . . . . . . . . . . . . . . 788

CHAPT ER 15 Advanced GUI Topics . . . . . . . . . . . 791


Understanding the Content Pane . . . . . . . . . . . . . . 792
Using Color . . . . . . . . . . . . . . . . . . . . . . . 795
Learning More About Layout Managers . . . . . . . . . . . . 797
Using BorderLayout . . . . . . . . . . . . . . . . . 798
Using FlowLayout . . . . . . . . . . . . . . . . . . . 800
Using GridLayout . . . . . . . . . . . . . . . . . . . 802
Using CardLayout . . . . . . . . . . . . . . . . . . . 803
Using Advanced Layout Managers . . . . . . . . . . . . . 805
Using the JPanel Class . . . . . . . . . . . . . . . . . . 813
Creating JScrollPanes . . . . . . . . . . . . . . . . . 821
A Closer Look at Events and Event Handling . . . . . . . . . . 824
An Event-Handling Example: KeyListener . . . . . . . . 827
Using AWTEvent Class Methods . . . . . . . . . . . . . . 830
Understanding x- and y-Coordinates . . . . . . . . . . . . 832
Handling Mouse Events . . . . . . . . . . . . . . . . . . 832
Using Menus . . . . . . . . . . . . . . . . . . . . . . . 837
Using Specialized Menu Items . . . . . . . . . . . . . . . 841
Using addSeparator() . . . . . . . . . . . . . . . . 843
Using setMnemonic() . . . . . . . . . . . . . . . . . 843
Don’t Do It . . . . . . . . . . . . . . . . . . . . . . . . 848
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . 849
Exploring the Variety of Random
Documents with Different Content
months later; the rebels, completely surprised, suffered severely,
and hastened to tender their submission.

KAPIT FORT—REJANG RIVER.

The turn of the Katibas was to follow shortly. The Kapuas Dayaks
over the border were still unchecked, and knowing how incapable
the Dutch officials were to subdue them, and secure as they
believed themselves to be behind the frontier, they became insolent,
and in February collected a large force of over 2000 fighting men to
punish the Dayaks up the Batang Lupar for having submitted to the
Rajah. They came within two hours' march of Lobok Antu fort, but
here they found the Resident of the district at the head of a large
force blocking their way. The Dutch Controleur in vain endeavoured
to persuade these Dayaks to disperse and return to their homes; and
they had the insolence to send the Resident an intimation that they
would do so if he paid them a fine of eight old jars, and declared
that if this were refused, they would attack Lobok Antu in force. As
the Resident could not cross the border to punish them, this was just
what he wanted them to do, and he was perfectly prepared to give
them a hot reception. But they changed their minds and withdrew,
leaving him greatly disappointed that he had not been able to
administer to them a much-needed chastisement.
But these Dayaks were not to be allowed to play fast and loose
much longer, for towards the end of 1876, the Resident of Western
Borneo administered a severe lesson to the rebels, destroying all
their villages and killing a great number of the men. His expedition,
conducted with vigour and thoroughness, was completely successful.
In October, 1876, the Rajah for the fourth and last time attacked the
Katibas Dayaks with a small force of about a thousand Dayaks and
Malays. This led to the submission of these people, and they were
forced to leave the Katibas river, and move to the main river. Since
then no Dayaks have been allowed to live on the Katibas, and from
the Rejang side the border troubles almost ceased.
Early in 1879, led away by their principal chief, Lang Endang (the
Hovering Hawk), a Government pengulu, the Sekrang Dayaks
prepared to attack their old enemies, the Kantu Dayaks, in
Netherlands Borneo. They were prevented in time, information of
their purpose having been conveyed to the Government. Their war-
prahus were destroyed, and a heavy fine was imposed upon them.
Lang Endang, whilst professing loyalty to the Government, was
secretly inciting the Sekrangs to resist, and they refused to pay the
fine. Lang Endang offered to attack the recalcitrants if a party of
Malays was sent to support him, but, as the Government was well
aware that treachery was meditated, the offer was declined. Acting
under instructions from headquarters, the Resident entered the
Sekrang at the head of a large body of Malays and Kalaka, Saribas
and Batang Lupar Dayaks in April. Lang Endang had assured the
Government that he would not allow the Sekrangs to make a stand
in his district, but at the same time he had collected them secretly
around his long-house, and his plan was to fall on the Government
bala and take it by surprise. This he succeeded in doing. A large
horde of armed savages surrounded the punitive force and attacked
it, but the Sekrangs were badly worsted and lost many killed and
wounded; the Government forces advanced, driving the rebels
before them, and Lang Endang's village was burnt to the ground.
The Sekrangs then submitted, paid the fine, and deposited pledges
for future good behaviour. Lang Endang was declared an outlaw. He
was driven from one place to another, and although he was burnt
out several times, he managed to escape with his life. Finally he was
suffered to settle by himself in the Kanowit, a broken-down old man,
without power to do more harm. The Sekrangs had for many years
been the Rajah's devoted followers; since this final outbreak they
have given no more trouble, and have regained their good character.
After the establishment of the fort at the mouth of the Baleh, since
removed down to Kapit in 1877, the Ulu Ai Dayaks gradually moved
into that river, and in 1880, it was thickly populated by them.
Scattered among the numerous Dayak villages on this river were
small parties of refractory Dayaks, who had been guilty of several
murders to obtain heads, and with heads renown. Though the
majority of the Baleh Dayaks were well affected, and had no
sympathy with these young head-hunters, they refused to give them
up. Thereupon they were offered two alternatives, either they must
surrender these murderers, or else move from the river to the lower
waters and leave them and their followers to their fate. They chose
the latter alternative. Then the refractory party retired up the
Mujong branch of the Baleh, and established themselves at the foot
of a lofty, precipitous mountain called Bukit Batu. Upon an almost
inaccessible crag of this they erected a stockade, to which they could
retreat in the event of being attacked, and draw up their ladders
after them. Here they considered themselves to be secure from
punishment, and in a position to raid neighbouring tribes, carry off
heads, and to defy the power of the Rajah. To prevent this and to
cut off their supplies, a stockade was built at the mouth of the
Mujong, and again another at the mouth of the branch stream that
flowed from the mountain. A few were intimidated and came in, but
the rest, though they suffered great privations, held out and evinced
their determination not to surrender by cutting off three Malays, who
incautiously had left the upper stockade to go fishing. They were
attacked by the Rajah in February, 1881, several were killed, and
their houses were burnt down; but this punishment proving
ineffectual, the Rajah again attacked them in the following
September, when they suffered heavier losses. After this second
lesson they sent in their women and children as hostages and
tendered submission. Then Bukit Batu was abandoned to its original
inhabitants, the wild Punans; and the Dayaks were not allowed to
live any more in the Baleh.
In 1884, a large force of Seriang Dayaks from Netherlands Borneo,
under the leadership of pates, chiefs appointed by the Dutch
Government, attacked Padang Kumang, also on the Dutch side,
killing nine and wounding five more, and in this expedition they were
joined by a Batang Lupar Ulu Ai chief, Ngumbang, with 300
followers. A heavy fine was imposed upon Ngumbang, and he was
ordered to remove farther down the river, where he could be closely
watched. He refused to pay and to move, on the plea that the Dutch
Dayaks had been the originators and leaders of the raid, and that he
did not see why punishment should fall on his head, whereas they
were allowed to go scot free. Similar attacks continued to be made,
not only on the Kapuas side of the frontier, but also upon the
Lemanaks and Sekrangs on the Sarawak side, and the whole of this
part of the country was in a ferment and disorder. On Kadang ridge,
upon the border, and in its vicinity, numbers of unruly Ulu Ai Dayaks
had settled, some on one side, some on the other, taking advantage
of their position to slip across when fearing molestation. These
Dayaks were being continually augmented by impetuous young
bloods eager to acquire reputation for bravery. Nothing could be
done to reduce them without the consent, if not the co-operation, of
the Dutch authorities, and the Rajah applied to the Netherlands
Government to permit him to disregard the border, for this once at
least. And as this hornet's nest had become a menace to the
peaceful in Dutch Borneo as well as in Sarawak, consent was given.
In March, 1886, the Rajah advanced against Kadang with a large
force of 12,000 men. The whole country in the vicinity of Kadang on
both sides of the frontier was laid waste; eighty villages were burnt,
and although the rebels made no determined stand, many were
killed or wounded. This expedition was eminently successful, as it
not only resulted in the submission of the rebel Dayaks on the
Sarawak side, including the chief Ngumbang, but also caused
consternation among those over the border, who found that they
were no longer safe there, and they were prepared to submit to any
conditions the Rajah might impose upon them, rather than incur the
risk of another attack.
In appreciation of the signal services rendered to the country under
his control by the success of this expedition, in September, 1886, the
Netherlands Resident of Western Borneo wrote to the Rajah:—
Yesterday I received from the Comptroller the important information that the
last inhabitants of Bukit Kadang, who till now have refused to submit, have
been taken prisoners and brought to Sintang,[329] where they will be tried
before the competent judge. On Netherlands Territory in the frontier lands
there are now no more rebellious Batang Lupars. Whilst congratulating you
once more, dear Rajah, with this result, being due to the success of your
expedition, I assure you that my functionaries will always earnestly co-operate
for the conclusion of the Batang Lupar question.
The united efforts of the Netherlands and Sarawak Governments
have done much towards suppressing the border troubles. A clear
understanding has been arrived at in regard to the mutual
management of these turbulent Ulu Ai Dayaks. The Netherlands and
Sarawak officials frequently correspond and meet to discuss
arrangements, and the assistance afforded by the former has been
fully recognised and acknowledged in the pages of the Sarawak
Gazette.
Not only in connection with these particular border-troubles, but in
all other matters, the relations between the two Governments have
for years past invariably been conducted in a spirit of mutual
consideration and support, and with a wholesome absence of red-
tapeism.

FORT ALICE, SIMANGGANG.

On June 27, 1888, in Lobok Antu fort, peace was formally made in
the presence of the Netherlands and Sarawak officials, with the
usual ceremonies of pig-killing between the Ulu Ai Dayaks and the
Malohs of Kapuas, thus bringing to an end a feud that had existed
for many generations, and at the same time peace was made
between the Ulu Ai and the Kantu Dayaks of Kapuas. A similar peace
between the Ulu Ai of the Rejang and the Malohs and Tamans had
been concluded at Kapit fort a short time before.
After a long term of peace, in 1890, five young Ulu Ai Dayaks, whilst
on a visit to the Kapuas, came across and killed eight Bunut Malays,
but bearing in mind the former act of treachery of these Malays, the
people had no sympathy with the victims; however, the chiefs
averted serious consequences to their country by themselves
arresting the murderers and surrendering them to the Government
for punishment.
In March of the same year, some Dayaks from Samunok, on the
Dutch side, made a raid into Sarawak territory and killed twelve
Kunjong Dayaks on their padi-farm. Two of these murderers were
killed by Dutch soldiers, and a heavy fine was imposed on the rest.
The district watered by the great Rejang river, after which it is
named, is, regarding it from a political point of view, the most
important one in the State; and, owing to its large and diversified
population, is the most difficult to govern. It contains about half the
native population of Sarawak. Into it the Sea-Dayaks have spread
from the Batang Lupar, and in a lesser degree from the Saribas, and
have so multiplied that in numbers they now far exceed those in the
adjacent districts of Kalaka, Saribas, and Batang Lupar together,
without any diminution in the Sea-Dayak population of these
districts, which has for years been steadily increasing.[330] Besides
the many Kenyahs and Kayans, more numerous than they are in the
Baram, scattered over the interior are the more aboriginal and wilder
tribes, such as the Punans, the Ukits, the Bukitans, and others not
found elsewhere than in the Rejang. In the old days these tribes
were at feud with each other, and all were at feud with the Dayaks.
The intertribal feuds between themselves have been brought to an
end, but those between them and the Dayaks keep on breaking out
spasmodically. These are old blood-feuds, which undoubtedly
originated with the interior tribes, and arose probably from an
instinctive fear of the gradual advance of a more dominant race into
their country, and from a not unnatural desire to check it. So far as
the main population of the Sea-Dayaks is concerned these feuds
have long ceased, but with the Ulu Ai Dayaks of the Rejang, those
living on the head-waters, brought as they are by their situation in
contact with these interior tribes, the case is different. The Ulu Ai
Dayaks have not always been the aggressors, even in recent times,
but of late it has been mainly due to their vindictiveness that all
attempts to put an end to these feuds have been frustrated. For this
the young men have been mostly to blame, who, when away in the
remote interior collecting jungle produce, and beyond even the weak
control of their own chiefs, meeting with detached parties of their
old foes take such opportunities of gaining renown as warriors,
which awaits the return of a Dayak with a head trophy, however
meanly obtained. Indiscriminate retaliation follows in the train of
these acts, the victims being the first Dayaks met with, nearly
always men guiltless of any hostile act, and often peaceable produce
collectors from other parts of the country. So fresh feuds are
established. Several wanton crimes of this nature committed by the
Dayaks of the Upper Rejang led to their being attacked by the Rajah
in May, 1894, all other forms of punishment, even the extreme
penalty of death, having failed to deter them from repeating these
acts.
The Ulu Ai Dayaks have always been the most troublesome, and, as
we have pointed out, are now the sole offenders. Not only are these
people at enmity with the alien tribes above them, and those
inhabiting the head-waters of the Mahkam (Koti), the Batang Kayan
(Belungan), and the Kapuas, but also with the Dayaks living below
them. Yet they have their redeeming points, especially those of the
upper Rejang, who are a hard-working people. Many thousands of
dollars worth of gutta-percha, india-rubber, and rattans annually
pass from their hands to the Chinese traders, and the bulk of the
jungle produce exported comes from the Rejang. The money so
earned by them is not always converted into useless old jars and
brassware, the usual outward signs of richness amongst Dayaks, but
is placed with the Chinese on interest, and upon good security; and
in such transactions the Dayaks are safeguarded by a Government
regulation, which they are careful to see is not evaded.
After several years of tranquillity, in 1897 troubles again arose in the
Batang Lupar. An Ulu Ai named Bantin, a man of no rank, collected a
few kindred restless and badly disposed Dayaks, and, under the
pretence of wrongs, more or less imaginary, done to him and his
people in former times, made several petty raids against Dayaks
living farther down-river. Trifling as the successes were that he
obtained they were sufficient to gain for him renown as a leader, and
not only the addition of more followers, but the co-operation of a
few chiefs living in his neighbourhood,—turbulent characters who
had been subdued before, but who were only waiting for a
favourable opportunity to break out again. The people were attacked
in March, 1897, and, amongst others, Bantin's eldest son was killed.
A few months later he was severely handled again for attacking
some Dayaks living below Lobok Antu, and this lesson was
apparently sufficient to keep his hands off his neighbours for a few
years.
But in March, 1902, he again broke out, and on two occasions
attacked inoffensive Dayaks below Lobok Antu, killing four; and this
led to perhaps the most tragic event that the annals of Sarawak
record.
The Rajah at once organised an expedition with the object of
crushing and scattering this nest of rebels. To do this successfully a
large force was necessary to block all roads by which the rebels
could escape, especially those leading over the border; but,
unfortunately, an unprecedented number of Dayaks, some 12,000,
turned out at the bidding of their Ruler, far more than were wanted
or expected.
Leaving Simanggang Fort on June 9, under the command of Mr. H. F.
Deshon, the Resident of the 3rd Division,[331] with whom was the
Rajah Muda and Mr. D. J. S. Bailey, the Resident of Batang Lupar and
Saribas,[332] the force reached Nanga Delok on the 12th. Here the
boats were to be left, and the bala was to march inland in divisions.
With a company of Rangers, a strong and well-equipped body of
Malays, and an overwhelming force of Dayaks success seemed
assured; but a foe more dreadful than any human enemy attacked
the camp, and in a few hours had claimed many victims. Cholera had
broken out, and rapidly spread. Panic-stricken, with their dead[333]
and dying, the Dayaks at once turned their bangkongs homewards,
and by mid-day of the 14th, of 815 boats that had collected at
Nanga Delok, but nineteen remained, with the Malay contingent, and
the Rangers, who lost eight of their comrades, and their senior non-
commissioned officer. Of the small force of Dayaks who had so
bravely stood by their leaders, only a hundred, or under one half,
were available for service. These, under their plucky leader, the
Pengulu Dalam, attempted to effect something, but the rebels had
retreated farther than they dared follow, and after burning a few
houses in the vicinity they were compelled to retreat to their boats.
Then the small remnant of the expedition returned, passing on their
way down many empty boats, and other gruesome testimony of the
sad havoc caused by the cholera, to which it was subsequently
ascertained at least one thousand had fallen victims.
Bantin was soon on the war-path again, harassing the lower Dayaks
on a larger scale than before. Mr. Bailey twice attacked him, on the
first occasion burning twenty-four villages, and forty on the second,
in co-operation with a bala from the Rejang under Pengulu Dalam,
when many of the rebels were killed, but these punishments failed
to bring Bantin and his band to their senses.
An expedition led by the Rajah in March, 1903, the last one he has
led in person, resulted in submission; it, however, proved but hollow,
having been made by the rebels to gain time to recover from their
losses. In February the following year, during the Rajah's absence in
England, the Rajah Muda was compelled to attack these rebels
again; and, though this expedition was successful, another had to be
despatched against them in June. On this occasion a column led by
Mr. J. Baring-Gould[334] was attacked by the rebels, who were driven
off with a heavy loss. Nearly fifty long-houses were destroyed.
Then a large party of these wild Ulu Ai Dayaks of the Rejang and
Batang Lupar settled upon Entimau hill near the head of the Katibas,
and there built a strong stockade, but by a frontal attack delivered
by the Pengulu Dalam, quickly followed up by an attack from their
rear under Pengulu Merum, these rebels were driven out with a
heavy loss. They then retired to the head of the Kanowit, where they
were again severely handled by the Pengulu Dalam.
It is sometime now since Bantin with many others finally submitted
to the Rajah at Kapit Fort; and though the peace that followed lasted
for some little time, other outbreaks have occurred, though these
have been less frequent and serious.
By establishing outposts and so bringing these warlike people more
immediately under Government control it is expected that they will
now soon be brought into line with the great majority of the Sea-
Dayaks. But, though time and circumstances may alter the nature of
these semi-savages, and head-hunting will gradually become less
popular, as the danger to those indulging in it is increased, still the
savage old Adam will remain dormant in the nature of the Sea-
Dayaks for many years to come, and at times must break out, as
surely, and for the same reason, as it does in other parts of the
world, and amongst far more civilised people; as it will continue to
do until the millennium.
There is a bright side to the picture, as there is to every picture, and
the dark spot is to be found in one corner only. The total Sea-Dayak
population may be computed at a little under 120,000, and of these
over 80 per cent are now a peaceable and well-behaved people.
Those with any real experience of them can testify to their many and
predominating good qualities. Crime is rare amongst them; they are
an easy and a pleasant people to rule, and to associate with, being
by nature bright, intelligent, and kindly. "Untutored and unaffected
by extraneous influences, and consequently primitive, simple, and
natural, one can but be agreeably struck by their kind and hospitable
manners, and by the open welcome offered when visiting them. And
those well acquainted with the better qualities of these people must
reflect whether any change that may be effected by civilisation and
education will ameliorate their manners and their mode of living,
both socially and morally, and will prove of any paramount or real
benefit to them. Education, so far as it involves improvement in
agriculture and crafts must be brought about in the natural sequence
of events, and as a simple consequence of mixing with other and
superior races. Such developments will be slow, but they will be
natural ones, ensuring changes only for the good of, and acceptable
to, the people, and therefore beneficial, being better adapted and
better in effect than radical changes foreign to their minds and
character." With these words from the greatest authority upon these
people, we will conclude our notice of the Sea-Dayaks.

WAR-BOATS PREPARED FOR ACTION.

Of the Kayans, Kenyahs, and other inland tribes, there is little to be


said. Troubles amongst these people have rarely occurred; and
occasional outbreaks have been the result of anger caused by
injuries suffered, unaggravated by any desire for heads. The
Kenyahs and Kayans are more disciplined than the Sea-Dayaks, and
better subject to the control of their chiefs, amongst whom are to be
found some fine characters. Notably such an one was the Kenyah
chief, Tama Bulan, of the Baram. Loyal, powerful, and intellectual, he
rendered inestimable services in the introduction of order into his
country when it was acquired by the Government, and he continued
these services unabated until his death in 1906. It was his earnest
desire that "the Rajah, and everybody else, should know that the
Kenyahs could be trusted to carry out his instructions, and were as
loyal to his Government as any of his Dayaks;" and on the eve of his
death, old and enfeebled, at a large meeting of Kenyahs and Kayans,
he managed to deliver a short address of farewell, in which he
exhorted the people not to give trouble, and after his death to
remain loyal to the Rajah.[335]

327. Lit. upper waters.

328.
Chap. XII. p. 320.

329.
A large town in the Upper Kapuas—the Dutch headquarters there.

330.
In 1871 there were only 3000 families of Sea-Dayaks in the Rejang, there
are now over 8000.

331.
Mr. Deshon joined the Sarawak service in 1876. In 1883 he was appointed
Resident of Batang Lupar and Saribas; Divisional Resident of the 4th Division
in 1892; of the 3rd Division in 1896; and in 1903, he succeeded Mr. C. A.
Bampfylde as Resident of Sarawak. He retired in 1904, and was succeeded
by Sir Percy Cunynghame, Bart., the present Resident.

332.
Entered the Sarawak service in 1888. Resident of Batang Lupar and Saribas
1894.

333.
They could not bury their dead in an enemy's country—the bodies would
have been dug up and the heads taken.

334.
Then Resident 2nd Class 2nd Division. Now Resident of the Rejang. He
joined the service in 1897.
335.
The Sarawak Gazette.

THE ASTANA, KUCHING.


CHAPTER XV
THE RAJAH AND RANEE

he Rajah shortly after his marriage


returned to Sarawak with the Ranee.
This was in 1870.
When the Ranee arrived in the country
which was to be her home for many
years, and where by the exercise of a
kindly and tactful influence she was
soon to gain the enduring affection
and esteem of all her people, Kuching
presented a very different appearance
to what it does now. It was a small
place then, with but few roads, with
no places of recreation or amusement,
and with a very limited society. But it
possessed the charm of romance, of
beautiful though sometimes to the
English exile wearying scenery, and
above all an interesting and lovable
people, proud and courteous, yet
simple and childlike in many ways.
Kuching is more than double the size
now, and all the recreations and
amusements in which Britons delight
can now be indulged in there.
KUCHING, LOOKING UP RIVER.

As the Royalist, on board which were the Rajah and Ranee, rounded
a tree-covered point, the lower suburbs of the town opened up. On
the right hand, Malay Kampongs, set in groves of dark-foliaged fruit
trees, enlivened by groups of welcoming Malays on the verandahs
and on the banks, dressed in their best garments of bright colours,
and by little brown children sporting in the wash of the steamer.
Opposite, the Chinese sago factories, gay with strips of Turkey-red
cloth embossed with words of welcome, and enveloped in the smoke
of an incessant salute of crackers and bombs. At the head of the
long and broad reach the river banks on both sides rise to small hills,
as if guarding the entrance to the main town. At the foot of the hill
on the left are the Borneo Company's offices and godowns,[336]
above, their bungalows set in deep verdure. On the hill opposite,
where now Fort Margherita domineers over the town like a castle
with its square tower and flanking turrets, were the Residency (now
the Commandant's house) and the barracks. Rounding the bend
between these hills, the main town, seated on the banks of a broad
stretch of river, broke into view, the Chinese bazaars, or town, and
the public buildings on the left, with the old white fort (now the jail)
on the point above. On the right, the Astana, or palace, standing in
park-like gardens amid tall palms and other trees. On both banks
above are the upper Malay Kampongs, and in the distant back-
ground the jungle-clad range of Matang in sapphire blue, rising to
the noble peak of Serapi.
The bazaars were gaily decorated in the showy and profuse fashion
affected by the Chinese, and the native shipping—brigs, schooners,
junks, and prahus of all descriptions—were gay with bunting, the
ensign of Sarawak predominating, and here and there the red,
white, and blue flag of the Netherlands; the Natuna flag, black with
a white canton; and the triangular mercantile flag of China, a green
three-clawed dragon on a yellow ground. From the British Consulate
only flapped in the light wind the Union Jack.
As the Royalist, with the Rajah's flag flying at the main, steamed
slowly up to her anchorage, the booming of cannon announced to
the people far and wide the return of their Ruler with his bride, and
simultaneously with the first gun, down the whole length of the town
burst forth a deafening crash of crackers and bombs—the Chinese
time-honoured method of saluting.
From the parade-ground, led by the Commandant, defiled a line of
white uniformed Rangers, with black facings and belts, the guard of
honour marching to the Astana. The Siamese state-barge[337]
manned by Rangers, and with the Resident on board, shot alongside
to convey their Highnesses ashore, and, as they landed, an
orderly[338] unfurled the symbol of sovereignty—the large yellow
umbrella.
At the Astana landing-place were all the English residents, Malay
chiefs, the leading Chinese, and a few Indian merchants. A bright
picture this assembly presented, with the handsome uniforms of the
officials, the rich-coloured robes and turbans of the hajis, and the
loose silk costumes of the Chinese. Above was seen a knot of brown
Dayaks, the men wearing long decorated waistcloths of gay colours,
black leglets and ivory armlets; the women in short petticoats
fringed with silver coins, and in all the splendour of their brass and
copper corselets, armlets, anklets, and coronets, burnished and
sparkling in the sun.
With a tear on his bronzed cheek, a tear of joy, the old Datu Bandar,
[339]
the worthy son of a gallant father, steps forward to welcome his
beloved Chief with his beautiful bride, and his was not the least
valued of the many fervent greetings they received that day.
As the Rajah and Ranee passed on to the Astana the Royal salute
was given by the guard of honour in a manner worthy of the best-
drilled troops; but one thing was lacking,—a national anthem,—and
little did any one there present dream that the accomplished lady
then stepping for the first time on Sarawak soil would shortly supply
that want by composing one for the country, which was to become
so dear to her.[340]
Something must be said of the Astana,[341] the residence of the
Rajah and Ranee, which had then just been completed. It is built of
brick in three separate sections, with a roof of iron-wood shingles, in
appearance closely resembling slates. The illustration will best
convey an idea of its exterior appearance, which in the opinion of
some has been sacrificed for the sake of internal comfort. However
that may be, no more comfortable or cooler house exists in the East.
On the first or upper floor of the centre section are the drawing-
rooms and dining-room, spacious and lofty, and surrounded by a
broad verandah. At the back of the house, off the dining-room, is
the library. The side blocks contain the bedrooms, the lateral
verandahs of which are connected with those of the central block by
covered bridges. In the basement are the Rajah's office, guard-
room, household offices, bathrooms, etc. The entrance is in the
tower, in the lower part of which is the main staircase, and above is
the billiard room. In a separate building, connected with the main
building by a covered passage, are the bachelors' quarters.
DRAWING-ROOM, ASTANA.
DINING-ROOM, ASTANA.

The well-laid-out gardens are extensive, and contain many beautiful


tropical plants. Behind the Astana is the old graveyard of the former
Malay Rajahs, in which are some well-carved monuments of iron-
wood. Beyond the gardens are grazing lands. The Rajah has two
cattle farms, and he takes a great interest in rearing cattle,
importing pedigree bulls from England to improve the stock in the
country. Kuching is almost wholly supplied with milk and butter from
the Astana dairies.
Above the Astana are Malay Kampongs, below, the fort and
barracks, and beyond these more Malay Kampongs. On the opposite
side of the river is the town, the upper part of which is comprised of
the principal Malay Kampongs, where reside the datus; and these
stretch along the river for a mile on each side of the road which runs
parallel with it down to the Malay Mosque. This is a square building
of some dignity, with a pyramidical roof supported inside by noble
pillars, and near the mosque is the Datus' Court-house, and one of
the Government schools for Malays. Adjoining this is the business
portion of the town, substantially built of brick, whitewashed and
clean, which extends down to the creek, from which the town takes
its name, in two long streets with cross-connecting streets. In the
centre is the Court-house with the Government offices; the markets
are on one side, and the jail on the other; behind are the Police
Station and the Government Dispensary. Beyond the Kuching creek
are the Borneo Company's offices and godowns, above which, on
the hill behind, are the houses of the manager and his assistants.
Beyond again another Kampong, in which there are a good many
houses of foreign Malays and some Chinese, and this portion of the
town extends to the race-course. Between these and the river are
the sago factories.
Behind the central portion of the town is the S.P.G. Mission ground,
upon which are the church, Bishop's House, and Vicarage, the Boys'
and Girls' Schools, and the Public Library. On the opposite side of the
road is the esplanade with the band-stand, and beyond the police
barracks. Then, landwards, are bungalows, club-houses, the
Museum, and the Residency, behind which is another Malay
Kampong, and farther on the Roman Catholic church, convent, and
schools, and beyond these the golf links. The town reservoirs and
the General Hospital are beyond the S.P.G. Mission ground. Dotted
about in the suburbs are the houses and bungalows of Europeans
and well-to-do Chinese, standing in pleasant gardens, and
intermingled with these are the humbler homes of Chinese and
Malay gardeners.
THE ESPLANADE, KUCHING.

Kuching is well supplied with roads, and is the only town in Borneo
in which wheel-traffic is general. It has practically an inexhaustible
water-supply, the water being brought down in pipes a distance of
11 miles from Matang mountain, a work lately completed at great
cost. It has a telephone service, which extends to upper Sarawak,
and which will be gradually extended along the coast to all the
principal out-stations. The town is lighted with Lux lamps. Its public
buildings are well constructed and adequate for their purposes. In
addition to the Mission schools are three Government schools, of
which notice shall be made in a following chapter. The Museum is a
handsome building, and contains both an ethnographical and a
natural history collection, which have gained a wide reputation.
In 1839, Kuching was nothing but a small collection of wooden
thatched hovels, now it is one of the largest towns in Borneo, if not
the largest, and is commercially the most important. On pages 61
and 91 will be found illustrations showing what Kuching was then,
and what it is now. Then, Bruni, though fast declining from its
former prosperous state, was in a far more flourishing condition than
Kuching, which had been reduced to desolation by oppression. Fifty
years later an anonymous writer, evidently a naval officer, after
giving a good account of Bruni and its circumstances, wrote:—
When we left we could not but draw an unfavourable contrast between the
ancient town and the young capital of the adjacent State of Sarawak,
Kuching, which we had lately visited. There, under European rule, the jungle
has been cleared, and a well built and planned town has sprung up, with
good roads, handsome public buildings, an efficient police—all the essentials
of civilisation in fact; Malays, Dayaks, and Chinese live and trade amicably
together, and all the resources of a rich country are being opened up; while
the river-banks are beautified with picturesque bungalows nestling among the
trees, with green lawns, such as one rarely sees out of England, stretching
down to the water's edge.[342]
On September, 21, 1870, was born to the Rajah a daughter, Ghita,
and on February 20, 1872, twin sons, James and Charles. The birth
of these sons was a cause of general rejoicing among the natives of
all classes in Kuching; but Ghita, a very charming child, was the
principal pet among the Malays, who entertained a lively and tender
affection for her, which she reciprocated, for the little girl seemed to
be never so happy as when in their company.
In August, 1872, the Rajah and Ranee visited Pontianak, where they
met with a very cordial reception by the Dutch Resident, Mr. Van der
Shulk, and the civil, naval, and military officers; in November, in the
same year, they paid a visit to the Governor-General of Batavia, by
whom they were also most cordially received. The Dutch had long
since given up their expectation and hope of acquiring Sarawak.
In September, 1873, the Rajah and Ranee left for England, leaving
the administration of the country in the hands of Mr. J. B.
Cruickshank and a Committee of Administration.
In ascending the Red Sea in the Hydaspes the heat was intense.
All in a hot and copper sky,
The bloody sun at noon
Right up above the mast did stand,
No bigger than the moon.
The poor children, parched, panting, struck with heat apoplexy, died
one after another. James on October 11, Ghita on October 14, and
Charles on October 17, and were committed to the deep.
The Rajah was created a Commander of the Crown of Italy in April,
1874, and in July, 1899, was promoted to be Grand Officer.
On September 26, 1874, Charles Vyner, the Rajah Muda, was born.
The name Vyner was taken from Sir Thomas Vyner, Lord Mayor of
London in 1654, who entertained Oliver Cromwell in the Guildhall.
His only son, Sir Robert Vyner, on the contrary was a zealous
Royalist, and sacrificed some wealth for the cause of the King, and
being also in turn Lord Mayor, entertained King Charles II. in 1670.
He had been created a baronet, but the baronetcy became extinct in
his only son, George, and then the estate of Eastbury in Essex,
purchased by the profit of the old Puritan's merchandise, passed to
the two daughters of the grandson, the founder of the family, and
from one of them, Edith, the Brookes claim descent, through
Elizabeth Collet, great-great-granddaughter of Edith, who married a
Captain Robert Brooke (son of Robert Brooke of Goodmansfields,
London), and Mr. Thomas Brooke, father of the first Rajah, was their
grandson.
Whilst the Rajah was in England, the late Lord Derby was at the
Foreign Office. He was always very friendly towards Sarawak, and
paid the Rajah the compliment of saying that the British Government
could never have made such a success of Sarawak, as he had done.
This was a fact qui saute aux yeux of all such as knew anything of
Foreign Office and Colonial Office ways, but it was none the less
satisfactory that the obvious truth should be admitted. Lord Derby
and Lord Clarendon were the only two Foreign Secretaries who
displayed any appreciation of the work that was being done in
Sarawak, and who did not consider its Ruler as beneath their notice.
Lord Grey, formerly Secretary for Colonial Affairs, and the reformer
of Colonial administration, was another Minister who extended his
sympathies towards Sarawak, and continued to do so long after he
had ceased to hold office. In 1894, a few years before his death, he
wrote to the Rajah, "Though I do not remember ever having had the
advantage of meeting you, the long friendship with your uncle,
which I enjoyed, induces me to write you a few lines for the purpose
of expressing the great pleasure with which I have read the account
of the present state of Sarawak in the Pall Mall Gazette. From the
first, as you may be aware, I have taken a deep interest in the work
done by Sir James Brooke in Borneo, and have never ceased to
follow up the history of the Settlement he formed. I am glad to learn
how wisely and successfully you have been carrying on his work,
and it has been a great satisfaction to me to read the account of the
continued prosperity of your little State." Little in regard to
population perhaps, but as large in area as the four Federated Malay
States along with Johore.
The Rajah and Ranee returned to Sarawak in June, 1875, and were
received with demonstrations of the greatest joy, but at the same
time with tokens of sincere sympathy for their loss.
The difficulties that the Rajah had to overcome in suppressing the
many intertribal feuds still existing among the thousands of warlike
natives, of so many different tribes and races, comprising the interior
population of Sarawak, receive illustration from the grievances
presented to him on his visiting Baleh fort in the same year. This fort
was 180 miles up the Rejang, and had been constructed during his
absence in England. It has since been moved down to Kapit.
The complaints made were these:—
Uniat, a Kayan chief, complained that fourteen of his women and
children, among the latter two of his own, had been killed by the Poi
Dayaks.
Kanian, a Dayak chief, complained of six of his people having been
killed by Kayans of the Tinjar (Baram) then in Bruni territory. No
redress could be promised in such a case as this.
THE GENERAL HOSPITAL, KUCHING.

Apai Bansa, a Dayak, brought as his grievance that seven of his


people had been murdered by Lisums, a wild tribe living far in the
interior. In this case also, the Rajah was not in a position to afford
help.
Ingan, a Dayak, complained about the murder of his father and
fifteen companions, by Pieng Kayans of the Mahkam or Koti in Dutch
territory.
Madang, a Dayak, complained that one of his followers had been
murdered by another Dayak.
Among other matters gone into was the attack in force of Rejang
Dayaks upon the Tamans and Bunut Malays of the Kapuas, provoked
by the treacherous and cold-blooded murder of six Dayaks who had
gone on a peaceful errand to that river to search for some lost
relatives, who had been captured by Tamans on a former raid. This
matter has already been referred to in the preceding chapter.
If it has been found impossible in half a century to crush out completely all
traces of head-hunting in a country larger than Great Britain and Ireland put
together, one cannot forget that it is not so many generations since the wild
Highlander was seen descending upon fold and shepherd, willing to risk his
own life, and when needs must be, to take that of another, provided he could
but return to his own filthy hovel, laden with spoil.
All praise then be to those whom philanthropy has induced to lend a helping
hand to this once wretched spot, so long shut out from civilising influence,
and to those, who in the face of a life of isolation and discomfort, are still
found willing to grapple with barbarism in its most hideous form—to him who
rules the country, whose entire life has been devoted to the interests of his
people, as is now that of his Ranee, beloved by all who know her; and let
him, too, be remembered whose genius, enterprise, and unselfishness
founded this plucky little kingdom of Sarawak, the good Sir James Brooke,
who died battling hard—as his successor still earnestly strives—to instil into
the minds of his wild subjects that beautiful precept "Pax hominibus bonæ
voluntatis."[343]
On August 4, 1875, the Rajah wrote to the Netherlands Resident of
Western Borneo:—
I fear the time has not yet arrived for peace in these inland regions, and that
years of disquiet will take place before these people turn their minds entirely
to peaceful pursuits, but I am fully aware it is utterly beyond the power of any
civilised power to put a stop to the proceedings of these wild and
unapproachable people
—referring to the distant tribes living on the borders. "Time and
continual exertion must work out the problem of improvement," was
the opinion the Rajah expressed somewhat later, who years before,
whilst condemning arbitrary measures, stated his opinion that
"forbearance should not go beyond a certain point in dealing with
Dayaks, who have the feelings of children; kindness and severity
must proceed hand in hand with such a people," and no better
authority upon the management of such people exists.
On August 8, 1876, Bertram Willes Dayrell Brooke, the Tuan Muda,
was born.[344]
Upon April 11, 1877, the Rajah had a very narrow escape from
drowning whilst ascending the Rejang, accompanied by Messrs. M.
G. Gueritz[345] and Deshon, in a small Government steamer, the
Ghita.
Upon approaching Baleh fort, a heavy fresh was coming down the
river Baleh, and, on attempting to cross this to gain the anchorage in
the main river, the steamer was driven into the bank. She was
almost pressed under water, and as a general smash appeared
imminent, the Rajah seized a branch, hoping to swing himself
ashore. It snapped, by the vessel being rammed against it, and he
was precipitated into a whirlpool, which sucked him under and swept
him away. Fortunately, as he rose for the last time, a boat coming
from the fort was carried by the stream past him, he was laid hold
of, and pulled on board, unconscious from exhaustion. Messrs.
Gueritz and Deshon stuck to the steamer, which had been forced on
her beam ends, and had her funnel, awnings, and stanchions torn
off by the overhanging boughs. Nearly all on board were forced into
the current, but were saved by the Dayak boats that came hurrying
to the rescue.
As is the case in these inland rivers, the force of the fresh quickly
subsided, and with the help of many willing Dayaks the steamer was
extricated from her perilous position and towed to her anchorage.
Harry Keppel Brooke, the Tuan Bongsu, was born on November 10,
1879.
In June, 1882, as already related in the preceding chapter, the Rajah
visited Bruni, and obtained from the Sultan the cession of the
districts lying between Kedurong Point and the Baram.
Owing to the disturbed condition of Limbang and Bruni, the Rajah
left for England in September 1887, to watch the interests of
Sarawak, and to lay before the British Government the true state of
affairs in these places. He was accompanied by the Ranee and their
three sons, who had joined him in Sarawak a few months previously.
He wished to impress upon the Government the real feelings of the
Limbang people in regard to annexation to Sarawak, and to remove
the impression that his Government had been fostering discontent in
the former place with a view to encroachment. Before leaving
Singapore, the Rajah wrote the following note to Mr. F. R. O.
Maxwell, in whose charge the Government had been left:—
Before leaving this for England, I must express my very sincere gratification
for the kind way all Europeans, Datus, and Natives have received our sons in
Sarawak. I can assure you and all, it has given both the Ranee and myself
great satisfaction, and we feel we cannot be too thankful to the whole
community for this mark of their confidence and good feeling.
The Rajah returned to Sarawak in May, 1888, and laid before the
Supreme Council a memorandum which had been agreed upon by
her Majesty's Cabinet Council granting protection to Sarawak.
Subject to one alteration, the memorandum was accepted. This
alteration was admitted by the Cabinet Council, and on the 14th
June, the agreement affording British protection to the State was
signed and sealed by the Rajah in Council. This agreement
acknowledges the Rajah as the lawful Ruler of the State of Sarawak,
which shall continue to be governed and administered by him and
his successors as an independent State under the protection of Great
Britain, and confers no power on her Majesty's Government to
interfere with the internal administration of the State. Any question
arising respecting the succession to the present or any future Ruler
of Sarawak is to be referred to her Majesty's Government for
decision. The foreign relations of the State are to be conducted by
her Majesty's Government, and in accordance with its directions. Her
Majesty's Government have the right to establish British Consular
officers in any part of the State, but these are to receive exequaturs
from the Rajah. It confers the rights of the most favoured nations
upon British subjects, commerce, and shipping, and such rights and
privileges as may be enjoyed by the subjects, commerce, and
shipping of Sarawak. It, moreover, provides that no cession or
alienation of any part of the territory of Sarawak shall be made to
any foreign State, or to the subjects and citizens thereof, without the
consent of her Majesty's Government.
MALAY MEMBERS OF SUPREME COUNCIL.

From left to right—The Datu Hakim (Haji Muhammad Ali), The Datu
Bandar (Muhammad Kasim), The Datu Imaum (Haji Muhammad
Rais), and Inchi Muhammad Zin.

Sarawak, for nearly fifty years, without protection, assistance, or


encouragement of any kind, had gone on her way progressing slowly
but surely, and maintaining her independence in spite of many
reverses and misfortunes; and, long before the protection was
granted, had developed into a prosperous State with a bright future
before her. For her advancement and security, that protection which
the late Rajah had so ardently desired and so sorely needed, time
has shown was not really necessary. Could he have foreseen this in
the days of his country's adversity, he might have spared himself
many rebuffs from those who should have upheld him in his noble
work, but who chose either to flout or to obstruct it. He was
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookultra.com

You might also like