Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Monday, April 14, 2008

corejava 60

Applets
1) What is an Applet? Should applets have constructors?

Ans : Applet is a dynamic and interactive program that runs inside a Web page displayed by a Java capable browser. We don’t have the concept of Constructors in Applets.

2) How do we read number information from my applet’s parameters, given that Applet’s getParameter() method returns a string?

Ans : Use the parseInt() method in the Integer Class, the Float(String) constructor in the Class Float, or the Double(String) constructor in the class Double.

3) How can I arrange for different applets on a web page to communicate with each other?

Ans : Name your applets inside the Applet tag and invoke AppletContext’s getApplet() method in your applet code to obtain references to the other applets on the page.

4) How do I select a URL from my Applet and send the browser to that page?

Ans : Ask the applet for its applet context and invoke showDocument() on that context object.

Eg. URL targetURL;

String URLString

AppletContext context = getAppletContext();

try{

targetUR L = new URL(URLString);

} catch (Malformed URLException e){

// Code for recover from the exception

}

context. showDocument (targetURL);

5) Can applets on different pages communicate with each other?

Ans : No. Not Directly. The applets will exchange the information at one meeting place

either on the local file system or at remote system.

6) How do Applets differ from Applications?

Ans : Appln: Stand Alone

Applet: Needs no explicit installation on local m/c.

Appln: Execution starts with main() method.

Applet: Execution starts with init() method.

Appln: May or may not be a GUI

Applet: Must run within a GUI (Using AWT)

7) How do I determine the width and height of my application?

Ans : Use the getSize() method, which the Applet class inherits from the Component

class in the Java.awt package. The getSize() method returns the size of the applet as

a Dimension object, from which you extract separate width, height fields.

Eg. Dimension dim = getSize ();

int appletwidth = dim.width ();

8) What is AppletStub Interface?

Ans : The applet stub interface provides the means by which an applet and the browser communicate. Your code will not typically implement this interface.

9) It is essential to have both the .java file and the .html file of an applet in the same directory.

True.
False.
Ans : 2.

10) The tag contains two attributes namely _________ and _______.

Ans : Name , value.

11) Passing values to parameters is done in the _________ file of an applet.

Ans : .html.

12) What tags are mandatory when creating HTML to display an applet

name, height, width
code, name
codebase, height, width
code, height, width
Ans : 4.

13) Applet’s getParameter( ) method can be used to get parameter values.

True.
False.
Ans : a.

14) What are the Applet’s Life Cycle methods? Explain them?

Ans : init( ) method - Can be called when an applet is first loaded.

start( ) method - Can be called each time an applet is started.

paint( ) method - Can be called when the applet is minimized or refreshed.

stop( ) method - Can be called when the browser moves off the applet’s page.

destroy( ) method - Can be called when the browser is finished with the applet.

15) What are the Applet’s information methods?

Ans : getAppletInfo( ) method : Returns a string describing the applet, its author ,copy

right information, etc.

getParameterInfo( ) method : Returns an array of string describing the applet’s parameters.

16) All Applets are subclasses of Applet.

True.
False.
Ans : a.

17) All Applets must import java.applet and java.awt.

True.
False.
Ans : a.

18) What are the steps involved in Applet development?

Ans : a) Edit a Java source file,

b) Compile your program and

c) Execute the appletviewer, specifying the name of your applet’s source file.

19) Applets are executed by the console based Java run-time interpreter.

True.
False.
Ans : b.

20) Which classes and interfaces does Applet class consist?

Ans : Applet class consists of a single class, the Applet class and three interfaces: AppletContext,

AppletStub and AudioClip.

21) What is the sequence for calling the methods by AWT for applets?

Ans : When an applet begins, the AWT calls the following methods, in this sequence.

init( )
start( )
paint( )
22) When an applet is terminated, the following sequence of method cals takes place :

stop( )
destroy( )
23) Which method is used to output a string to an applet?

Ans : drawString ( ) method.

24) Every color is created from an RGB value.

True.
False
Ans : a.

Top


--------------------------------------------------------------------------------

Event Handling
1) The event delegation model, introduced in release 1.1 of the JDK, is fully compatible with the event model.

True
False
Ans : b.

2) A component subclass that has executed enableEvents( ) to enable processing of a certain kind of event cannot also use an adapter as a listener for the same kind of event.

True
False
Ans : b.

3) What is the highest-level event class of the event-delegation model?

Ans : The java.util.eventObject class is the highest-level class in the event-delegation hierarchy.

4) What interface is extended by AWT event listeners?

Ans : All AWT event listeners extend the java.util.EventListener interface.

5) What class is the top of the AWT event hierarchy?

Ans : The java.awt.AWTEvent class is the highest-level class in the AWT event class hierarchy.

6) What event results from the clicking of a button?

Ans : The ActionEvent event is generated as the result of the clicking of a button.

7) What is the relationship between an event-listener interface and an event-adapter class?

Ans : An event-listener interface defines the methods that must be implemented by an event handler for a particular kind of event. An event adapter provides a default implementation of an event-listener interface.

8) In which package are most of the AWT events that support the event-delegation model defined?

Ans : Most of the AWT–related events of the event-delegation model are defined in the java.awt.event package. The AWTEvent class is defined in the java.awt package.

9) What is the advantage of the event-delegation model over the earlier event-inheritance model?

Ans : The event-delegation has two advantages over the event-inheritance model. They are :

It enables event handling by objects other than the ones that generate the events. This allows a clean separation between a component’s design and its use.
It performs much better in applications where many events are generated. This performance improvement is due to the fact that the event-delegation model does not have to repeatedly process unhandled events, as is the case of the event-inheritance model.
10) What is the purpose of the enableEvents( ) method?

Ans :The enableEvents( ) method is used to enable an event for a particular object.

