bi = new BufferedImage[4];
String s[] = { "bld.jpg", "bld.jpg", "boat.gif", "boat.gif"};
for ( int i = 0; i < bi.length; i++ ) {
Image img = getImage(getURL("images/" + s[i]));
try {
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(img, 0);
tracker.waitForID(0);
}
catch ( Exception e ) {}
int iw = img.getWidth(this);
int ih = img.getHeight(this);
bi[i] = new BufferedImage(iw, ih, BufferedImage.TYPE_INT_RGB);
Graphics2D big = bi[i].createGraphics();
big.drawImage(img,0,0,this);
}
addNotify(); Insets insets = getInsets(); // from inside one container then you get ... insets.top insets.bottom insets.left insets.right
solveRecursively(Problem p) {
if (p is trivial) return(the obvious answer);
// else simplify the problem
Problem p1 = simplerProblem(p);
s1 = solveRecursively(p1);
// Turn the solution of simpler pb into solution of original problem
s = solutionOfOriginalProblem(s1);
return s1;
}
To test the effectiveness of that procedure, you should try with a file that
contains at least 2
Classes
package net.vuylsteker.testCLASSPATH="$CLASSPATH;Z:\ClassDir"
export CLASSPATHZ:\ClassDir" HelloWord.javaimport net.vuylsteker.test.*JFileChooser chooser = new JFileChooser();
int returnVal = chooser.showOpenDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION) {
fichier = chooser.getSelectedFile();
System.out.println("You chose to open this file: " + fichier.getName());
System.out.println("You chose to open this file: " + fichier.getAbsolutePath());
}
class ShowPanel extends JPanel implements MouseListener, MouseMotionListener {
ShowPanel(File f) {
addMouseMotionListener(this);
addMouseListener(this);
setBackground(Color.white);
../..
}
// Handles the event of the user pressing down the mouse button.
public void mousePressed(MouseEvent e) {
last_x = rect.x - e.getX();
last_y = rect.y - e.getY();
// Checks whether or not the cursor is inside of the rectangle
// while the user is pressing the mouse.
if ( rect.contains(e.getX(), e.getY()) ) {
updateLocation(e);
} else {
System.out.println("First position the cursor on the rectangle and then drag.");
pressOut = true;
}
}
// Handles the event of a user dragging the mouse while holding
// down the mouse button.
public void mouseDragged(MouseEvent e) {
if ( !pressOut ) {
updateLocation(e);
} else {
System.out.println("First position the cursor on the rectangle and then drag.");
}
}
// Handles the event of a user releasing the mouse button.
public void mouseReleased(MouseEvent e) {
// Checks whether or not the cursor is inside of the rectangle
// when the user releases the mouse button.
if ( rect.contains(e.getX(), e.getY()) ) {
updateLocation(e);
} else {
System.out.println("First position the cursor on the rectangle and then drag.");
pressOut = false;
}
}
// This method is required by MouseListener.
public void mouseMoved(MouseEvent e) {}
// These methods are required by MouseMotionListener.
public void mouseClicked(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
// Updates the coordinates representing the location of the current rectangle.
public void updateLocation(MouseEvent e) {
rect.setLocation(last_x + e.getX(), last_y + e.getY());
/*
* Updates the label to reflect the location of the
* current rectangle
* if checkRect returns true; otherwise, returns error message.
*/
if (checkRect()) {
System.out.println("Rectangle located at " + rect.getX() + ", " + rect.getY());
} else {
System.out.println("Please don't try to "+ " drag outside the area.");
}
repaint();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
// Draws and fills the newly positioned rectangle.
g2.setPaint(Color.red);
g.drawString("Bonjour... "+name, 20, 20);
g.drawImage(img,rect.x,rect.y,null);
}