This is related to the book Head first JSP and Servlets 2nd edition. The books says that there are two types of custom tag handlers - Simple and classic. Classic tags are rarely used, so I'd like to skip them for now. I skipped a few pages related to classic and saw some new pages. I am not sure if these new pages are related to classic tags.
IterationTag lets you repeat the body When you write a tag handler that extends TagSupport, you get all the lifecycle methods from the Tag interface, plus the one method from IterationTag—doAfterBody(). Without doAfterBody(), you can’t iterate over the body because doStartTag() is too early, and doEndTag() is too late. But with doAfterBody(), your return value tells the Container whether it should repeat the body again (EVAL_BODY_AGAIN) or call the doEndTag() method (SKIP_BODY).
Default return values from TagSupport.If you don’t override the TagSupport lifecycle methods that return an integer, be aware of the default values the TagSupport method implementations return. The TagSupport class assumes that your tag doesn’t have a body (by returning SKIP_BODY) from do StartTag()), and that if you DO have a body that’s evaluated, you want it evaluated only once (by returning SKIP_BODY from doAfterBody()). It also assumes that you want the rest of the page to evaluate (by returning EVAL-PAGE from doEndtag()).
What I'm trying to do is basically draw a Rectangle outline through left-click and then dragging the mouse to the size one wants.
After one has created this rectangle, the user can change the color of the rectangle through clicking the 3 sliders found on the top in the program. Upon the change in color, the rectangle should change from "g.drawRect" to "g.fillRect" and use the desired color.
I have the basic outline of the program done, but working with the last part (the color and changing of the Rectangle type after changing the color)
Is there like a "then" command in Java? Like: after you've done x, do y. That would make this heaps easier.
how to implement action listeners for an array of buttons. The program has an array of buttons like the number pad on a keyboard, when the user clicks a button the number/button clicked will append to the textfield. So far I'm just working on the GUI.
regionsBuilder.setMultiChoiceItems( displayNames, regionsEnabled, new DialogInterface.OnMultiChoiceClickListener() { @Override
[code]...
Questions:
1. Describe what the code displays. A error message would be shown when the use has selected an insufficient number of options.
2. Describe when an event handler (included in the code) gets executed? The event handler gets executed every time a user selects an option(???)
3. Explain a feature of what is displayed
4. Explain the meaning of all of the parameters in the central, complicated call of the code.
5. Describe how the code handles two possible situations.When the user has selected a sufficient number of options (no less than or equal to 0), then no error message would be shown. On the other hand, an error message will be shown when the user has not selected a sufficient number of options (0). (???)
I'm having difficulty implementing keyboard and mouse event handlers at the same time for a program designed to notify the user when a key has been pressed or a mouse button clicked.
I can make and understand a program that does one or the other, but when I try to combine them, either the keyboard only or the mouse only works.
Using the code from the Java Docs (listed below) I am getting behavior that was a bit unexpected. The only changes were to add JTextField and additional output within the ComponentEvent handlers. Run the code and when the frame appears, think of each side as North, South, East (right side) and West (left side) as you are looking at it. This was run using JDK 1.7.0_25.
Run the code.
1 - Click the East edge (right) of the frame and drag to be wider or more narrow. Only the "Resized" is executed for all components which makes sense.
2 - Click the West edge (left) of the frame and drag to be wider or more narrow. This time "Resized" is executed for all components EXCEPT it is "Moved" for JFrame. Why is it "Moved" here for JFrame but not in Step 1?
3 - Click the South edge (bottom) of the frame and drag to be taller or shorter. This time only 2 components are affected. JPanel is "Moved" while JFrame is "Resized".Why isn't both JFrame and JPanel just "Resized"?
4 - Click the North edge (top) of the frame and drag to be taller or shorter. This time only 2 components are affected again but the output is slightly different. JPanel is "Moved" while JFrame is BOTH "Resized" and "Moved".
There just doesn't seem to be consistency here. What are the guidelines or criteria for when these Events are to be executed?
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class ComponentEventDemo extends JPanel implements ComponentListener, ItemListener {
If you have final int i = 1; short s = 1; switch(s) { case i: System.out.println(i); }
it runs fine. Note that the switch expression is of type short (2 bytes) and the case constant is of type int (4 bytes).My question is: Is the type irrelevant as long as the value is within the boundaries of the type of the switch expression?I have the feeling that this is true since:
byte b = 127; final int i = 127; switch(b) { case i: System.out.println(i); }
This runs fine again, but if I change the literal assigned to i to 128, which is out of range for type byte, then the compiler complains.Is it true that in the first example the short variable and in the second example the byte variable (the switch expressions) are first implicitly converted to an int and then compared with the case constants?
Got a problem with generics, which I'm still pretty new at. Here's a program that compiles fine:
import java.util.ArrayList; import javax.swing.JComponent; public class Experiments { public static void main(String[] args) { ListHolder holder = new ListHolder();
[Code] ....
It's useless, but it compiles. If I change Line 14, however, to add a generic type parameter to the ListHolder class, Line 10 no longer compiles:
import java.util.ArrayList; import javax.swing.JComponent; public class Experiments { public static void main(String[] args) { ListHolder holder = new ListHolder();
[Code] ....
I get this error:
Uncompilable source code - incompatible types: java.lang.Object cannot be converted to javax.swing.JComponent at experiments.Experiments.main(Experiments.java:10)
Apparently, the introduction of the type parameter leaves the compiler thinking that aList is of type Object. I can cast it, like this:
JComponent c = ((ArrayList<JComponent>)holder.aList).iterator().next();
That makes the compiler happy, but why is it necessary? How does adding the (unused) type parameter to the ListHolder class end up making the compiler think the aList member of an instance of ListHolder is of type Object?
I'm trying to parse and compare the content of a zip file. However I'm stuck at what SHOULD be a very simple problem, however I can't seem to find a solution. I have done the following:
ZipInputStream zin1 = new ZipInputStream(fin); ZipEntry ze1 = null; fin2 = new FileInputStream(fileName2); ZipInputStream zin2 = new ZipInputStream(fin2); ZipEntry ze2 = null; //fin.close(); ze1 = zin1.getNextEntry(); ze2 = zin2.getNextEntry();
Which gives me the first entry of each zipfile as a ZipEntry type object. I have tried getting the path of the file (inside the zip file) and using this to create a File type object. This does not seem to work though I get:
Exception in thread "main" java.io.FileNotFoundException: My DocumentsmetadatacoreProperties.xml (The system cannot find the file specified) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(Unknown Source) at java.io.FileReader.<init>(Unknown Source)
And this is because I get a null return from trying to create the File file1 = new File(correctLocation);
I guess I cannot access the file inside a zip file this way. So my question is how can I make a ZipEntry type object into a File type object?
The objective of the code is to add new records based on existing records with a partial change to the key. I'm getting "type of the expression must be an array type but it resolved to DstidArray" on dsTidRecTbl[i]
String stMajor = request.getParameter("stMajorVersion"); String stMinor = request.getParameter("stMinorVersion"); String stPatch = request.getParameter("stPatchVersion"); StringBuffer stKeySB = new StringBuffer(stMajor+stMinor+stPatch); String stKey = new String(stKeySB.toString()); DstidArray dsTidRecTbl = new DstidArray(stKey); request.setAttribute("dsTidRecTbl", dsTidRecTbl);
I am working on a project that uses a custom tag in a JSP file. Here is the tag descriptor
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"> <taglib> <tlibversion>1.0.0</tlibversion> <jspversion>1.1</jspversion>
[code]...
Everything seems working fine except that the custom tag handler does not get called at call. I set breakpoint and it never stops there. The JSP page is displayed fine, only not showing the custom tag content and there is no logged error/warning from the log. The tld is found fine. Like what classes called/validated the tag handler so I can logging those classes at DEBUG level to see what goes wrong.
I would like to create a custom tag which works similar to <c:forEach/> tag i.e
<c:forEach var = "movie" items = "${collection}> ${movie} </c:forEach>
I would want to create the similar behaviour(as above) in my own custom Tag.Morever I would like to use the doStartTag() and doEndTag() and doAfterBody() methods while creating custom Tag.
My jsp page needs to have a dropdown box. on selecting one/more than one values from this list, the same values get populated in another one.. we have a delete button too , it allows to populate the second box again.
The thing is i am to avoid scripts and use custom tags as much as i can...
I am supposed to implement a custom Map interface and I'm having some trouble with this method:
// 1. From the interface /** * Gives an iterator iterating over the key set from the smallest key that is not less than the key provided. * @param key the key * @return the iterator * @throws NullPointerException if key == null */
public Iterator<Key> tailIterator(Key key);
[Code] .....
My implementation is wrong according to a JUnit test. Also, to get a full score this method should have a worst case running time of O(log N), which obviously isn't the case now. (My Map implementation is currently based on binary search in an ordered array, keeping a prallel array for the values).
I'm having trouble creating a highly efficient algorithm for counting within a custom scale. This problem applies to futures trading, specifically treasuries contracts.
One specific treasury contract has 32 units before rolling over to the next whole number. So, the price scale looks something like this ...
If I pick a number (price) at random, let's say 1 28, and I want to add 8 units to that value, I should end up with 2 4. I can do this using brute force, calculating remainders, etc, etc....
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import javax.swing.ImageIcon; import javax.swing.JOptionPane; public class Main
[Code] ....
I cant custom my own icon. There is no error. But the image that I tried to show in the joptionpane is not showing. What should i do?
I have a java code that should sort an array of names based on the last name. e.g jane a, jane b, jane z, jane d should be jane a, jane b, jane d, jane z. I have the following code but for some reasons, the s1 in the comparator method is always null.
public class ShuffleName { public static void sortNames(String[] names){ Arrays.sort( names, new Comparator<String>() { public int compare( String s1, String s2 ) { String s1last = s1.split("s+")[1]; String s2last = s2.split("s+")[1]; return s1last.compareTo(s2last);
my application shows a profile. The profile has various interactors. I'm trying to follow the MVC model, so I neeed to tell my controller that something was selected. But the profile has many elements that can be selected(mostly labels, so not setActionCommand), how do I tell it WHICH one was it?
how do I separate those interactors? I created a HashMap that maps from JLabels to Strings. When a mouse event occurs I loop trough it to search for the event source. If I find it I fire my custom event.