11) Which of the following are true?

The event-inheritance model has replaced the event-delegation model.
The event-inheritance model is more efficient than the event-delegation model.
The event-delegation model uses event listeners to define the methods of event-handling classes.
The event-delegation model uses the handleEvent( ) method to support event handling.
Ans : c.

12) Which of the following is the highest class in the event-delegation model?

java.util.EventListener
java.util.EventObject
java.awt.AWTEvent
java.awt.event.AWTEvent
Ans : b.

13) When two or more objects are added as listeners for the same event, which listener is first invoked to handle the event?

The first object that was added as listener.
The last object that was added as listener.
There is no way to determine which listener will be invoked first.
It is impossible to have more than one listener for a given event.
Ans : c.

14) Which of the following components generate action events?

Buttons
Labels
Check boxes
Windows
Ans : a.

15) Which of the following are true?

A TextField object may generate an ActionEvent.
A TextArea object may generate an ActionEvent.
A Button object may generate an ActionEvent.
A MenuItem object may generate an ActionEvent.
Ans : a,c and d.

16) Which of the following are true?

The MouseListener interface defines methods for handling mouse clicks.
The MouseMotionListener interface defines methods for handling mouse clicks.
The MouseClickListener interface defines methods for handling mouse clicks.
The ActionListener interface defines methods for handling the clicking of a button.
Ans : a and d.

17) Suppose that you want to have an object eh handle the TextEvent of a TextArea object t. How should you add eh as the event handler for t?

t.addTextListener(eh);
eh.addTextListener(t);
addTextListener(eh.t);
addTextListener(t,eh);
Ans : a.

18) What is the preferred way to handle an object’s events in Java 2?

Override the object’s handleEvent( ) method.
Add one or more event listeners to handle the events.
Have the object override its processEvent( ) methods.
Have the object override its dispatchEvent( ) methods.
Ans : b.

19) Which of the following are true?

A component may handle its own events by adding itself as an event listener.
A component may handle its own events by overriding its event-dispatching method.
A component may not handle oits own events.
A component may handle its own events only if it implements the handleEvent( ) method.
Ans : a and b.

20) How many types of events are provided by AWT? Explain them?

Ans : The AWT provides two types of events. They are :

21) Low-level event : A low-level event is the one that represents a low-level input or window-system occurrence on a visual component on the screen.

22) Semantic event : Semantic event is defined at a higher-level to encapsulate the semantics of a user interface component’s model.

23) A __________ is an object that originates or "fire" events.

Ans : source.

24) The event listener corresponding to handling keyboard events is the _________ .

Ans : KeyListener.

25) What are the types of mouse event listeners?

Ans : MouseListener and MouseMotionListener.

26) Which of the following are correct event handling methods

a) mousePressed(MouseEvent e){}
b) MousePressed(MouseClick e){}
c) functionKey(KeyPress k){}
d) componentAdded(ContainerEvent e){}

Ans : a and d.

27) Which of the following are true?

a) A component may have only one event listener attached at a time
b) An event listener may be removed from a component
c) The ActionListener interface has no corresponding Adapter class
d) The processing of an event listener requires a try/catch block

Ans : b and c.

Top


--------------------------------------------------------------------------------

AWT : windows, graphics and fonts
1) How would you set the color of a graphics context called g to cyan?

g.setColor(Color.cyan);
g.setCurrentColor(cyan);
g.setColor("Color.cyan");
g.setColor("cyan’);
g.setColor(new Color(cyan));
Ans : a.

2) The code below draws a line. What color is the line?

g.setColor(Color.red.green.yellow.red.cyan);

g.drawLine(0, 0, 100,100);

Red
Green
Yellow
Cyan
Black
Ans : d.

3) What does the following code draw?

g.setColor(Color.black);

g.drawLine(10, 10, 10, 50);

g.setColor(Color.RED);

g.drawRect(100, 100, 150, 150);

A red vertical line that is 40 pixels long and a red square with sides of 150 pixels
A black vertical line that is 40 pixels long and a red square with sides of 150 pixels
A black vertical line that is 50 pixels long and a red square with sides of 150 pixels
A red vertical line that is 50 pixels long and a red square with sides of 150 pixels
A black vertical line that is 40 pixels long and a red square with sides of 100 pixel
Ans : b.

4) Which of the statements below are true?

a) A polyline is always filled.

b) A polyline can not be filled.

c) A polygon is always filled.

d) A polygon is always closed

e) A polygon may be filled or not filled

Ans : b, d and e.

5) What code would you use to construct a 24-point bold serif font?

new Font(Font.SERIF, 24,Font.BOLD);
new Font("SERIF", 24, BOLD");
new Font("BOLD ", 24,Font.SERIF);
new Font("SERIF", Font.BOLD,24);
new Font(Font.SERIF, "BOLD", 24);
Ans : 4.

6) What does the following paint( ) method draw?

Public void paint(Graphics g) {

g.drawString("question #6",10,0);

}

The string "question #6", with its top-left corner at 10,0
A little squiggle coming down from the top of the component, a little way in from the left edge
Ans : 2.

7) What does the following paint( ) method draw?

Public void paint(Graphics g) {

g.drawString("question #6",10,0);

}

A circle at (100, 100) with radius of 44
A circle at (100, 44) with radius of 100
A circle at (100, 44) with radius of 44
The code does not compile
Ans : 4.

8) What is relationship between the Canvas class and the Graphics class?

Ans : A Canvas object provides access to a Graphics object via its paint( ) method.

9) What are the Component subclasses that support painting.

Ans : The Canvas, Frame, Panel and Applet classes support painting.

10) What is the difference between the paint( ) and repaint( ) method?

