|
Ok David,thx for ur advice.
But what abt resizing of image?
Thanks
Yogesh
|
|
|
|
|
I'm not a Swing programmer, so take this advice with a large, large pinch of salt.
Reading the documentation for Graphics, it looks as if drawImage is overloaded. The javadoc for the drawImage method you are calling says:
Draws as much of the specified image as has already been scaled to fit inside the
specified rectangle.
In other words, it does not resize the image.
There is another drawImage method that says:
Draws as much of the specified area of the specified image as is currently available,
scaling it on the fly to fit inside the specified area of the destination drawable
surface.
It sounds to me as if this is what you want.
My advice would be to read the documentation on how to draw and resize images. Sorry I can't be more help, but as I said, I am not a Swing programmer.
|
|
|
|
|
Thanks A Lot David for ur Advice.
I am also learning and learned a lot from CodeProject and still learning...
Thanks Anyway.
Regards
Yogesh
|
|
|
|
|
Hi
I am curious if some can help me with adjusting the height of a drop down once the user has selected a response that was wrapped.
I have a few pictures to show the drop down.
First one is as you would encounter it.
http://public.me.com/wcmedic/Closed.png
Second one is list expanded note option 5 is wrapped text
http://public.me.com/wcmedic/Expanded.png
Third is option 5 selected and note that it is cut off now
http://public.me.com/wcmedic/Cutoff.png
Thank you in advance
Rick
my email is wcmedic@live.com
|
|
|
|
|
Sorry Rick, but no-one is liekly to e-mail you.
The pictures are pretty but a little code snippet would help. I don't know if you're aware of this, but most people using this site are programmers rather than graphical designers
Panic, Chaos, Destruction.
My work here is done.
or "Drink. Get drunk. Fall over." - P O'H
|
|
|
|
|
Thank You,
Unfortunately I know nothing about programming I am only doing the design. I was just being told by the programmer that what I was asking could not be done so I only wished to verify from some other sources.
I do appreciate your response, have a great day.
Rick
|
|
|
|
|
This is an assignment I'm trying to solve. I'm still fairly new to java and would like some assistance, if anyone is willing. Please ignore the modelAnswer() class, and focus on the getStudentAnswers. I was having trouble extracting chars from the array, and tried to use a switch statement instead.
For the moment our lecturer hasn't introduced Java GUI's and I've just used JOptionPane so far.
Please feel free to email me suggestions
/**
*
*Create a program to mark a set of multiple choice test results. This is *a console program
*
*that uses JOptionPane dialog boxes as well.
*
*Read a set of ten correct answers useing JOptionPane dialog box and *store the entire answer
*
*as one string in one variable. There are no spaces between the letters *and the user may
*
*enter capital or small letters. Here's is the sample input box:
*
* JOptionPane.showInputDialog("Please enter the answers to the ten *multiple choice questions
*
*\nno spaces and all in Capital letters e.g. ABCDEABCDE");
*
*
*Extract each letter from this string and fill an array with 10 letter *answers. This is done
*
*in a method loadAnswers after the above. When the answers have been *written to the array,
*
*display the following confirmation box.
*
*
*JOptionPane.showConfirmDialog(null, "The information has been saved.");
*
*The program must then ask the user for the number of students to *process as shown below:
*
*
*JOptionPane.showInputDialog("Please enter the number of students :");
*
*Thereafter the program must prompt the user for a student name and *thereafter for the
*
*student's 10 answers. Use Input Dialog boxes to achieve this. The 10 *answers for the student
*
*must be saved in another array.
*
*JOptionPane.showInputDialog("Please enter the student name");
*
*Please ensure the wording in the dialog boxes is shown in the figures *above.
*
*After successful capture of the marks, show another success *confirmation dialog box as shown
*
*in the second figure above. Thereafer compare the student's answers *with the answers in the
*
*answer array. Keep a count of the number of answers from the student's *record that match the
*
*answers in the answer key.
*
*Store the student's name and the number of correct answers in another *array(s).
*Calculate the symbol based on the following table:
*
*SCORE GRADE
*
*9-10 - A Above Average
*8 - B Above Average
*7 - C Above Average
*6 - D Above Average
*5 - E Below Average
*0-4 - F Below Average
*
*
*For each student, display the student's name and the number of correct *answers and a symbol
*
*(letter grade). Calculate the average number of correct answers for the *class and report it
*
*in a format similiar to the one on the next page.
*
*Example:
*
*Jean 10 A
*Jack 7 C
*George 9 A
*Paul 5 E
*Steven 7 C
*Jackie 6 D
*Susan 0 F
*Greg 8 B
*Gabby 8 B
*Andrea 9 A
*
*Using the array of student records, display a list of all students. *Report if a student had
*
*an average, above average with the number of correct answers shown *below.
*
*To end the program display a dialog box asking the user for *confirmation of exit as shown
*
*below.
*
*JOptionPane.showConfirmDialogBox
*
*
*Generally you are required *to
*
*1. Follow good programming practices
*2. Add appropriate comments.
*3. You must use methods and appropriate parameter passing.
*4. Use variables, class and method naming standards.
*
*
*
*
*
*
*
*
*Project Name: Student Marks System
* Developer: Code Scribbler
* Date: 6 June 2010
* Aim: To store test marks of multiple students and
* display their Aggregates, including the symbol
* scored (e.g. Name: George Mark: 9 Symbol: A)
*
* Contact: madpoet19@gmail.com
*/
import java.util.*;
import javax.swing.*;
public class Question1 {
public static String modelAnswer;
public static String studentName;
public static String studentAnswers;
public static int ansPosition01;
public static int ansPosition02;
public static int ansPosition03;
public static int ansPosition04;
public static int ansPosition05;
public static int ansPosition06;
public static int ansPosition07;
public static int ansPosition08;
public static int ansPosition09;
public static int ansPosition10;
public static int numOfStudents;
public static int nameCount;
public static int answerCount;
public static int nameSize;
public static String[] arrNameOfStudent = new String [numOfStudents];
public static String[] arrStudentAnswers = new String [numOfStudents];
public static void main(String[] args) {
modelAnswer();
getStudentAnswers(studentName, studentAnswers, nameCount, answerCount);
}//end main
public static void modelAnswer()
{
modelAnswer = JOptionPane.showInputDialog("Please enter the answers to the ten multiple choice questions \nno spaces and all in Capital letters e.g. ABCDEABCDE");
int init1;
int init2;
init1 = modelAnswer.indexOf(" ");
init2 = modelAnswer.indexOf(" ", init1 +1);
//System.out.println("Answers: " + modelAnswer.charAt(0) + " " + modelAnswer.charAt(init1 +1) + " " + modelAnswer.charAt(init2 +1) + " ");
//return modelAnswer();
}//end modelAnswer
public static void getStudentAnswers(String studentName, String studentAnswers, int nameCount, int answerCount)
{
numOfStudents = Integer.parseInt(JOptionPane.showInputDialog("Please enter the number of students :"));
char caseSymbol;
String finalSymbol = "";
String finalResult = "";
int questionScore = 0;
double questionScoreAvg = 0;
for (nameCount = 1; nameCount < 11; nameCount++)
{
studentName = JOptionPane.showInputDialog("Please enter the student name:");
Arrays.fill(arrNameOfStudent, studentName);
for (answerCount = 1; answerCount < 11; answerCount++)
{
studentAnswers = JOptionPane.showInputDialog("Please enter " + studentName + "'s answer for Question " + answerCount);
Arrays.fill(arrStudentAnswers, studentAnswers);
if (answerCount == 1)
{
ansPosition01 = studentAnswers.indexOf(" ");
caseSymbol = studentAnswers.charAt(1);
switch (caseSymbol)
{
case 'A':
questionScore = (questionScore +1);
break;
}//end switch statment
}//end if
else if (answerCount == 2)
{
ansPosition02 = studentAnswers.indexOf(" ", ansPosition01 +1);
caseSymbol = studentAnswers.charAt(2);
switch (caseSymbol)
{
case 'B':
questionScore = (questionScore + 1);
break;
}//end switch statment
}//end elseif
else if (answerCount == 3)
{
ansPosition03 = studentAnswers.indexOf(" ", ansPosition02 +2);
caseSymbol = studentAnswers.charAt(3);
switch (caseSymbol)
{
case 'C':
questionScore = (questionScore + 1);
break;
}//end switch statment
}//end elseif
else if (answerCount == 4)
{
ansPosition04 = studentAnswers.indexOf(" ", ansPosition03 +3);
caseSymbol = studentAnswers.charAt(4);
switch (caseSymbol)
{
case 'D':
questionScore = (questionScore + 1);
break;
}//end switch statment
}//end elseif
else if (answerCount == 5)
{
ansPosition05 = studentAnswers.indexOf(" ", ansPosition04 +4);
caseSymbol = studentAnswers.charAt(5);
switch (caseSymbol)
{
case 'E':
questionScore = (questionScore + 1);
break;
}//end switch statment
}//end elseif
else if (answerCount == 6)
{
ansPosition06 = studentAnswers.indexOf(" ", ansPosition05 +5);
caseSymbol = studentAnswers.charAt(6);
switch (caseSymbol)
{
case 'A':
questionScore = (questionScore +1);
break;
}//end switch statment
}//end elseif
else if (answerCount == 7)
{
ansPosition07 = studentAnswers.indexOf(" ", ansPosition06 +6);
caseSymbol = studentAnswers.charAt(7);
switch (caseSymbol)
{
case 'B':
questionScore = (questionScore + 1);
break;
}//end switch statment
}//end elseif
else if (answerCount == 8)
{
ansPosition08 = studentAnswers.indexOf(" ", ansPosition07 +7);
caseSymbol = studentAnswers.charAt(8);
switch (caseSymbol)
{
case 'C':
questionScore = (questionScore + 1);
break;
}//end switch statment
}//end elseif
else if (answerCount == 9)
{
ansPosition09 = studentAnswers.indexOf(" ", ansPosition08 +8);
caseSymbol = studentAnswers.charAt(9);
switch (caseSymbol)
{
case 'D':
questionScore = (questionScore + 1);
break;
}//end switch statment
}//end elseif
else if (answerCount == 10)
{
ansPosition10 = studentAnswers.indexOf(" ", ansPosition09 +9);
caseSymbol = studentAnswers.charAt(10);
switch (caseSymbol)
{
case 'E':
questionScore = (questionScore + 1);
break;
}//end switch statment
}//end elseif
if (questionScore == 0 || questionScore == 1 || questionScore == 2 || questionScore == 3 || questionScore == 4)
{
finalSymbol = "F";
}
else if (questionScore == 5)
{
finalSymbol = "E";
}
else if (questionScore == 6)
{
finalSymbol = "D";
}
else if (questionScore == 7)
{
finalSymbol = "C";
}
else if (questionScore == 8)
{
finalSymbol = "B";
}
else if (questionScore == 9 || questionScore == 10)
{
finalSymbol = "A";
}
if (questionScore > 5)
{
finalResult = "Above Average";
}//end final result if
else if (questionScore < 5)
{
finalResult = "Below Average";
}//end final result elseif
questionScoreAvg = (questionScoreAvg + questionScore);
System.out.println(studentName + "\t" + questionScore + "\t" + finalSymbol + "\t" + finalResult);
}//end inner loop
questionScoreAvg = (questionScoreAvg / 100);
System.out.println("\n" + "\n" + "The class average is: " + questionScoreAvg);
}//end outer loop
}//end getStudentAnswers
}//end class
|
|
|
|
|
CodeScribbler wrote: Please feel free to email me suggestions
1. Read the forum guidelines[^].
2. Do not post your entire program, people tend not to have the time to try and figure out the whole thing.
3. Put your code between <pre></pre> tags - see the "code block" button above the edit window. To fix your question just edit the original, don't repost the question.
4. Don't use general questions, try and narrow down the problem to a specific area of code and then explain what is going wrong and what you think should happen.
It's time for a new signature.
|
|
|
|
|
Sorry for the long winded ramble. My apologies, I've included an easier to read snippet below. I would like to know am I extracting chars from the array, in the correct manner? How would I print an array to show the all the students in a single process?
for (nameCount = 1; nameCount < 11; nameCount++)
{
studentName = JOptionPane.showInputDialog("Please enter the student name:");
Arrays.fill(arrNameOfStudent, studentName);
for (answerCount = 1; answerCount < 11; answerCount++)
{
studentAnswers = JOptionPane.showInputDialog("Please enter " + studentName + "'s answer for Question " + answerCount);
Arrays.fill(arrStudentAnswers, studentAnswers);
if (answerCount == 1)
{
ansPosition01 = studentAnswers.indexOf(" ");
caseSymbol = studentAnswers.charAt(1);
switch (caseSymbol)
{
case 'A':
questionScore = (questionScore +1);
break;
}
}
else if (answerCount == 2)
{
ansPosition02 = studentAnswers.indexOf(" ", ansPosition01 +1);
caseSymbol = studentAnswers.charAt(2);
switch (caseSymbol)
{
case 'B':
questionScore = (questionScore + 1);
break;
}
}
|
|
|
|
|
CodeScribbler wrote: am I extracting chars from the array, in the correct manner?
Not sure I can answer that as I cannot quite figure out what you are trying to do here. I will say that your switch statements inside the if blocks do not make much sense. I think you probably need to spend some more time looking at the basics of Java, specifically the if, switch statements etc.
It's time for a new signature.
|
|
|
|
|
Thanks for the help Richard. I spoke to my lecturer and he helped me re-think the program's logic using pseudocode. I also realized that I left out the 'default' part of the switch statement, which is another reason why my program failed to run correctly.
Thanks for your time
|
|
|
|
|
You're welcome, good luck!
It's time for a new signature.
|
|
|
|
|
In a class I have private type variables. I'm writting a new clone method inside that class because I want a deep clone object for that class.
So I wrote private variable name.clone() before add it to the main clone object. System is giving 'The method from the type Object is not visible' error.
Can you tell is there any way to do deep clone?
Thanks in advance.
Regards,
Janaki
|
|
|
|
|
The method clone() is already defined on Object as being protected which is why you cannot call it in this case. How you clone your name variable depends on its object type. My guess is that it's probably a String. Since Strings are immutable you can just copy it to the new cloned instance.
|
|
|
|
|
I called clone() method only.. It has given me the above mentioned error. Even for Arraylist also its giving the same.
Thanks.
|
|
|
|
|
Just to be clear about this: you are saying that when you call clone() on java.util.ArrayList you get a compilation error, "The method clone() from the type ArrayList is not visible". Is that what you are saying? That sounds rather odd to me.
Perhaps you could post a small snippet of code which illustrates your problem.
|
|
|
|
|
To clone a string variable, do I have to use the clone method?
Thanks.
|
|
|
|
|
String is not Cloneable, so you cannot call clone() on a String object as it is a protected method.
String is immutable so it is safe to set the value from one instance to another:
myNewObject.name = myOldObject.name;
|
|
|
|
|
Hello there,
We have this module at work who nobody knows where the source code is.
It was behaving erratically on certain scenarios so i decided to decompile it (using DJ Java decompiler which btw works wonderfully) and found the problem line.
Now the how to fix it, i can think of 2 ways:
1) I decompile everything, change the line and recompile
The module is pretty large in amount of classes and submodules. I dont really feel confident that i can recompile everything right.
2) Editing the .class file somehow. Now i grabbed a class file editor that showed me bytecode, the method names and the variables declared in it, but no real way to edit a line out (or maybe hardcode a variable somehow).
So basically i am asking for advice on option #2 or maybe some other option i am unaware of. Thanks
|
|
|
|
|
Option #2 is fine if you really understand the structure of the class file but it is so prone to errors that I would not recommend it for a commercial or business application. You would be much safer in recreating the source code and rebuilding the application from that. This is the second such question I've seen today; I would suggest a better use of source control systems for your company.
It's time for a new signature.
|
|
|
|
|
I'm totally agreed with you. If you don't have a better idea about the project/application structure better to take the second option. Patching the code like this is real headache in most of the cases.
I appreciate your help all the time...
CodingLover
|
|
|
|
|
I think this could help you:
First, take out the Java source code for that particular class using DJ de-compiler and save it as '.java' file to a separate location with the same name & in the same package. For same package you will have to create empty folders as per the desired package.
Make the change you want into the Java code using any text editor or IDE. If you use IDE like eclipse, set the classes and jars which are available in that application into the classpath.
Find out the JDK by which the original class file was compiled. In case of jar file, the JDK version could be found in the MENIFEST file. You will have to compile your new code using the same JDK.
Generate the classfile either by IDE or by javac command from the JDK used in creating original class file.
Keep a backup of the original jar file.
Open the original jar file into Winrar or Winzip such that it shows the complete folder structure of the jar file. Open the folder in which the original class file is present. Delete the original class file and insert the new generated class file in its place. Close the Winzip/ Winrar application.
You are done! keep this new jar in place of the original jar and enjoy.
~UJ
UJ, the Power Builder.
|
|
|
|
|
Sir,
I'm studying computer science engineering course as a degree and i now entered into last semester of my course so i had a mini project and a major project to be done so I'm looking for the ideas which must be new unique but realized that it's not possible so I'm hoping that anyone of this community will help me by giving the ideas to implement as a mini and major project (both differ in their structure of course ) so please give me some suggestions for my development
Thanking you sir,
-
Sudhir
|
|
|
|
|
Well, in 1972-73 I completed a project on nonlinear optimization and another on solution of nonlinear partial differential equations. Then, in 1973 I selected a project on predicting the critical states of hydrocarbon mixtures and finished it in 1975. Then in 1976 I selected a project on automated control of oil fields.
It may seem sort of odd, but I don't recall anyone helping me pick those, other than the professors who needed to approve them anyway. As I recall we were told that if we didn't understand the subject areas enough to select a decent project, then we obviously weren't prepared to graduate.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
But sir I'm in programming area and i can apply anywhere i want but I'm not getting where i should implement
|
|
|
|