Solved

setText in JLabel not working

Posted on 2010-08-24
7
696 Views
Last Modified: 2013-11-23
I cannot do a setText in my program. There is no compilation error.

There are some String and integer being parsed from another class. the parsing part is ok. i've checked using System.out.println.

So using the value that is parsed, I cannot do a setText to my label. y?
import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import javax.swing.border.*;



public class Order extends JPanel{

    

    //set layout

    private GridBagLayout layout;

	private GridBagConstraints constraints = new GridBagConstraints();

	

	//counter for storing array

	private int count = 0;

		

    //declare variable to be stored from Catalog class

    private int totalQty;

    private double totalPrice;

    private String totalQtyString;

    private String[] orderList = {"test","None ordered at all","None ordered at all","None ordered at all","None ordered at all","None ordered at all"};

    

					//Declaring JLabels here where they will be updated everytime user inputs new order.

	//Title header

	private JLabel step1, step1_;

	

	//cake name and orderlist Label

	private String[] cakeName = {"Chocolate Indulgence","Strawberry Cheesecake","Oreo Temptation","Baker's Carrot Cake","Tiramisu Delight","Durian Dream"};

	private JLabel[] cakeLabel;

	private JLabel[] cakeOrder;// = new JLabel[cakeName.length];

	

	//total quantity and price label

	private JLabel ttlQty = new JLabel();

	private JLabel ttlPrice = new JLabel();

	

	//declare label if there is any note. Eg. below $50 & durian note

	private JLabel note1 = new JLabel();

	private JLabel note2 = new JLabel();

	

	//declare title name for User input Text area

	String[] formTitle = {"Username", "Password", "Name", "Username", "Password", "Address", "Contact", "Date", "Time"};

	

	//declare text area for user to input

	private JTextArea[] userInput = new JTextArea[formTitle.length - 1];

	

	//declare radio button

	private JRadioButton time1 = new JRadioButton("9am - 1pm");

	private JRadioButton time2 = new JRadioButton("1pm - 6pm");

	private JRadioButton time3 = new JRadioButton("6am - 10pm");

	

    public Order() {

		

		//create layout

    	//setPreferredSize(new Dimension(800,500));

    	layout = new GridBagLayout();

    	setLayout(layout);

    	

					//Creating JLabels & JTextArea & JButtons for all

					//(using both for-loop to create multiple labels and also using individual method of creating labels)

		

		//Title Header

		step1 = new JLabel("Step 1: Confirm Your Order.");

		step1_ = new JLabel("==========================");

		

		//cake name labels and order list

		cakeLabel = new JLabel[cakeName.length];

		cakeOrder = new JLabel[cakeName.length];

		for (int x=0; x<cakeName.length;x++ ){

			cakeLabel[x] = new JLabel(cakeName[x]);

			cakeOrder[x] = new JLabel(orderList[x]); //Number of OrderList will be the same as cake name.

		}

			

		//total quantity and price labels

		JLabel ttlQtyTitle = new JLabel("Total Quantity ordered: ");

		JLabel ttlPriceTitle = new JLabel("Total Price: ");

		

		//declare step 2 direction

		JLabel step2 = new JLabel("Step 2: New customers please enter your particulars. Existing customers please login.");

		

		//declare Forms labels and textArea

		JLabel[] formLabel = new JLabel[formTitle.length];

		for(int x=0; x<formTitle.length; x++)

			formLabel[x] = new JLabel(formTitle[x]);

		for(int x=0; x<formTitle.length-1;x++)

			userInput[x] = new JTextArea(1,5);

			

		JLabel step3 = new JLabel("Step 3: Please provide delivery date and time. Give 3 working days advance notice.");

		JLabel comfirm = new JLabel("Press the comfirm button below when you are satisfied that all informations are correct.");

		

		//declare 2 buttons

		JButton login = new JButton("Login");

		JButton confirm = new JButton("Confirm");

		

    	//adding components

		constraints.weightx = 1;

    	constraints.weighty = 1;

    	

		addComponent(step1,0,0,2,1);

    	addComponent(step1_,1,0,2,1);

    	

    	for(int x=0; x<cakeName.length; x++){

    		addComponent(cakeLabel[x],x+4,0,1,1);

    		

    	}

    	

    	addComponent(cakeOrder[0],4,1,1,1);

    	addComponent(cakeOrder[1],5,1,1,1);

    	addComponent(cakeOrder[2],6,1,1,1);

    	addComponent(cakeOrder[3],7,1,1,1);

    	addComponent(cakeOrder[4],8,1,1,1);

    	addComponent(cakeOrder[5],9,1,1,1);

    	

    	addComponent(ttlQtyTitle,11,0,1,1);

    	addComponent(ttlPriceTitle,12,0,1,1);

    	addComponent(ttlQty,11,1,1,1);

    	addComponent(ttlPrice,12,1,1,1);

    }

    

    private void addComponent(Component component, int row, int column, int width, int height){

    	constraints.gridx = column;

    	constraints.gridy = row;

    	constraints.gridwidth = width;

    	constraints.gridheight = height;

    	layout.setConstraints(component, constraints);

    	add(component);

    }

    

    public void setTotalQty(int x){

    	totalQty = x;

    	String y = Integer.toString(x);

    	ttlQty.setText(y);

		System.out.println(totalQty);

    }

    public void setTotalPrice(double x){

    	totalPrice = x;

		System.out.println(totalPrice);

    }

    public void setOrderList(String x){

    	orderList[0] = x;

    	cakeOrder[0].setText("Hello");

    }

}

Open in new window

0
Comment
Question by:moombaz
  • 5
7 Comments
 
LVL 26

Expert Comment

by:ksivananth
Comment Utility
which labe text is not set?
0
 
LVL 1

Author Comment

by:moombaz
Comment Utility
ttlQty
cakeOrder[0]

see line 129 and 138
0
 
LVL 6

Expert Comment

by:__geof__
Comment Utility
Did you check that it is not set or is the GUI not updated?
0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 1

Author Comment

by:moombaz
Comment Utility
It is not updated.
0
 
LVL 1

Author Comment

by:moombaz
Comment Utility
Any inputs? I need help.
0
 
LVL 1

Author Comment

by:moombaz
Comment Utility
I already found out. D setText function if put in d listener class, and create a refresh button to call it, the setText works. I should say tt d setText method can b called from d main consructor or listener class and not from other class. Any idea how to do this?  
0
 
LVL 1

Accepted Solution

by:
moombaz earned 0 total points
Comment Utility
got the answer. variables declared has to be static
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
This video teaches viewers about errors in exception handling.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now