Ans : The paint( ) method supports painting via a Graphics object. The repaint( ) method is used to cause paint( ) to be invoked by the AWT painting method.

11) What is the difference between the Font and FontMetrics classes?

Ans : The FontMetrics class is used to define implementation-specific properties, such as ascent and descent, of a Font object.

12) Which of the following are passed as an argument to the paint( ) method?

A Canvas object
A Graphics object
An Image object
A paint object
Ans : b.

13) Which of the following methods are invoked by the AWT to support paint and repaint operations?

paint( )
repaint( )
draw( )
redraw( )
Ans : a.

14) Which of the following classes have a paint( ) method?

Canvas
Image
Frame
Graphics
Ans : a and c.

15) Which of the following are methods of the Graphics class?

drawRect( )
drawImage( )
drawPoint( )
drawString( )
Ans : a, b and d.

16) Which Font attributes are available through the FontMetrics class?

ascent
leading
case
height
Ans : a, b and d.

17) Which of the following are true?

The AWT automatically causes a window to be repainted when a portion of a window has been minimized and then maximized.
The AWT automatically causes a window to be repainted when a portion of a window has been covered and then uncovered.
The AWT automatically causes a window to be repainted when application data is changed.
The AWT does not support repainting operations.
Ans : a and b.

18) Which method is used to size a graphics object to fit the current size of the window?

Ans : getSize( ) method.

19) What are the methods to be used to set foreground and background colors?

Ans : setForeground( ) and setBackground( ) methods.

20) You have created a simple Frame and overridden the paint method as follows

public void paint(Graphics g){



g.drawString("Dolly",50,10);



}

What will be the result when you attempt to compile and run the program?

a) The string "Dolly" will be displayed at the centre of the frame

b) An error at compilation complaining at the signature of the paint method
c) The lower part of the word Dolly will be seen at the top of the form, with the top hidden.
d) The string "Dolly" will be shown at the bottom of the form

Ans : c.

21) Where g is a graphics instance what will the following code draw on the screen.

g.fillArc(45,90,50,50,90,180);

a) An arc bounded by a box of height 45, width 90 with a centre point of 50,50, starting
at an angle of 90 degrees traversing through 180 degrees counter clockwise.

b) An arc bounded by a box of height 50, width 50, with a centre point of 45,90 starting
at an angle of 90 degrees traversing through 180 degrees clockwise.

c) An arc bounded by a box of height 50, width 50, with a top left at coordinates of 45,
90, starting at 90 degrees and traversing through 180 degrees counter clockwise.

d) An arc starting at 45 degrees, traversing through 90 degrees clockwise bounded by a
box of height 50, width 50 with a centre point of 90, 180.

Ans : c.

22) Given the following code
import java.awt.*;
public class SetF extends Frame{
public static void main(String argv[]){
SetF s = new SetF();
s.setSize(300,200);
s.setVisible(true);
}
}
How could you set the frame surface color to pink

a)s.setBackground(Color.pink);
b)s.setColor(PINK);
c)s.Background(pink);
d)s.color=Color.pink

Ans : a.

Top


--------------------------------------------------------------------------------

AWT: Controls, Layout Managers and Menus
1) What is meant by Controls and what are different types of controls?

Ans : Controls are componenets that allow a user to interact with your application.

The AWT supports the following types of controls:

Labels
Push buttons
Check boxes
Choice lists
Lists
Scroll bars
Text components
These controls are subclasses of Component.

2) You want to construct a text area that is 80 character-widths wide and 10 character-heights tall. What code do you use?

new TextArea(80, 10)
new TextArea(10, 80)
Ans: b.

3) A text field has a variable-width font. It is constructed by calling new TextField("iiiii"). What happens if you change the contents of the text field to "wwwww"? (Bear in mind that is one of the narrowest characters, and w is one of the widest.)

The text field becomes wider.
The text field becomes narrower.
The text field stays the same width; to see the entire contents you will have to scroll by using the ß and à keys.
The text field stays the same width; to see the entire contents you will have to scroll by using the text field’s horizontal scroll bar.
Ans : c.

4) The CheckboxGroup class is a subclass of the Component class.

True
False
Ans : b.

5) What are the immediate super classes of the following classes?

a) Container class
b) MenuComponent class
c) Dialog class
d) Applet class
e) Menu class
Ans : a) Container - Component

b) MenuComponent - Object

c) Dialog - Window

d) Applet - Panel

e) Menu - MenuItem

6) What are the SubClass of Textcomponent Class?

Ans : TextField and TextArea

7) Which method of the component class is used to set the position and the size of a component?

Ans : setBounds()

8) Which TextComponent method is used to set a TextComponent to the read-only state?

Ans : setEditable()

9) How can the Checkbox class be used to create a radio button?

Ans : By associating Checkbox objects with a CheckboxGroup.

10) What Checkbox method allows you to tell if a Checkbox is checked?

Ans : getState()

11) Which Component method is used to access a component's immediate Container?

getVisible()
getImmediate
getParent()
getContainer
Ans : c.

12) What methods are used to get and set the text label displayed by a Button object?

Ans : getLabel( ) and setLabel( )

13) What is the difference between a Choice and a List?

Ans : A Choice is displayed in a compact form that requires you to pull it down to see the list of available choices. Only one item may be selected from a Choice.

A List may be displayed in such a way that several List items are visible. A List supports the selection of one or more List items.

14) Which Container method is used to cause a container to be laid out and redisplayed?

Ans : validate( )

15) What is the difference between a Scollbar and a Scrollpane?

Ans : A Scrollbar is a Component, but not a Container.

A Scrollpane is a Container and handles its own events and performs its own

scrolling.

16) Which Component subclass is used for drawing and painting?

Ans : Canvas.

17) Which of the following are direct or indirect subclasses of Component?

