Sending a value to a public class
Hi
i have a minor problem i think
i have 2 frames in this program
it has a variable on a first frame to keep a value of 2 buttons on this frame
for example when a user clicks on first button the variable will keep "True" (boolean)
if the user clicks on the second button the variable will keep "False"
after the user click the buttons, Second frame shows
the problem is the second frame gets the value but it has no value in the second frame class
the main point of this is to run one process if st is true and onother if it is false
the second frame will be needed in the final version to give the user an option
this is the code
The first frame code
void db_actionPerformed(ActionEvent e)
boolean st=true;
Frame2 F2 = new Frame2(st);
F2.setSize(650,450);
F2.setVisible(true);
The code for Second frame
public class Frame 2 extends JFrame {
//int total;
//************************HOW CAN i get the value for st here????
//System.out.print(st);
XYLayout xYLayout1 = new XYLayout();
JTextField empnoField = new JTextField();
JTextField weeknoField = new JTextField();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
if(!st)
HoursProcess dbh=new HoursProcess();
else
DayProcess dbd= new DayProcess();
public Frame2(boolean st) {
try {
System.out.println("..................");
//****************************** it shows the St value*******
System.out.println(st);
jbInit();
closemain();
//firstinterbuttons();
// nocurrentRec();
catch(Exception e) {
e.printStackTrace();
}}
Thanks it is almost working
But the if condition inside public class doesn't work
it gives an error message "illegal start of type"
how can i solve this problem
Thanks
public class Frame 2 extends JFrame
//int total;
XYLayout xYLayout1 = new XYLayout();
JTextField empnoField = new JTextField();
JTextField weeknoField = new JTextField();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
if(!st)
HoursProcess dbh=new HoursProcess();
else
DayProcess dbd= new DayProcess();
}
Similar Messages
-
I want to send a value from JSP file to another JSP file without..
I want to send a value from one.JSP file to another two.JSP file without to show the content HTML of the one.JSP in two.JSP (with include), only take the values processed in a Bean :
===================
Bean
package pck;
import java.io.*;
public class yyyy {
public String getXxx() {
return cccc;
========================
one.JSP
<jsp:useBean id="idBean" class="pck.yyyy" scope="??"/>
<%idBean.setXxx(ccc);%>
========================
two.JSP
<%@ include file="one.jsp"%>
<%=idBean.getXxx()%>
but without to show the content HTML of one.JSP in two.JSP.
Can someone help me?, please.Why don't just put the common code in a separate file and include it in both. i.e. the code that is in one.jsp that is needed by two.jsp could be put in a common file and included in both pages, thus the HTML is separated off. If this will not work, set a boolean value in two.jsp that can be used by one.jsp to decide if the HTML should be displayed or not.
Steve -
Wanna send integer value by reference in function
I wanna send integer value by reference thro' function. Here's the code going.
class test
basic b = new basic();
test()
test2.Fuction(b.value);
class basic
int value;
basic(){}
//////here i want value to be affected by Function.I don't want it affected by value, but by reference.
class test2
public static void Function(int value)
value++;If you want to update the value in your b object, then you have to pass the reference of that object to test2.Function(..). Here is one way to do it:
class test {
basic b = new basic();
test() {
test2.Function(b);
class test2 {
public static void Function(basic b) {
b.value++;
}It's a good idea to follow the java naming convention. Classes should begin with an upper case letter. Methods and variable names with a lover case letter (but final static variables with all upper case letters). -
How to send List from jsp to action class
hi,
i m fetching list from database and showing to jsp as follows:
user can update that list i need to collect that updated list in next action class but i m not able to do that. can anybody suggest me any solution the code i m using is as follows:
<html:form action="/myUpdate">
<table>
<tr>
<td>
<label><input type="text" property="name" name="name" value=""/></label>
</td>
</tr>
<logic:iterate id="address" name="info" property="addressList" indexId="rowindex">
<tr>
<td>
<input type="text" value="" name="address[<bean:write name="rowindex"/>].houseno" />
</td>
<td>
<input type="text" value="" name="address[<bean:write name="rowindex"/>].roadname" />
</td>
<td>
<input type="text" value="" name="address[<bean:write name="rowindex"/>].city" />
</td>
<td>
<input type="text" value="" name="address[<bean:write name="rowindex"/>].state" />
</td>
<td>
<input type="text" value="" name="address[<bean:write name="rowindex"/>].country" />
</td>
</tr>
</logic:iterate>
<tr>
<html:submit/>
</tr>
</table>
</html:form>
here in privious action i m settting bean object in session with name 'info'. it is fetching data and disply it correctly but when i m trying to get this updated data in myUpdate action i m not getting list element.--------------- MyBean.java----------------------
package form;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
* @author Sushant.Raut
public class MyBean extends ActionForm {
Logger log = Logger.getLogger(this.getClass());
/* (non-Javadoc)
* @see org.apache.struts.action.ActionForm#reset(org.apache.struts.action.ActionMapping, javax.servlet.http.HttpServletRequest)
@Override
public void reset(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
super.reset(mapping, request);
this.name = "";
public String toString()
System.out.println("name : " + this.name );
for(Iterator<Address> iterator = addressList.iterator(); iterator.hasNext();)
Address address = (Address)iterator.next();
System.out.println("city : " + address.getCity());
return null;
private static final long serialVersionUID = 1L;
private String name;
private List<Address> addressList;
* @return the names
public MyBean()
log.info("Bean Construtor is called.");
System.out.println("MyBean:::::constructor is called.");
public String getName() {
log.info("Bean getName() is called");
return name;
* @param names the names to set
public void setName(String name) {
this.name = name;
log.info("Bean setName() is called");
* @return the address
public List<Address> getAddressList() {
log.info("Bean getAddressList() is called");
return addressList;
* @param address the address to set
public void setAddressList(List<Address> address) {
log.info("Bean setAddressList() is called");
this.addressList = address;
public Address getAddress(int index)
log.info("Bean getAddress(int index) is called");
while(index >= addressList.size())
addressList.add(new Address());
return this.addressList.get(index);
public void setAddress(int index, Address address)
log.info("Bean setAddress(int index, Address address)) is called");
this.addressList.add(index, address);
}------------- Address.java------------
package form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionMapping;
* @author Sushant.Raut
public class Address {
private String houseno;
private String roadname;
private String city;
private String state;
private String country;
public Address(){}
* @return the houseno
public String getHouseno() {
return houseno;
* @param houseno the houseno to set
public void setHouseno(String houseno) {
this.houseno = houseno;
* @return the roadname
public String getRoadname() {
return roadname;
* @param roadname the roadname to set
public void setRoadname(String roadname) {
this.roadname = roadname;
* @return the city
public String getCity() {
return city;
* @param city the city to set
public void setCity(String city) {
this.city = city;
* @return the state
public String getState() {
return state;
* @param state the state to set
public void setState(String state) {
this.state = state;
* @return the country
public String getCountry() {
return country;
* @param country the country to set
public void setCountry(String country) {
this.country = country;
public void reset(ActionMapping mapping, HttpServletRequest request)
this.city = "";
this.country = "";
this.houseno = "";
this.roadname = "";
this.state = "";
}------ MyAction.java------
package action;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import form.Address;
import form.MyBean;
* @author Sushant.Raut
public class MyAction extends Action {
Logger log = Logger.getLogger(this.getClass());
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception{
MyBean myBean = new MyBean();
log.info("Bean is Initialised.");
String name = "sushant";
Address address = new Address();
address.setCity("city1");
address.setCountry("India");
address.setHouseno("1111");
address.setRoadname("xyz Road");
address.setState("MH");
Address address1 = new Address();
address1.setCity("Hyderabad");
address1.setCountry("India");
address1.setHouseno("2222");
address1.setRoadname("ABC Road");
address1.setState("AP");
List<Address> addressSet = new ArrayList<Address>();
addressSet.add(address);
addressSet.add(address1);
myBean.setName(name);
myBean.setAddressList(addressSet);
request.getSession().setAttribute("info", myBean);
log.info("Bean is bound to session.");
System.out.println("MyBean object is bound to session.");
System.out.println(myBean);
return mapping.findForward("success");
}-------- show.jsp-----------
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<html:form action="/myUpdate">
<table>
<tr>
<td>
<label><html:text property="name" name="info"/></label>
</td>
</tr>
<logic:iterate id="address" name="info" property="addressList" indexId="rowindex">
<tr>
<td>
<html:text property="houseno" name="address" indexed="true"/>
</td>
<td>
<html:text property="roadname" name="address" indexed="true"/>
</td>
<td>
<html:text property="city" name="address" indexed="true"/>
</td>
<td>
<html:text property="state" name="address" indexed="true"/>
</td>
<td>
<html:text property="country" name="address" indexed="true"/>
</td>
</tr>
</logic:iterate>
<tr>
<html:submit title="Submit"/>
</tr>
</table>
</html:form>
</body>
</html> -
How can i pass the values to method public static void showBoard(boolean[][
I need x and y to pass to the method
public static void showBoard(boolean[][] board
i am very confused as to why its boolean,i know its an array but does that mean values ar true or false only?Thanks
import java.util.Random;
import java.util.Scanner;
public class Life1
public static void main(String[] args)
int x=0;
int y=0;
Scanner keyIn = new Scanner(System.in);
System.out.println("Enter the first dimension of the board : ");
x = keyIn.nextInt();
System.out.println("Enter the second dimension of the board : );
y = keyIn.nextInt();
boolean[][] board = new boolean[x][y];
fillBoard(board);
showBoard(board);
//Ask the user how many generations to show.
board = newBoard(board);
showBoard(board);
//This method randomly populates rows 5-9 of the board
//Rewrite this method to allow the user to populate the board by entering the
//coordinates of the live cells. If the user requests that cell 1, 1 be alive,
//your program should make cell 0,0 alive.
public static void fillBoard(boolean[][] board)
int row, col, isAlive;
Random picker = new Random();
for(row = 4; row < 9; row++)
for(col = 4; col < 9; col++)
if (picker.nextInt(2) == 0)
board[row][col] = false;
else
board[row][col] = true;
//This method displays the board
public static void showBoard(boolean[][] board)
int row, col;
System.out.println();
for(row=0; row < x; row++)
for(col=0; col<y; col++)
if (board[row][col])
System.out.print("X");
else
System.out.print(".");
System.out.println();
System.out.println();
//This method creates the next generation and returns the new population
public static boolean[][] newBoard(boolean[][] board)
int row;
int col;
int neighbors;
boolean[][] newBoard = new boolean[board.length][board[0].length];
makeDead(newBoard);
for(row = 1; row < board.length-1; row++)
for(col = 1; col < board[row].length-1; col++)
neighbors = countNeighbors(row, col, board);
//make this work with one less if
if (neighbors < 2)
newBoard[row][col]=false;
else if (neighbors > 3)
newBoard[row][col] = false;
else if (neighbors == 2)
newBoard[row][col]= board[row][col];
else
newBoard[row][col] = true;
return newBoard;
//This method counts the number of neighbors surrounding a cell.
//It is given the current cell coordinates and the board
public static int countNeighbors(int thisRow, int thisCol, boolean[][] board)
int count = 0;
int row, col;
for (row = thisRow - 1; row < thisRow + 2; row++)
for(col = thisCol - 1; col < thisCol + 2; col++)
if (board[row][col])
count++;
if (board[thisRow][thisCol])
count--;
return count;
//This method makes each cell in a board "dead."
public static void makeDead(boolean[][] board)
int row, col;
for(row = 0; row < board.length; row++)
for(col = 0; col < board[row].length; col++)
board[row][col] = false;
}this is what im workin with mabey you can point me in the right directionimport java.util.Random;
/* This class creates an application to simulate John Conway's Life game.
* Output is sent to the System.out object.
* The rules for the Life game are as follows...
* Your final version of the program should explain the game and its use
* to the user.
public class Life
public static void main(String[] args)
//Allow the user to specify the board size
boolean[][] board = new boolean[10][10];
fillBoard(board);
showBoard(board);
//Ask the user how many generations to show.
board = newBoard(board);
showBoard(board);
//This method randomly populates rows 5-9 of the board
//Rewrite this method to allow the user to populate the board by entering the
//coordinates of the live cells. If the user requests that cell 1, 1 be alive,
//your program should make cell 0,0 alive.
public static void fillBoard(boolean[][] board)
int row, col, isAlive;
Random picker = new Random();
for(row = 4; row < 9; row++)
for(col = 4; col < 9; col++)
if (picker.nextInt(2) == 0)
board[row][col] = false;
else
board[row][col] = true;
//This method displays the board
public static void showBoard(boolean[][] board)
int row, col;
System.out.println();
for(row=0; row < 10; row++)
for(col=0; col<10; col++)
if (board[row][col])
System.out.print("X");
else
System.out.print(".");
System.out.println();
System.out.println();
//This method creates the next generation and returns the new population
public static boolean[][] newBoard(boolean[][] board)
int row;
int col;
int neighbors;
boolean[][] newBoard = new boolean[board.length][board[0].length];
makeDead(newBoard);
for(row = 1; row < board.length-1; row++)
for(col = 1; col < board[row].length-1; col++)
neighbors = countNeighbors(row, col, board);
//make this work with one less if
if (neighbors < 2)
newBoard[row][col]=false;
else if (neighbors > 3)
newBoard[row][col] = false;
else if (neighbors == 2)
newBoard[row][col]= board[row][col];
else
newBoard[row][col] = true;
return newBoard;
//This method counts the number of neighbors surrounding a cell.
//It is given the current cell coordinates and the board
public static int countNeighbors(int thisRow, int thisCol, boolean[][] board)
int count = 0;
int row, col;
for (row = thisRow - 1; row < thisRow + 2; row++)
for(col = thisCol - 1; col < thisCol + 2; col++)
if (board[row][col])
count++;
if (board[thisRow][thisCol])
count--;
return count;
//This method makes each cell in a board "dead."
public static void makeDead(boolean[][] board)
int row, col;
for(row = 0; row < board.length; row++)
for(col = 0; col < board[row].length; col++)
board[row][col] = false;
} -
Error: "Could not resolve [public class] to a component implementation
Here's another clueless newbie question! :-(
I define a public class "DynamicTextArea" at the top of the file, and get the compiler error message "Could not resolve <DynamicTextArea> to a component implementation" at the bottom of the same file.
Clearly, I don't understand something very basic.
(The code between the commenrted asterisks was originally in a separate package file, which I couldn't get either mxmlc or FlexBuilder to find, so rather than fight that issue now, I moved it into the same file.)
Here's the file:
<?xml version="1.0" encoding="utf-8" ?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
>
<!--****************************************************************-->
<mx:Script>
<![CDATA[
import flash.events.Event;
import mx.controls.TextArea;
public class DynamicTextArea extends TextArea{
public function DynamicTextArea(){
super();
super.horizontalScrollPolicy = "off";
super.verticalScrollPolicy = "off";
this.addEventListener(Event.CHANGE, adjustHeightHandler);
private function adjustHeightHandler(event:Event):void{
trace("textField.getLineMetrics(0).height: " + textField.getLineMetrics(0).height);
if(height <= textField.textHeight + textField.getLineMetrics(0).height){
height = textField.textHeight;
validateNow();
override public function set text(val:String):void{
textField.text = val;
validateNow();
height = textField.textHeight;
validateNow();
override public function set htmlText(val:String):void{
textField.htmlText = val;
validateNow();
height = textField.textHeight;
validateNow();
override public function set height(value:Number):void{
if(textField == null){
if(height <= value){
super.height = value;
}else{
var currentHeight:uint = textField.textHeight + textField.getLineMetrics(0).height;
if (currentHeight<= super.maxHeight){
if(textField.textHeight != textField.getLineMetrics(0).height){
super.height = currentHeight;
}else{
super.height = super.maxHeight;
override public function get text():String{
return textField.text;
override public function get htmlText():String{
return textField.htmlText;
override public function set maxHeight(value:Number):void{
super.maxHeight = value;
]]>
</mx:Script>
<!--****************************************************************-->
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private var str:String = "This text will be long enough to trigger " +
"the TextArea to increase its height.";
private var htmlStr:String = "This <b>text</b> will be <font color='#00FF00'>long enough</font> to trigger " +
"the TextArea to increase its height.";
private function setLargeText():void{
txt1.text = str;
txt2.text = str;
txt3.text = str;
txt4.text = str;
txt5.htmlText = htmlStr;
txt6.htmlText = htmlStr;
txt7.htmlText = htmlStr;
txt8.htmlText = htmlStr;
]]>
</mx:Script>
<DynamicTextArea id="txt1" width="300" height="14"/>
<DynamicTextArea id="txt2" width="300" height="20"/>
<DynamicTextArea id="txt3" width="300" height="28"/>
<DynamicTextArea id="txt4" width="300" height="50"/>
<DynamicTextArea id="txt5" width="300" height="14"/>
<DynamicTextArea id="txt6" width="300" height="20"/>
<DynamicTextArea id="txt7" width="300" height="28"/>
<DynamicTextArea id="txt8" width="300" height="50"/>
<mx:Button label="Set Large Text" click="setLargeText();"/>
</mx:Application>
Thanks for any insight you can provide!
HarveyGordon:
As you've noted, there were multiple misunderstandings.
Some are due to references in the language which are different from uses in pre-existing languages.
Take "name spaces". They look like URLs but they're not. One of the first errors I made when starting Flex was to try to browse to http://www.adobe.com/2006/mxml. I figured that it would have some description of the language. But it didn't. In spite of LOOKING like a URL, it doesn't point to anything; it's really just an arbitrary magic incantation, like "Open Sesame".
But, then when I wanted to use my OWN namespace, I find that it's NOT arbitrary, and does have to point to something, but it's still not a URL. The "AHA" moment was when Michael told me that "*" means "look in this directory for a file with the name later named in an import statement, but not named here". And if the file was in subfolder "X" I'd have to use "X.*", while if it were a URL I'd use slash instead of dot, but never an asterisk.
When the language syntax is so contrary to the expectations of people coming from a declarative language or web programming background, I think it is important to explicitly address the differences and disabuse them of their preconceptions. I think the same should apply to the ways in which ActionScript differs from ECMAScript.
Another problem adding to my confusion is the habit of naming variables with the names of keywords but with capitalization changes. Not only does that set readers up for subtle "gotchas", but makes it unclear which names are truly arbitrary, and which are required by the compiler.
It might be a good idea to have a convention of an identifiable format for user variables. Many authors use names like myButton for that purpose.
It would also be helpful if printed text could simulate the syntax coloring of the better editors, or at least have more in-source comments saying exactly what each line does. (Or both)
Another aid to understanding would be to provide a reference to the alternative (MXML or AS) way of doing anything, whenever you demonstrate one of the ways.
I find that the emphasis on using FlexBuilder distracts from a sense of what is really going on behind the scenes. E,g.: If FlexBuilder automatically sets up the folder structure, I don't learn to do it myself. I like to work at the code level, so when something goes wrong I don't have to worry about what level it went wrong at.
Also, not everyone is willing to drop $600 or $250 BEFORE they've learned whether they even like Flex. Your tutorials are, by definition, addressed to newcomers who may well not yet have committed to the expense of FlexBuilder. So more emphasis on using mxmlc would be nice. It would also be helpful to discuss how to use local servers, like Tomcat, during the development stage.
Thanks for asking my opinion. I'm afraid that my 40 years of programming experience may make it harder for me to adapt to this new style of programming than it would be for a kid with a tabula rasa. But, it looks like it'll be fun once I get over the hump!
Harvey -
Mapping Value Objects to Java Classes
Hi All,
I have one Java Class:
public class MyBean {
private ArrayList numbers;
I have created one mapping value object for the same in Flex:
package vo
import mx.collections.ArrayCollection;
[RemoteClass(alias="com.tcs.example.MyBean")]
public class MyBean
public function MyBean()
public var numbers:ArrayCollection;
but when I fetch the object using Remote Object, the returned object has "numbers" as null even though I'm returning from Java a filled ArrayList.
Does any one know Why is it happening and what should I do for this.
Thanks in advanceDo you have getNumbers and setNumbers methods on your java bean?
Try to activate the logs on blazeDS to see what's going on. -
Public class or just simply class?
As I continue my reading into various books there are some books which will have you add the access modifier public in front of your classname. Other books will just have you leave it out. I tried out a simple program that declared a class in a separate file and then the second file was the main class file with the main method.
It didn't matter whether or not I removed the keyword public in front of the name of my class in the first file. The program compiled and ran just fine. So I'm doing some looking on the web trying to understand what the word public means when it's placed in front of your classname.
According to Sun:
A class may be declared with the modifier public, in which case that class is visible to all classes everywhere. If a class has no modifier (the default, also known as package-private), it is visible only within its own package (packages are named groups of related classes?you will learn about them in a later lesson.)
I picked this up from some other source:
Java provides a default specifier which is used when no access modifier is present. Any class, field, method or constructor that has no declared access modifier is accessible only by classes in the same package.
So if I understand this correctly if I place the word public in front of my classname my class is visible to all classes and all packages?
And if I don't place the word public in front of my classname then the class that I defined is only accessible only by other classes in the same package whatever that package happens to be?
So if I wrote this:
public class MyVehicle
}Then if I imported a package called import.java.GiveMeSomePaintingTools;
Then the classes contained in the GiveMeSomePaintingTools would have access to the MyVehicle class that I made?
And if I just wrote this:
class MyVehicle
}Then the classes in the package GiveMeSomePaintingTools would not have access to the class I made?
That's what I gather...
Edited by: 357mag on Jun 3, 2010 5:53 AM357mag wrote:
Then the classes in the package GiveMeSomePaintingTools would not have access to the class I made?The clue as to what access modifier to use for a class will often be in its name. Generally you write a class to do something. If what it does is something you want the whole world to be able to do, then use public; if it is only used by other classes of a package you've written, then use the default. The third one is protected: you use this when the class needs to be visible within a hierarchy (especially one that can be extended by anyone).
As an example: [java.math.BigInteger|http://java.sun.com/javase/6/docs/api/java/math/BigInteger.html] is a class that allows you to store arbitrarily large integer values. Sun clearly felt that this was useful enough to allow anyone to have access to it, so it is public. However, it is defined as immutable: ie, once you've created a BigInteger object, you cannot change its value. This is not optimal for arithmetic, where you may have several operations to perform to get a result: If each of them is forced to create a new object, you could waste a lot of time (and space).
So the designers created a class called MutableBigInteger which is used by the BigInteger class (and also by BigDecimal) to hold interim values for calculations. Since this class is only used by those classes, it is defined with the default modifier (which is why you've never seen it).
HIH
Winston -
Suppose, we have the following two classes.
public class test{
final trythis t;
t = null;
doMethod(t); // because of this, t has to be assigned a null value
(new Thread(){public void run(){
t = new trythis(); // t is assigned twice
}}).start();
class trythis{
trythis(){
t seems to have to be defined as final, but final instance cannot be set in the inner class.
Does anyone know how to solve this problem?
ThanksAs the local variable has a lifetime of the executing method's
duration, you must ensure the innerclass (which has a longer lifetime)
has access to it by declaring it final.This is not quite exact. All this is due to the way inner classes are implemented. An inner class maintains the contents of the outer local variables used in two ways:
- If it is primitive, use the value verbatim (so the class has no relationship to the outer variable, it just uses the same number, so the local var needs to be final or else there could be surprises for a programmer who would think that changing the local var would also change the value used in the inner class)
- If it is a reference, copy it as a class member, and use that one wherever needed. For similar reasons as above, the two references have to be in sync, so the local var has to be final (the inner var can't change anyway)
This apply only to local variables because class members are accessible through a secret reference of the enclosing object passed in the constructor of the inner class. Static members are anyway accessible.
<teacher's mode off/>
<sorry for that, but someone might find the explanation useful :-)/>
By the way, the OP can get the value "t" out of the inner class by providing a special Thread subclass, ie
class MyThread extends Thread {
public void run() {
t = something;
trythis t;
MyThread thread = new MyThread();
thread.start();
thread.join();
thread.t; //This is accessibleI'm not sure if this would be preferable to the array approach (which is ), but it is useful to know your alternatives -
Public class ArrayEx extends Array
Hi, I'm very bad at OO programming, but I'm trying to learn.
I want to add some functions to my Arrays, like checking if
arrays contain a value (indexOf can be equal to 0, which is false,
though actually I'm used to the loose data typing of as2, so this
may not be quite true. Bear with me though, I want to learn how to
extend a class). So I'm trying to write a class that extends the
basic Array class.
I am confused about the constructor, I want to mimic the
behaviour of the Array class but I'm not sure if I need to write
functions for each method of Array. Since my ArrayEx extends the
Array class it should inherit the array functions right? So it
should already have .pop() and .push() ext. defined? How should I
write my constructor to store the data the same way as the Array
class does though?
Is there somewhere I can look at the internal Array class to
figure out how it does it?
What I have written so far appears at the bottom of the
message. I include questions as comments.
I hope someone can help me out. I'm sorry if I'm asking stuff
that seems obvious. Thanks for your time.
JonI've found the solution to my second set of problems and
since I chose to trouble you all with the question I thought I'd
post the answer.
First problem, I had declared the ArrayEx class as dynamic
but not as public. Should read;
dynamic public class ArrayEx extends Array{
Second problem. An empty constructor function, by default,
calls the parent constructor function with no arguements. Since I
wanted to construct my new array class like the default array class
i had to add some code to handle that.
So here is the working class; -
One LIFNR, based on a function can send multiple values to traget.
Dear SDNers,
I need your help to solve this problem
Let me explain the situation.
I have a field value LIFNR, which is sending a value from the source to target.
Here by using a User Define Function based on parameters I have to map the exact target.
The problem is:
Currently I am having a function which is sending a value to the target based on parameters and some times the target values are more that a single value. At that situation the function returns a random value to the target value.
In the below Old Function there is a method used to execute only one value, if more than one values are there then it will select a random value from them and send that value to the destination.
IFIdentifier src = XIVMFactory.newIdentifier(strContext, senderAgency, senderScheme);
IFIdentifier dst = XIVMFactory.newIdentifier(strContext, receiverAgency , receiverScheme);
String strResult = XIVMService.executeMapping(src, dst, a);
Solution as in New Function,
I have created a array to that particular destination variable and stored all value in array and passed to that target value. I have bold that letters.
//here I run a loop to store multiple destination value
if(receiverService.length>1)
for(i=0;i<receiverService.length;i++)
if (receiverService.equals("EM1CLNT003")||receiverService.equals("KM1CLNT003")||receiverService.equals("C11CLNT003")) receiverAgency<i> = "C11CLNT003";
I am sending both the functions
My question is is that LIFNR can send the multiple values to the detination for this change ?
And also I want to know how to execute this program and transport and testing this UDF.
Please need your inputs.
Thanks
Bala Prasad
4. Old Function
java.util.regex.Pattern;java.util.Vector;java.util.regex.Matcher;com.sap.aii.mapping.value.api.*;
public String get_Value_Mapping_Table_V(String a,String scheme,String context,Container container){
// PART1 : First we need to get the sender - and receiver service from the container object
GlobalContainer globalContainer;
String senderService = new String();
String receiverService = new String();
java.util.Map map;
//Fill variables
globalContainer = container.getGlobalContainer();
map = globalContainer.getParameters();
// Get the sender- and receiver service constants
senderService = (String) map.get(
StreamTransformationConstants.SENDER_SERVICE);
receiverService = (String) map.get(
StreamTransformationConstants.RECEIVER_SERVICE);
// PART2: Now we need to find the correct value mapping table
String strContext = context; //some context value
String senderScheme = scheme; //VendorNumber or VendorAccountGroup
String receiverScheme = scheme;
String receiverAgency = new String();
if (receiverService.equals("EL1CLNT100")||receiverService.equals("KL1CLNT100")||receiverService.equals("PL1CLNT100")) receiverAgency = "PL1CLNT100";
if (receiverService.equals("D01CLNT100")||receiverService.equals("T01CLNT100")||receiverService.equals("P01CLNT100")) receiverAgency = "P01CLNT100";
if (receiverService.equals("EM1CLNT003")||receiverService.equals("KM1CLNT003")||receiverService.equals("C11CLNT003")) receiverAgency<i> = "C11CLNT003";
String senderAgency = "MEPCLNT100";
IFIdentifier src = XIVMFactory.newIdentifier(strContext, senderAgency, senderScheme);
IFIdentifier dst = XIVMFactory.newIdentifier(strContext, receiverAgency , receiverScheme);
try {
String strResult = XIVMService.executeMapping(src, dst, a);
return strResult;
} catch (ValueMappingException e) {
return a;
5. New Function
java.util.regex.Pattern;java.util.Vector;java.util.regex.Matcher;com.sap.aii.mapping.value.api.*;
public String get_Value_Mapping_Table_N(String a,String scheme,String context,Container container){
// PART1 : First we need to get the sender - and receiver service from the container object
GlobalContainer globalContainer;
String senderService = new String();
String receiverService = new String();
java.util.Map map;
//Fill variables
globalContainer = container.getGlobalContainer();
map = globalContainer.getParameters();
// Get the sender- and receiver service constants
senderService = (String) map.get(
StreamTransformationConstants.SENDER_SERVICE);
receiverService = (String) map.get(
StreamTransformationConstants.RECEIVER_SERVICE);
// PART2: Now we need to find the correct value mapping table
String strContext = context; //some context value
String senderScheme = scheme; //VendorNumber or VendorAccountGroup
String receiverScheme = scheme;
String receiverAgency[] = new String(); //here I changed into a array to store multiple value
if (receiverService.equals("EL1CLNT100")||receiverService.equals("KL1CLNT100")||receiverService.equals("PL1CLNT100")) receiverAgency = "PL1CLNT100";
if (receiverService.equals("D01CLNT100")||receiverService.equals("T01CLNT100")||receiverService.equals("P01CLNT100")) receiverAgency = "P01CLNT100";
//here I run a loop to store multiple destination value
if(receiverService.length>1)
for(i=0;i<receiverService.length;i++)
if (receiverService.equals("EM1CLNT003")||receiverService.equals("KM1CLNT003")||receiverService.equals("C11CLNT003")) receiverAgency<i> = "C11CLNT003";
}String senderAgency = "MEPCLNT100";
IFRequest src = XIVMFactory.newIFRequest(strContext,senderAgency,senderScheme);
IFRequest dst = XIVMFactory.newIFRequest(strContext,receiverAgency,receiverScheme);
try {
String strResult = XIVMService.executeMapping(src, dst, a);
return strResult;
} catch (ValueMappingException e) {
return a;Janaki,
"and it did not work."
That's useless information.
When asking for help with a technical question here, you need to describe exactly what you did, showing all code, explaining the entire context in which the code is used, and showing all error messages and actual results along with a description of the expected results.
One thing though, if this example is based on the standard EMP table, why does "depno" have no "t" in it in all your references?
Scott -
Sending a value associated with a checkbox across a client/server connectio
Hello everyone,
I've been working on a coursework for uni which simulates a very simple pizza ordering system. I've built the GUI and got the prices to calculate in a single applet. I'm now required to advance my application to perform a client/server connection, and to to my limited knowledge of java, have stumped myself! Please can someone help. I need to take the value of the 5 chech boxes in the client GUI and pass them to the server, which needs to calculate the total and pass it back to the client to show in a text box. My code thus far is:
//client
import java.applet.Applet;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
import java.net.*;
public class A3ClientClass_1 extends A4 {
CheckboxGroup z;
Checkbox tpizza, mpizza, ppizza, prpizza;
Checkbox tomato, pepper, cheese, pepperoni, mushroom;
String a = "";
String b = "";
TextField size, toppings, cost;
double c;
Scrollbar xAxis, yAxis;
ScrollablePanel p;
public void init() {
setBackground(Color.orange);
setLayout(new BorderLayout());
Panel north = new Panel();
north.add(new Label("SELECT THE PIZZA YOU WANT"));
add(north, BorderLayout.NORTH);
Panel outside = new Panel();
outside.setBackground(Color.orange);
z = new CheckboxGroup();
tpizza = new Checkbox("Tomato Pizza", z, false);
outside.add(tpizza);
tpizza.addItemListener(this);
mpizza = new Checkbox("Mushroom Pizza", z, false);
outside.add(mpizza);
mpizza.addItemListener(this);
ppizza = new Checkbox("Pepper Pizza", z, false);
outside.add(ppizza);
ppizza.addItemListener(this);
prpizza = new Checkbox("Pepperoni Pizza", z, false);
outside.add(prpizza);
prpizza.addItemListener(this);
tomato = new Checkbox(" Tomatoes ");
outside.add(tomato);
tomato.addItemListener(this);
pepper = new Checkbox(" Peppers ");
outside.add(pepper);
pepper.addItemListener(this);
cheese = new Checkbox(" Cheese ");
outside.add(cheese);
cheese.addItemListener(this);
pepperoni = new Checkbox(" Pepperoni ");
outside.add(pepperoni);
pepperoni.addItemListener(this);
mushroom = new Checkbox(" Mushrooms");
outside.add(mushroom);
mushroom.addItemListener(this);
size = new TextField(40);
toppings = new TextField(40);
cost = new TextField(40);
outside.add(size);
outside.add(toppings);
outside.add(cost);
tomato.disable();
cheese.disable();
pepper.disable();
pepperoni.disable();
mushroom.disable();
p = new ScrollablePanel(outside);
xAxis = new Scrollbar(Scrollbar.HORIZONTAL, 0, 50, 0, 100);
yAxis = new Scrollbar(Scrollbar.VERTICAL, 0, 50, 0, 100);
add("Center", p);
add("East", yAxis);
add("South", xAxis);
public boolean handleEvent(Event e) {
if (e.target instanceof Scrollbar) {
p.transxy(xAxis.getValue(), yAxis.getValue());
return true;
return super.handleEvent(e);
public void itemStateChanged(ItemEvent e) {
b = "";
c = 0;
if (tpizza.getState() == true) {
a = tpizza.getLabel();
c = c + 3.00;
tomato.setState(true);
cheese.setState(true);
pepper.setState(false);
pepperoni.setState(false);
mushroom.setState(false);
else if (mpizza.getState() == true) {
a = mpizza.getLabel();
c = c + 3.50;
tomato.setState(false);
cheese.setState(false);
pepper.setState(false);
pepperoni.setState(false);
mushroom.setState(true);
else if (ppizza.getState() == true) {
a = ppizza.getLabel();
c = c + 4.00;
tomato.setState(false);
cheese.setState(true);
pepper.setState(true);
pepperoni.setState(false);
mushroom.setState(false);
else if (prpizza.getState() == true) {
a = prpizza.getLabel();
c = c + 5.00;
tomato.setState(false);
cheese.setState(true);
pepper.setState(false);
pepperoni.setState(true);
mushroom.setState(false);
if (tomato.getState() == true) {
b = b + tomato.getLabel() + " ";
c = c + 0.25;
if (pepper.getState() == true) {
b = b + pepper.getLabel() + " ";
c = c + 0.5;
if (cheese.getState() == true) {
b = b + cheese.getLabel() + " ";
c = c + 0.5;
if (pepperoni.getState() == true) {
b = b + pepperoni.getLabel() + " ";
c = c + 1.0;
if (mushroom.getState() == true) {
b = b + mushroom.getLabel() + " ";
c = c + 0.5;
size.setText("Pizza Type: " + a);
toppings.setText("Toppings: " + b);
cost.setText("Total: �" + c);
try{
Socket cts = new Socket(InetAddress.getLocalHost(), 6000);
DataInputStream isfs = new DataInputStream(cts.getInputStream());
DataOutputStream osts = new DataOutputStream(cts.getOutputStream());
while(true) {
//code here
catch (IOException e) {
System.out.println(e);
class ScrollablePanel extends Panel {
int transx = 0;
int transy = 0;
Panel outside;
public ScrollablePanel(Panel p) {
setLayout(new BorderLayout());
outside = p;
add(outside);
public void transxy(int x, int y) {
transx = -x;
transy = -y;
outside.move(transx, transy);
//Server
import java.io.*;
import java.net.*;
public class A3ServerClass_1 {
public static void main(String[] args) {
try
ServerSocket ss = new ServerSocket(6000);
Socket ssconnect = ss.accept();
DataInputStream isfc = new DataInputStream(ctc.getInputStream());
DataOutputStream ostc = new DataOutputStream(ctc.getOutputStream());
while(true) {
//code here
catch (IOException e) {
System.out.println(e);
ThanksCan't help ya there, I've never done socket programming. However, it comes up on these forums all the time. Try searching for some keywords about your problem.
-
Why can we have only one public class in our program
Why is it that we can specify only one class as public in our source code .................................................
Once i'd put one inner class as public ...which means now i have 2 public classes ..............out of which one is the inner class...what is the use of such public class which can be accessed by only its outer class.........
plz. helpOnce i'd put one inner class as public ...which means
now i have 2 public classes ..............out of
which one is the inner class...what is the use of
such public class which can be accessed by only its
outer class.........
plz. helpWrong.
Public inner class can certainly be accessed outside.
You just have to preface it with the name of the outer class.
A.java
=====
public class A {
AA example = new AA();
public class AA {
public int value() { return 5; }
}B.java
=====
public class B {
public static void main(String[] args) {
A x = new A ();
A.AA y = x.example;
System.out.println(y.value());
} -
Using value variables throw public functions
He all!!
I'm trying to use value variables throw public functions in
the same class.
Is there any possible to do it?
I'll explain:
What i whant is in tha FLA file to get the songName of the
mp3 like trace(musica.nomeMusica);
quote:
//AS Code
package Mp3Player{
import flash.media.Sound;
import flash.media.SoundLoaderContext;
import flash.media.SoundChannel;
import flash.media.ID3Info;
import flash.net.URLRequest;
import flash.events.Event;
public class Mp3Player {
private var sound:Sound;
private var req:URLRequest;
private var context:SoundLoaderContext;
private var channel:SoundChannel;
private var id3:ID3Info;
private var nomeMusica:String;
public function tocarMusica(file) {
sound=new Sound ;
req=new URLRequest(file);
context=new SoundLoaderContext(8000,true);
sound.load(req,context);
channel=sound.play();
trace("A tocar");
sound.addEventListener(Event.ID3,id3Info);
public function id3Info(event:Event):void {
id3=event.target.id3;
nomeMusica=id3.songName;
public function get getNome():String {
return nomeMusica;
//FLA Code
import Mp3Player.Mp3Player;
var musica:Mp3Player = new Mp3Player();
var nome:String = musica.getNome;
musica.tocarMusica("Saia_Indiscreta.mp3");
trace(nome);
The trace of my code is:
quote:
A tocar
Null
What i'm doing wrong or is missing?Tnks all for the reply but none of them give me any answer :(
Making the question in other way.
Using the code above, how can i set a funcion to call the
musicaNome value from FLA file?
quote:
//AS Code
package Mp3Player{
import flash.media.Sound;
import flash.media.SoundLoaderContext;
import flash.media.SoundChannel;
import flash.media.ID3Info;
import flash.net.URLRequest;
import flash.events.Event;
public class Mp3Player {
private var sound:Sound;
private var req:URLRequest;
private var context:SoundLoaderContext;
private var channel:SoundChannel;
private var id3:ID3Info;
private var nomeMusica:String;
public function tocarMusica(file) {
sound=new Sound ;
req=new URLRequest(file);
context=new SoundLoaderContext(8000,true);
sound.load(req,context);
channel=sound.play();
trace("A tocar");
sound.addEventListener(Event.ID3,id3Info);
public function id3Info(event:Event):void {
id3=event.target.id3;
nomeMusica=id3.songName; -
How to get maximal value from the data/class for show in Map legend
I make WAD report that using Map Web Item.
I devide to four (4) classes for legend (Generate_Breaks).
I want to change default value for the class by javascript and for this,
I need to get maximal value from the class.
How to get maximal value from the data/class.
please give me solution for my problem.
Many Thx
Eddy Utomouse this to get the following End_date
<?following-sibling::../END_DATE?>
Try this
<?for-each:/ROOT/ROW?>
==================
Current StartDate <?START_DATE?>
Current End Date <?END_DATE?>
Next Start Date <?following-sibling::ROW/END_DATE?>
Previous End Date <?preceding-sibling::ROW[1]/END_DATE?>
================
<?end for-each?>
o/p
==================
Current StartDate 01-01-1980
Current End Date 01-01-1988
Next Start Date 01-01-1990
Previous End Date
================
==================
Current StartDate 01-01-1988
Current End Date 01-01-1990
Next Start Date 01-01-2005
Previous End Date 01-01-1988
================
==================
Current StartDate 01-01-2000
Current End Date 01-01-2005
Next Start Date
Previous End Date 01
Maybe you are looking for
-
I can not print a pdf file that was sent in an email. I get an adobe error message that it can not print with an ok to check and when i do I get another adobe error message that says I did not select a page to print. I have downloaded the latest ado
-
Acrobat Pro version 9, extract pages option greyed out
Email with pdf file is sent to two users UserA can open pdf and extract pages UserB cannot Pdf is not secure Both users have been using this feature for months and now all of a sudding UserB is unable to because the options are greyed out Users are o
-
I Bought Itunes Tv Shows,They say there not in the format
I have a 160 gb ipod classic, and i recently bought two episodes of a tv show and when i try to sync them onto my ipod,it says it cant be played in this ipod because its not in the right format. Its Mpeg-4 it HAS to be able to play in it,idk what to
-
what hard disk drive should I have to buy and maximum what gb I can upgrade to mid 2011 21.5 inc mac? Also do you think I can replace myself at home or I need to take specialist?
-
Looking for batch file to use when setting up Java on an XP machine
Hey Everyone, I am trying to get my hands on a batch file that will effectively :) set up the Java Variables on an XP machine. I don't know if this is even possible but I have to assume that it is. The thing is I am studying for Java Certification at