Button
Label
CheckboxMenuItem
Toolbar
Frame
Ans : a, b and e.

18) Which of the following are direct or indirect subclasses of Container?

Frame
TextArea
MenuBar
FileDialog
Applet
Ans : a,d and e.

19) Which method is used to set the text of a Label object?

setText( )
setLabel( )
setTextLabel( )
setLabelText( )
Ans : a.

20) Which constructor creates a TextArea with 10 rows and 20 columns?

new TextArea(10, 20)
new TextArea(20, 10)
new TextArea(new Rows(10), new columns(20))
new TextArea(200)
Ans : a.

(Usage is TextArea(rows, columns)

21) Which of the following creates a List with 5 visible items and multiple selection enabled?

new List(5, true)
new List(true, 5)
new List(5, false)
new List(false,5)
Ans : a.

[Usage is List(rows, multipleMode)]

22) Which are true about the Container class?

The validate( ) method is used to cause a Container to be laid out and redisplayed.
The add( ) method is used to add a Component to a Container.
The getBorder( ) method returns information about a Container’s insets.
The getComponent( ) method is used to access a Component that is contained in a Container.
Ans : a, b and d.

23) Suppose a Panel is added to a Frame and a Button is added to the Panel. If the Frame’s font is set to 12-point TimesRoman, the Panel’s font is set to 10-point TimesRoman, and the Button’s font is not set, what font will be used to dispaly the Button’s label?

12-point TimesRoman
11-point TimesRoman
10-point TimesRoman
9-point TimesRoman
Ans : c.

24) A Frame’s background color is set to Color.Yellow, and a Button’s background color is to Color.Blue. Suppose the Button is added to a Panel, which is added to the Frame. What background color will be used with the Panel?

Colr.Yellow
Color.Blue
Color.Green
Color.White
Ans : a.

25) Which method will cause a Frame to be displayed?

show( )
setVisible( )
display( )
displayFrame( )
Ans : a and b.

26) All the componenet classes and container classes are derived from _________ class.

Ans : Object.

27) Which method of the container class can be used to add components to a Panel.

Ans : add ( ) method.

28) What are the subclasses of the Container class?

Ans : The Container class has three major subclasses. They are :

Window
Panel
ScrollPane
29) The Choice component allows multiple selection.

True.
False.
Ans : b.

30) The List component does not generate any events.

True.
False.
Ans : b.

31) Which components are used to get text input from the user.

Ans : TextField and TextArea.

32) Which object is needed to group Checkboxes to make them exclusive?

Ans : CheckboxGroup.

33) Which of the following components allow multiple selections?

Non-exclusive Checkboxes.
Radio buttons.
Choice.
List.
Ans : a and d.

34) What are the types of Checkboxes and what is the difference between them?

Ans : Java supports two types of Checkboxes. They are : Exclusive and Non-exclusive.

In case of exclusive Checkboxes, only one among a group of items can be selected at a time. I f an item from the group is selected, the checkbox currently checked is deselected and the new selection is highlighted. The exclusive Checkboxes are also called as Radio buttons.

The non-exclusive checkboxes are not grouped together and each one can be selected independent of the other.

35) What is a Layout Manager and what are the different Layout Managers available in java.awt and what is the default Layout manager for the panal and the panal subclasses?

Ans: A layout Manager is an object that is used to organize components in a container.

The different layouts available in java.awt are :

FlowLayout, BorderLayout, CardLayout, GridLayout and GridBag Layout.

The default Layout Manager of Panal and Panal sub classes is FlowLayout".

36) Can I exert control over the size and placement of components in my interface?

Ans : Yes.

myPanal.setLayout(null);

myPanal.setbounds(20,20,200,200);

37) Can I add the same component to more than one container?

Ans : No. Adding a component to a container automatically removes it from any previous parent(container).

38) How do I specify where a window is to be placed?

Ans : Use setBounds, setSize, or setLocation methods to implement this.

setBounds(int x, int y, int width, int height)

setBounds(Rectangle r)

setSize(int width, int height)

setSize(Dimension d)

setLocation(int x, int y)

setLocation(Point p)



39) How can we create a borderless window?

Ans : Create an instance of the Window class, give it a size, and show it on the screen.

eg. Frame aFrame = ......

Window aWindow = new Window(aFrame);

aWindow.setLayout(new FlowLayout());

aWindow.add(new Button("Press Me"));

aWindow.getBounds(50,50,200,200);

aWindow.show();

40) Can I create a non-resizable windows? If so, how?

Ans: Yes. By using setResizable() method in class Frame.

41) What is the default Layout Manager for the Window and Window subclasses (Frame,Dialog)?

Ans : BorderLayout().

42) How are the elements of different layouts organized?

Ans : FlowLayout : The elements of a FlowLayout are organized in a top to bottom, left to right fashion.

BorderLayout : The elements of a BorderLayout are organized at the

borders (North, South, East and West) and the center of a

container.

CardLayout : The elements of a CardLayout are stacked, one on top of the other, like a deck of cards.

GridLayout : The elements of a GridLayout are of equal size and are laid out using the square of a grid.

GridBagLayout : The elements of a GridBagLayout are organized according to a grid.However, the elements are of different sizes and may occupy

more than one row or column of the grid. In addition, the rows and columns may have different sizes.

43) Which containers use a BorderLayout as their default layout?

Ans : The Window, Frame and Dialog classes use a BorderLayout as their default layout.

44) Which containers use a FlowLayout as their default layout?

Ans : The Panel and the Applet classes use the FlowLayout as their default layout.

45) What is the preferred size of a component?

Ans : The preferred size of a component size that will allow the component to display normally.

46) Which method is method to set the layout of a container?

startLayout( )
initLayout( )
layoutContainer( )
setLayout( )
Ans : d.

47) Which method returns the preferred size of a component?

getPreferredSize( )
getPreferred( )
getRequiredSize( )
getLayout( )
Ans : a.

48) Which layout should you use to organize the components of a container in a tabular form?

CardLayout
BorederLayout
FlowLayout
GridLayout
Ans : d.

49) An application has a frame that uses a Border layout manager. Why is it probably not a good idea to put a vertical scroll bar at North in the frame?

The scroll bar’s height would be its preferred height, which is not likely to be enough.
The scroll bar’s width would be the entire width of the frame, which would be much wider than necessary.
Both a and b.
Neither a nor b. There is no problem with the layout as described.
Ans : c.

50) What is the default layouts for a applet, a frame and a panel?

Ans : For an applet and a panel, Flow layout is the default layout, whereas Border layout is default layout for a frame.

51) If a frame uses a Grid layout manager and does not contain any panels, then all the components within the frame are the same width and height.

True
False.
Ans : a.

52) If a frame uses its default layout manager and does not contain any panels, then all the components within the frame are the same width and height.

True
False.
Ans : b.

53) With a Border layout manager, the component at Center gets all the space that is left over, after the components at North and South have been considered.

True
False
Ans : b.

54) An Applet has its Layout Manager set to the default of FlowLayout. What code would be the correct to change to another Layout Manager?

setLayoutManager(new GridLayout());
setLayout(new GridLayout(2,2));
setGridLayout(2,2,))
setBorderLayout();
Ans : b.

55) How do you indicate where a component will be positioned using Flowlayout?

a) North, South,East,West
b) Assign a row/column grid reference
c) Pass a X/Y percentage parameter to the add method
d) Do nothing, the FlowLayout will position the component

Ans :d.

56) How do you change the current layout manager for a container?

a) Use the setLayout method
b) Once created you cannot change the current layout manager of a component
c) Use the setLayoutManager method
d) Use the updateLayout method

Ans :a.

57)When using the GridBagLayout manager, each new component requires a new instance of the GridBagConstraints class. Is this statement true or false?

a) true
b) false

Ans : b.

58) Which of the following statements are true?

a)The default layout manager for an Applet is FlowLayout
b) The default layout manager for an application is FlowLayout
c) A layout manager must be assigned to an Applet before the setSize method is called
d) The FlowLayout manager attempts to honor the preferred size of any components

Ans : a and d.

59) Which method does display the messages whenever there is an item selection or deselection of the CheckboxMenuItem menu?

Ans : itemStateChanged method.

60) Which is a dual state menu item?

Ans : CheckboxMenuItem.

61) Which method can be used to enable/diable a checkbox menu item?

Ans : setState(boolean).

62) Which of the following may a menu contain?

A separator
A check box
A menu
A button
A panel
Ans : a and c.

63) Which of the following may contain a menu bar?

A panel
A frame
An applet
A menu bar
A menu
Ans : b

64) What is the difference between a MenuItem and a CheckboxMenuItem?

Ans : The CheckboxMenuItem class extends the MenuItem class to support a menu item

that may be checked or unchecked.


65) Which of the following are true?

A Dialog can have a MenuBar.
MenuItem extends Menu.
A MenuItem can be added to a Menu.
A Menu can be added to a Menu.
Ans : c and d.

Top


--------------------------------------------------------------------------------

Utility Package
1) What is the Vector class?

ANSWER : The Vector class provides the capability to implement a growable array of objects.

2) What is the Set interface?

ANSWER : The Set interface provides methods for accessing the elements of a finite mathematical set.Sets do not allow duplicate elements.

3) What is Dictionary class?

ANSWER : The Dictionary class is the abstarct super class of Hashtable and Properties class.Dictionary provides the abstarct functions used to store and retrieve objects by key-value.This class allows any object to be used as a key or value.

4) What is the Hashtable class?

ANSWER : The Hashtable class implements a hash table data structure. A hash table indexes and stores objects in a dictionary using hash codes as the objects' keys. Hash codes are integer values that identify objects.

5) What is the Properties class?

Answer : The properties class is a subclass of Hashtable that can be read from or written to a stream.It also provides the capability to specify a set of default values to be used if a specified key is not found in the table. We have two methods load() and save().

6) What changes are needed to make the following prg to compile?

import java.util.*;

class Ques{

public static void main (String args[]) {

String s1 = "abc";

String s2 = "def";

Vector v = new Vector();

v.add(s1);

v.add(s2);

String s3 = v.elementAt(0) + v.elementAt(1);

System.out.println(s3);

}

}

A) Declare Ques as public

B) Cast v.elementAt(0) to a String

C) Cast v.elementAt(1) to an Object.

D) Import java.lang

ANSWER : B) Cast v.elementAt(0) to a String

7) What is the output of the prg.

import java.util.*;

class Ques{

public static void main (String args[]) {

String s1 = "abc";

String s2 = "def";

Stack stack = new Stack();

stack.push(s1);

stack.push(s2);

try{

String s3 = (String) stack.pop() + (String) stack.pop() ;

System.out.println(s3);

}catch (EmptyStackException ex){}

}

}

A) abcdef

B) defabc

C) abcabc

D) defdef

ANSWER : B) defabc

9) Which of the following may have duplicate elements?

A)Collection

B) List

C) Map

D) Set

ANSWER : A and B Neither a Map nor a Set may have duplicate elements.

10) Can null value be added to a List?

ANSWER : Yes.A Null value may be added to any List.

11) What is the output of the following prg.

import java.util.*;

class Ques{

public static void main (String args[]) {

HashSet set = new HashSet();

String s1 = "abc";

String s2 = "def";

String s3 = "";

set.add(s1);

set.add(s2);

set.add(s1);

set.add(s2);

Iterator i = set.iterator();

while(i.hasNext())

{

s3 += (String) i.next();

}

System.out.println(s3);

}

}

A) abcdefabcdef B) defabcdefabc C) fedcbafedcba D) defabc

ANSWER : D) defabc. Sets may not have duplicate elements.

12) Which of the following java.util classes support internationalization?

A) Locale B) ResourceBundle C) Country D) Language

ANSWER : A and B . Country and Language are not java.util classes.

13) What is the ResourceBundle?

The ResourceBundle class also supports internationalization.
ResourceBundle subclasses are used to store locale-specific resources that can be loaded by a program to tailor the program's appearence to the paticular locale in which it is being run. Resource Bundles provide the capability to isolate a program's locale-specific resources in a standard and modular manner.

14) How are Observer Interface and Observable class, in java.util package, used?

ANSWER : Objects that subclass the Observable class maintain a list of Observers. When an Observable object is updated it invokes the update() method of each of its observers to notify the observers that it has changed state. The Observer interface is implemented by objects that observe Observable objects.

15) Which java.util classes and interfaces support event handling?

ANSWER : The EventObject class and the EventListener interface support event processing.

16) Does java provide standard iterator functions for inspecting a collection of objects?

ANSWER : The Enumeration interface in the java.util package provides a framework for stepping once through a collection of objects. We have two methods in that interface.

public interface Enumeration {

boolean hasMoreElements();

Object nextElement();

}

17) The Math.random method is too limited for my needs- How can I generate random numbers more flexibly?

ANSWER : The random method in Math class provide quick, convienient access to random numbers, but more power and flexibility use the Random class in the java.util package.

double doubleval = Math.random();

The Random class provide methods returning float, int, double, and long values.

nextFloat() // type float; 0.0 <= value < 1.0

nextDouble() // type double; 0.0 <= value < 1.0

nextInt() // type int; Integer.MIN_VALUE <= value <= Integer.MAX_VALUE

nextLong() // type long; Long.MIN_VALUE <= value <= Long.MAX_VALUE

nextGaussian() // type double; has Gaussian("normal") distribution with mean 0.0 and standard deviation 1.0)

Eg. Random r = new Random();

float floatval = r.nextFloat();

18) How can we get all public methods of an object dynamically?

ANSWER : By using getMethods(). It return an array of method objects corresponding to the public methods of this class.

getFields() returns an array of Filed objects corresponding to the public Fields(variables) of this class.

getConstructors() returns an array of constructor objects corresponding to the public constructors of this class.

Top


--------------------------------------------------------------------------------

JDBC
1) What are the steps involved in establishing a connection?

ANSWER : This involves two steps: (1) loading the driver and (2) making the connection.

2) How can you load the drivers?

ANSWER : Loading the driver or drivers you want to use is very simple and involves just one line of code. If, for example, you want to use the JDBC-ODBC Bridge driver, the following code will load it:

Eg.

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Your driver documentation will give you the class name to use. For instance, if the class name is jdbc.DriverXYZ , you would load the driver with the following line of code:

Eg.

Class.forName("jdbc.DriverXYZ");

3) What Class.forName will do while loading drivers?

ANSWER : It is used to create an instance of a driver and register it with the DriverManager.

When you have loaded a driver, it is available for making a connection with a DBMS.

4) How can you make the connection?

ANSWER : In establishing a connection is to have the appropriate driver connect to the DBMS. The following line of code illustrates the general idea:

Eg.

String url = "jdbc:odbc:Fred";

Connection con = DriverManager.getConnection(url, "Fernanda", "J8");

5) How can you create JDBC statements?

ANSWER : A Statement object is what sends your SQL statement to the DBMS. You simply create a Statement object and then execute it, supplying the appropriate execute method with the SQL statement you want to send. For a SELECT statement, the method to use is executeQuery. For statements that create or modify tables, the method to use is executeUpdate.

Eg.

It takes an instance of an active connection to create a Statement object. In the following example, we use our Connection object con to create the Statement object stmt :

Statement stmt = con.createStatement();

6) How can you retrieve data from the ResultSet?

ANSWER : Step 1.

JDBC returns results in a ResultSet object, so we need to declare an instance of the class ResultSet to hold our results. The following code demonstrates declaring the ResultSet object rs.

Eg.

ResultSet rs = stmt.executeQuery("SELECT COF_NAME, PRICE FROM COFFEES");

Step2.

String s = rs.getString("COF_NAME");

The method getString is invoked on the ResultSet object rs , so getString will retrieve (get) the value stored in the column COF_NAME in the current row of rs

7) What are the different types of Statements?

ANSWER : 1.Statement (use createStatement method) 2. Prepared Statement (Use prepareStatement method) and 3. Callable Statement (Use prepareCall)

8) How can you use PreparedStatement?

ANSWER : This special type of statement is derived from the more general class, Statement.If you want to execute a Statement object many times, it will normally reduce execution time to use a PreparedStatement object instead.

The advantage to this is that in most cases, this SQL statement will be sent to the DBMS right away, where it will be compiled. As a result, the PreparedStatement object contains not just an SQL statement, but an SQL statement that has been precompiled. This means that when the PreparedStatement is executed, the DBMS can just run the PreparedStatement 's SQL statement without having to compile it first.

Eg.

PreparedStatement updateSales = con.prepareStatement("UPDATE COFFEES SET SALES = ? WHERE COF_NAME LIKE ?");

9) What setAutoCommit does?

ANSWER : When a connection is created, it is in auto-commit mode. This means that each individual SQL statement is treated as a transaction and will be automatically committed right after it is executed. The way to allow two or more statements to be grouped into a transaction is to disable auto-commit mode

Eg.

con.setAutoCommit(false);

Once auto-commit mode is disabled, no SQL statements will be committed until you call the method commit explicitly.

Eg.

con.setAutoCommit(false);

PreparedStatement updateSales = con.prepareStatement(

"UPDATE COFFEES SET SALES = ? WHERE COF_NAME LIKE ?");

updateSales.setInt(1, 50);

updateSales.setString(2, "Colombian");

updateSales.executeUpdate();

PreparedStatement updateTotal = con.prepareStatement("UPDATE COFFEES SET TOTAL = TOTAL + ? WHERE COF_NAME LIKE ?");

updateTotal.setInt(1, 50);

updateTotal.setString(2, "Colombian");

updateTotal.executeUpdate();

con.commit();

con.setAutoCommit(true);

10) How to call a Strored Procedure from JDBC?

ANSWER : The first step is to create a CallableStatement object. As with Statement an and PreparedStatement objects, this is done with an open Connection

object. A CallableStatement object contains a call to a stored procedure;

Eg.

CallableStatement cs = con.prepareCall("{call SHOW_SUPPLIERS}");

ResultSet rs = cs.executeQuery();

11) How to Retrieve Warnings?

ANSWER : SQLWarning objects are a subclass of SQLException that deal with database access warnings. Warnings do not stop the execution of an application, as exceptions do; they simply alert the user that something did not happen as planned.

A warning can be reported on a Connection object, a Statement object (including PreparedStatement and CallableStatement objects), or a ResultSet object. Each of these classes has a getWarnings method, which you must invoke in order to see the first warning reported on the calling object

Eg.

SQLWarning warning = stmt.getWarnings();

if (warning != null) {

System.out.println("\n---Warning---\n");

while (warning != null) {

System.out.println("Message: " + warning.getMessage());

System.out.println("SQLState: " + warning.getSQLState());

System.out.print("Vendor error code: ");

System.out.println(warning.getErrorCode());

System.out.println("");

warning = warning.getNextWarning();

}

}

12) How can you Move the Cursor in Scrollable Result Sets ?

ANSWER : One of the new features in the JDBC 2.0 API is the ability to move a result set's cursor backward as well as forward. There are also methods that let you move the cursor to a particular row and check the position of the cursor.

Eg.

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_READ_ONLY);

ResultSet srs = stmt.executeQuery("SELECT COF_NAME, PRICE FROM COFFEES");

The first argument is one of three constants added to the ResultSet API to indicate the type of a ResultSet object: TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE , and TYPE_SCROLL_SENSITIVE .

The second argument is one of two ResultSet constants for specifying whether a result set is read-only or updatable: CONCUR_READ_ONLY and CONCUR_UPDATABLE . The point to remember here is that if you specify a type, you must also specify whether it is read-only or updatable. Also, you must specify the type first, and because both parameters are of type int , the compiler will not complain if you switch the order.

Specifying the constant TYPE_FORWARD_ONLY creates a nonscrollable result set, that is, one in which the cursor moves only forward. If you do not specify any constants for the type and updatability of a ResultSet object, you will automatically get one that is TYPE_FORWARD_ONLY and CONCUR_READ_ONLY

13) What’s the difference between TYPE_SCROLL_INSENSITIVE , and TYPE_SCROLL_SENSITIVE?

ANSWER : You will get a scrollable ResultSet object if you specify one of these ResultSet constants.The difference between the two has to do with whether a result set reflects changes that are made to it while it is open and whether certain methods can be called to detect these changes. Generally speaking, a result set that is TYPE_SCROLL_INSENSITIVE does not reflect changes made while it is still open and one that is TYPE_SCROLL_SENSITIVE does. All three types of result sets will make changes visible if they are closed and then reopened

Eg.

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

ResultSet srs = stmt.executeQuery("SELECT COF_NAME, PRICE FROM COFFEES");

srs.afterLast();

while (srs.previous()) {

String name = srs.getString("COF_NAME");

float price = srs.getFloat("PRICE");

System.out.println(name + " " + price);

}

14) How to Make Updates to Updatable Result Sets?

ANSWER : Another new feature in the JDBC 2.0 API is the ability to update rows in a result set using methods in the Java programming language rather than having to send an SQL command. But before you can take advantage of this capability, you need to create a ResultSet object that is updatable. In order to do this, you supply the ResultSet constant CONCUR_UPDATABLE to the createStatement method.

Eg.

Connection con = DriverManager.getConnection("jdbc:mySubprotocol:mySubName");

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

ResultSet uprs = stmt.executeQuery("SELECT COF_NAME, PRICE FROM COFFEES");

Top


--------------------------------------------------------------------------------

Networking Concepts
1) The API doesn't list any constructors for InetAddress- How do I create an InetAddress instance?

ANSWER : In case of InetAddress the three methods getLocalHost, getByName, getByAllName can be used to create instances.

E.g.

InetAddress add1;

InetAddress add2;

try{

add1 = InetAddress.getByName("java.sun.com");

add2 = InetAddress.getByName("199.22.22.22");

}catch(UnknownHostException e){}

2) Is it possible to get the Local host IP?

ANSWER : Yes. Use InetAddress's getLocalHost method.

3) What's the Factory Method?

ANSWER : Factory methods are merely a convention whereby static methods in a class return an instance of that class. The InetAddress class has no visible constructors. To create an InetAddress object, you have to use one of the available factory methods. In InetAddress the three methods getLocalHost, getByName, getByAllName can be used to create instances of InetAddress.

4) What’s the difference between TCP and UDP?

ANSWER : These two protocols differ in the way they carry out the action of communicating. A TCP protocol establishes a two way connection between a pair of computers, while the UDP protocol is a one-way message sender. The common analogy is that TCP is like making a phone call and carrying on a two-way communication, while UDP is like mailing a letter.

5) What is the Proxy Server?

ANSWER : A proxy server speaks the client side of a protocol to another server. This is often required when clients have certain restrictions on which servers they can connect to. And when several users are hitting a popular web site, a proxy server can get the contents of the web server's popular pages once, saving expensive internetwork transfers while providing faster access to those pages to the clients.

Also, we can get multiple connections for a single server.

6) What are the seven layers of OSI model?

ANSWER : Application, Presentation, Session, Transport, Network, DataLink, Physical Layer.

7) What Transport Layer does?

ANSWER : It ensures that the mail gets to its destination. If a packet fails to get its destination, it handles the process of notifying the sender and requesting that another packet be sent.

8) What is DHCP?

ANSWER : Dynamic Host Configuration Protocol, a piece of the TCP/IP protocol suite that handles the automatic assignment of IP addresses to clients.

9) What is SMTP?

ANSWER : Simple Mail Transmission Protocol, the TCP/IP Standard for Internet mails. SMTP exchanges mail between servers; contrast this with POP, which transmits mail between a server and a client.

10) In OSI N/w architecture, the dialogue control and token management are responsibilities of...

a) Network b) Session c) Application d) DataLink

ANSWER : b) Session Layer.

11) In OSI N/W Architecture, the routing is performed by ______

a) Network b) Session c) Application d) DataLink

Answer : Network Layer.

Top


--------------------------------------------------------------------------------

Networking
1) What is the difference between URL instance and URLConnection instance?

ANSWER : A URL instance represents the location of a resource, and a URLConnection instance represents a link for accessing or communicating with the resource at the location.

2) How do I make a connection to URL?

ANSWER : You obtain a URL instance and then invoke openConnection on it.

URLConnection is an abstract class, which means you can't directly create instances of it using a constructor. We have to invoke openConnection method on a URL instance, to get the right kind of connection for your URL.

Eg. URL url;

URLConnection connection;

try{ url = new URL("...");

conection = url.openConnection();

}catch (MalFormedURLException e) { }

3) What Is a Socket?

A socket is one end-point of a two-way communication link between two programs running on the network. A socket is bound to a port number so that the TCP layer can identify the application that data is destined to be sent.Socket classes are used to represent the connection between a client program and a server program. The java.net package provides two classes--Socket and ServerSocket--which implement the client side of the connection and the server side of the connection, respectively.

4) What information is needed to create a TCP Socket?

ANSWER : The Local System’s IP Address and Port Number. And the Remote System's IPAddress and Port Number.

5) What are the two important TCP Socket classes?

ANSWER : Socket and ServerSocket.

ServerSocket is used for normal two-way socket communication. Socket class allows us to read and write through the sockets. getInputStream() and getOutputStream() are the two methods available in Socket class.

6) When MalformedURLException and UnknownHostException throws?

ANSWER : When the specified URL is not connected then the URL throw MalformedURLException and If InetAddress’ methods getByName and getLocalHost are unabletoresolve the host name they throwan UnknownHostException.

Top


--------------------------------------------------------------------------------

Servlets
1) What is the servlet?

ANSWER : Servlets are modules that extend request/response-oriented servers, such as Java-enabled web servers. For example, a servlet might be responsible for taking data in an HTML order-entry form and applying the business logic used to update a company's order database.

Servlets are to servers what applets are to browsers. Unlike applets, however, servlets have no graphical user interface.

2) Whats the advantages using servlets than using CGI?

ANSWER : Servlets provide a way to generate dynamic documents that is both easier to write and faster to run. Servlets also address the problem of doing server-side programming with platform-specific APIs: they are developed with the Java Servlet API, a standard Java extension.

3) What are the uses of Servlets?

ANSWER : A servlet can handle multiple requests concurrently, and can synchronize requests. This allows servlets to support systems such as on-line conferencing.

Servlets can forward requests to other servers and servlets.Thus servlets can be used to balance load among several servers that mirror the same content, and to partition a single logical service over several servers, according to task type or organizational boundaries.

4) Which pakage provides interfaces and classes for writing servlets?

ANSWER : javax

5) Whats the Servlet Interfcae?

ANSWER : The central abstraction in the Servlet API is the Servlet interface. All servlets implement this interface, either directly or, more commonly, by extending a class that implements it such as HttpServlet.

Servlets-->Generic Servlet-->HttpServlet-->MyServlet.

The Servlet interface declares, but does not implement, methods that manage the servlet and its communications with clients. Servlet writers provide some or all of these methods when developing a servlet.

6) When a servlet accepts a call from a client, it receives two objects- What are they?

ANSWER : ServeltRequest: Which encapsulates the communication from the client to the server. ServletResponse: Whcih encapsulates the communication from the servlet back to the client. ServletRequest and ServletResponse are interfaces defined by the javax.servlet package.

7) What information that the ServletRequest interface allows the servlet access to?

ANSWER : Information such as the names of the parameters passed in by the client, the protocol (scheme) being used by the client, and the names of the remote host that made the request and the server that received it.

The input stream, ServletInputStream.Servlets use the input stream to get data from clients that use application protocols such as the HTTP POST and PUT methods.

8) What information that the ServletResponse interface gives the servlet methods for replying to the client?

ANSWER : It Allows the servlet to set the content length and MIME type of the reply.

Provides an output stream, ServletOutputStream and a Writer through which the servlet can send the reply data.

9) What is the servlet Lifecycle?

ANSWER : Each servlet has the same life cycle:

A server loads and initializes the servlet (init())

The servlet handles zero or more client requests (service())

The server removes the servlet (destroy())

(some servers do this step only when they shut down)

10) How HTTP Servlet handles client requests?

ANSWER : An HTTP Servlet handles client requests through its service method. The service method supports standard HTTP client requests by dispatching each request to a method designed to handle that request.

No comments:

Archives