Help with getText()
Hi all,
I could do with a little help using the getText method of TextField.
Basically what I have is two classes, NewWin and Transmit.
In NewWin, a small window is created in which a user will type a string in. When they press the submit button, it should send the string through to the constructor of a class called Transmit, where it should get printed out into a window created by Transmit. However, it doesn't do so for some reason.
My windows work fine and I receive no errors, however the text doesn't seem to be put into my 'myString' variable. The 'myString' variable has been declared as public.
JTextField preTextField = new JTextField();
myString = preTextField.getText();...now, later in my NewWin class, this is the method to submit the string to the constructor of the Transmit class (transm has also been declared publicly).
transm = new Transmit(myString);This is received by the constructor of Transmit (ipNum has been declared public)...
public Transmit(String destip)
JLabel preLabelText = new JLabel(ipNum);
Container prePane = getContentPane();
prePane.add(preLabelText, "South");
}...which should print out the received string, but it doesn't. If I change the JLabel value to an actual string then it prints out the string that's written, but it won't print out what's in the variable.
My only guess is that .getText() isn't working properly, but can anyone see why? I'm stumped as everything else works.
Thanks,
Jaiyan
Sorry, that was a typo and not in my code. This is what I really have in my code, sorry for the confusion.
public Transmit(String ipNum)
JLabel preLabelText = new JLabel(ipNum);
Container prePane = getContentPane();
prePane.add(preLabelText, "South");
Similar Messages
-
Need Help with a getText method
Gday all,
I need help with a getText method, i need to extract text from a JTextField. Although this text then needs to converted to a double so that i can multiply a number that i have already specified. As you may of guessed that the text i need to extract already will be in a double format.e.g 0.1 or 0.0000004 etc
Thanks for your help
ps heres what i have already done its not very good though
ToBeConverted.getText();
( need help here)
double amount = (and here)
total = (amount*.621371192);
Converted.setText("= " + total);Double.parseDouble( textField.getText() );
-
Need help with JTextArea and Scrolling
import java.awt.*;
import java.awt.event.*;
import java.text.DecimalFormat;
import javax.swing.*;
public class MORT_RETRY extends JFrame implements ActionListener
private JPanel keypad;
private JPanel buttons;
private JTextField lcdLoanAmt;
private JTextField lcdInterestRate;
private JTextField lcdTerm;
private JTextField lcdMonthlyPmt;
private JTextArea displayArea;
private JButton CalculateBtn;
private JButton ClrBtn;
private JButton CloseBtn;
private JButton Amortize;
private JScrollPane scroll;
private DecimalFormat calcPattern = new DecimalFormat("$###,###.00");
private String[] rateTerm = {"", "7years @ 5.35%", "15years @ 5.5%", "30years @ 5.75%"};
private JComboBox rateTermList;
double interest[] = {5.35, 5.5, 5.75};
int term[] = {7, 15, 30};
double balance, interestAmt, monthlyInterest, monthlyPayment, monPmtInt, monPmtPrin;
int termInMonths, month, termLoop, monthLoop;
public MORT_RETRY()
Container pane = getContentPane();
lcdLoanAmt = new JTextField();
lcdMonthlyPmt = new JTextField();
displayArea = new JTextArea();//DEFINE COMBOBOX AND SCROLL
rateTermList = new JComboBox(rateTerm);
scroll = new JScrollPane(displayArea);
scroll.setSize(600,170);
scroll.setLocation(150,270);//DEFINE BUTTONS
CalculateBtn = new JButton("Calculate");
ClrBtn = new JButton("Clear Fields");
CloseBtn = new JButton("Close");
Amortize = new JButton("Amortize");//DEFINE PANEL(S)
keypad = new JPanel();
buttons = new JPanel();//DEFINE KEYPAD PANEL LAYOUT
keypad.setLayout(new GridLayout( 4, 2, 5, 5));//SET CONTROLS ON KEYPAD PANEL
keypad.add(new JLabel("Loan Amount$ : "));
keypad.add(lcdLoanAmt);
keypad.add(new JLabel("Term of loan and Interest Rate: "));
keypad.add(rateTermList);
keypad.add(new JLabel("Monthly Payment : "));
keypad.add(lcdMonthlyPmt);
lcdMonthlyPmt.setEditable(false);
keypad.add(new JLabel("Amortize Table:"));
keypad.add(displayArea);
displayArea.setEditable(false);//DEFINE BUTTONS PANEL LAYOUT
buttons.setLayout(new GridLayout( 1, 3, 5, 5));//SET CONTROLS ON BUTTONS PANEL
buttons.add(CalculateBtn);
buttons.add(Amortize);
buttons.add(ClrBtn);
buttons.add(CloseBtn);//ADD ACTION LISTENER
CalculateBtn.addActionListener(this);
ClrBtn.addActionListener(this);
CloseBtn.addActionListener(this);
Amortize.addActionListener(this);
rateTermList.addActionListener(this);//ADD PANELS
pane.add(keypad, BorderLayout.NORTH);
pane.add(buttons, BorderLayout.SOUTH);
pane.add(scroll, BorderLayout.CENTER);
addWindowListener( new WindowAdapter()
public void windowClosing(WindowEvent e)
System.exit(0);
public void actionPerformed(ActionEvent e)
String arg = lcdLoanAmt.getText();
int combined = Integer.parseInt(arg);
if (e.getSource() == CalculateBtn)
try
JOptionPane.showMessageDialog(null, "Got try here", "Error", JOptionPane.ERROR_MESSAGE);
catch(NumberFormatException ev)
JOptionPane.showMessageDialog(null, "Got here", "Error", JOptionPane.ERROR_MESSAGE);
if ((e.getSource() == CalculateBtn) && (arg != null))
try{
if ((e.getSource() == CalculateBtn) && (rateTermList.getSelectedIndex() == 1))
monthlyInterest = interest[0] / (12 * 100);
termInMonths = term[0] * 12;
monthlyPayment = combined * (monthlyInterest / (1 - (Math.pow (1 + monthlyInterest, -termInMonths))));
lcdMonthlyPmt.setText(calcPattern.format(monthlyPayment));
if ((e.getSource() == CalculateBtn) && (rateTermList.getSelectedIndex() == 2))
monthlyInterest = interest[1] / (12 * 100);
termInMonths = term[1] * 12;
monthlyPayment = combined * (monthlyInterest / (1 - (Math.pow (1 + monthlyInterest, -termInMonths))));
lcdMonthlyPmt.setText(calcPattern.format(monthlyPayment));
if ((e.getSource() == CalculateBtn) && (rateTermList.getSelectedIndex() == 3))
monthlyInterest = interest[2] / (12 * 100);
termInMonths = term[2] * 12;
monthlyPayment = combined * (monthlyInterest / (1 - (Math.pow (1 + monthlyInterest, -termInMonths))));
lcdMonthlyPmt.setText(calcPattern.format(monthlyPayment));
catch(NumberFormatException ev)
JOptionPane.showMessageDialog(null, "Invalid Entry!\nPlease Try Again", "Error", JOptionPane.ERROR_MESSAGE);
} //IF STATEMENTS FOR AMORTIZATION
if ((e.getSource() == Amortize) && (rateTermList.getSelectedIndex() == 1))
loopy(7, 5.35);
if ((e.getSource() == Amortize) && (rateTermList.getSelectedIndex() == 2))
loopy(15, 5.5);
if ((e.getSource() == Amortize) && (rateTermList.getSelectedIndex() == 3))
loopy(30, 5.75);
if (e.getSource() == ClrBtn)
rateTermList.setSelectedIndex(0);
lcdLoanAmt.setText(null);
lcdMonthlyPmt.setText(null);
displayArea.setText(null);
if (e.getSource() == CloseBtn)
System.exit(0);
private void loopy(int lTerm,double lInterest)
double total, monthly, monthlyrate, monthint, monthprin, balance, lastint, paid;
int amount, months, termloop, monthloop;
String lcd2 = lcdLoanAmt.getText();
amount = Integer.parseInt(lcd2);
termloop = 1;
paid = 0.00;
monthlyrate = lInterest / (12 * 100);
months = lTerm * 12;
monthly = amount *(monthlyrate/(1-Math.pow(1+monthlyrate,-months)));
total = months * monthly;
balance = amount;
while (termloop <= lTerm)
displayArea.setCaretPosition(0);
displayArea.append("\n");
displayArea.append("Year " + termloop + " of " + lTerm + ": payments\n");
displayArea.append("\n");
displayArea.append("Month\tMonthly\tPrinciple\tInterest\tBalance\n");
monthloop = 1;
while (monthloop <= 12)
monthint = balance * monthlyrate;
monthprin = monthly - monthint;
balance -= monthprin;
paid += monthly;
displayArea.setCaretPosition(0);
displayArea.append(monthloop + "\t" + calcPattern.format(monthly) + "\t" + calcPattern.format(monthprin) + "\t");
displayArea.append(calcPattern.format(monthint) + "\t" + calcPattern.format(balance) + "\n");
monthloop ++;
termloop ++;
public static void main(String args[])
MORT_RETRY f = new MORT_RETRY();
f.setTitle("MORTGAGE PAYMENT CALCULATOR");
f.setBounds(600, 600, 500, 500);
f.setLocationRelativeTo(null);
f.setVisible(true);
}need help with displaying the textarea correctly and the scroll bar please.
Message was edited by:
new2this2020What's the problem you're having ???
PS. -
Need help with my graphic calculator!!!
Hello everybody!! I need help with my little program I made.... The problem is that I am unable to use to calculate but it is possible to compile the code!! What should I do?? Thanks in advance.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Aritmetik extends JFrame implements ActionListener{
private JLabel l1 = new JLabel("Tal1: ", JLabel.LEFT);
private JLabel l2 = new JLabel("Tal2: ", JLabel.LEFT);
private JLabel l3 = new JLabel("Resultat",JLabel.LEFT);
private JLabel l4 = new JLabel(" ", JLabel.RIGHT);
private JTextField t1 = new JTextField(" ",10);
private JTextField t2 = new JTextField(" ",10);
private JButton b1 = new JButton("+");
private JButton b2 = new JButton("-");
private JButton b3 = new JButton("*");
private JButton b4 = new JButton("/");
public Aritmetik(){
Container v = getContentPane();
v.setLayout(new GridLayout(5,2));
v.add(l1);
v.add(t1);
v.add(l2);
v.add(t2);
v.add(b1);
v.add(b2);
v.add(b3);
v.add(b4);
v.add(l3);
v.add(l4);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
pack();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
public void actionPerformed(ActionEvent e){
int tal1 = Integer.parseInt(t1.getText());
int tal2 = Integer.parseInt(t2.getText());
if(e.getSource() == b1){
if(t1.getText().equals("") || t2.getText().equals(""))
JOptionPane.showMessageDialog(null, "Mata in tal!");
else{
l3.setText("Resultat ");
l4.setText(" " + (tal1+tal2));
else if(e.getSource() == b2){
int sub = tal1-tal2;
l4.setText(" " + (sub));
else if(e.getSource() == b3){
int multi = tal1*tal2;
l4.setText(" " + (multi));
else if(e.getSource() == b4){
int div = tal1/tal2;
l4.setText(" " + (div));
public static void main(String[] arg){
Aritmetik A =new Aritmetik();Here is your problem:
public void actionPerformed(ActionEvent e){
int tal1 = Integer.parseInt(t1.getText().trim()); // add the trim()
int tal2 = Integer.parseInt(t2.getText().trim()); // add the trim()
if(e.getSource() == b1){
if(t1.getText().equals("") || t2.getText().equals(""))
JOptionPane.showMessageDialog(null, "Mata in tal!");
else{
l3.setText("Resultat ");
l4.setText(" " + (tal1+tal2));
}... Better ...
public void actionPerformed(ActionEvent e) throws NumberFormatException {
String tala = t1.getText().trim();
String talb = t2.getText().trim();
if ( tala == null || "".equals(tala) || talb == null || "".equals(talb) ) {
JOptionPane.showMessageDialog(null, "Mata in tal!");
return();
int tal1 = Integer.parseInt(tala);
int tal2 = Integer.parseInt(talb);
if(e.getSource() == b1){
l3.setText("Resultat ");
l4.setText(" " + (tal1+tal2));
else if(e.getSource() == b2){
int sub = tal1-tal2;
l4.setText(" " + (sub));
else if(e.getSource() == b3){
int multi = tal1*tal2;
l4.setText(" " + (multi));
else if(e.getSource() == b4){
int div = tal1/tal2;
l4.setText(" " + (div));
}Message was edited by:
abillconsl -
Need help with my addressbook program
hi,
i need help with my program here. this one should works as:
- saves user input into a txt file
- displays name of the saved person on the jlist whenever i run the program
- displays info about the person when clicked via textboxes given by reading the txt file where the user inputs are
- should scroll when the list exceeds the listbox
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.JList;
import java.awt.event.ActionListener;
import java.io.*;
import javax.swing.event.*;
import java.io.FilterInputStream;
public class AddressList extends JPanel implements ActionListener
JTextField txt1 = new JTextField();
JTextField txt2 = new JTextField();
JTextField txt3 = new JTextField();
DefaultListModel mdl = new DefaultListModel();
JList list = new JList();
JScrollPane listScroller = new JScrollPane(list);
ListSelectionModel listSelectionModel;
File fob = new File("Address3.txt");
String name;
char[] chars;
public void ListDisplay()
try
RandomAccessFile rand = new RandomAccessFile(fob,"rw");
BufferedReader br = new BufferedReader(new FileReader("Address3.txt"));
if(fob.exists())
while((name = rand.readLine()) != null)
chars = name.toCharArray();
if(chars[0] == '*')
mdl.addElement(name);
list.setModel(mdl);
if(chars[0] == '#')
continue;
else
System.out.println("No such file..");
catch(IOException a)
System.out.println(a.getMessage());
public AddressList()
this.setLayout(null);
listSelectionModel = list.getSelectionModel();
listSelectionModel.addListSelectionListener(new ListInfo());
list.setBounds(10,40,330,270);
listScroller.setBounds(320,40,20,100);
add(list);
add(listScroller);
JLabel lbl4 = new JLabel("Name: ");
lbl4.setBounds(400,10,80,30);
add(lbl4);
JLabel lbl5 = new JLabel("Cellphone #: ");
lbl5.setBounds(400,50,80,30);
add(lbl5);
JLabel lbl6 = new JLabel("Address: ");
lbl6.setBounds(400,90,80,30);
add(lbl6);
JLabel lbl7 = new JLabel("List ");
lbl7.setBounds(10,10,100,30);
add(lbl7);
txt1.setBounds(480,10,200,30);
add(txt1);
txt2.setBounds(480,50,200,30);
add(txt2);
txt3.setBounds(480,90,200,30);
add(txt3);
JButton btn1 = new JButton("Add");
btn1.setBounds(480,130,100,30);
btn1.addActionListener(this);
btn1.setActionCommand("Add");
add(btn1);
JButton btn2 = new JButton("Save");
btn2.setBounds(480,170,100,30);
btn2.addActionListener(this);
btn2.setActionCommand("Save");
add(btn2);
JButton btn3 = new JButton("Cancel");
btn3.setBounds(480,210,100,30);
btn3.addActionListener(this);
btn3.setActionCommand("Cancel");
add(btn3);
JButton btn4 = new JButton("Close");
btn4.setBounds(480,250,100,30);
btn4.addActionListener(this);
btn4.setActionCommand("Close");
add(btn4);
public static void main(String[]args)
JFrame frm = new JFrame("Address List");
AddressList panel = new AddressList();
frm.getContentPane().add(panel,"Center");
frm.setSize(700,350);
frm.setVisible(true);
panel.ListDisplay();
public void actionPerformed(ActionEvent e)
String cmd;
cmd = e.getActionCommand();
if(cmd.equals("Add"))
txt1.setText("");
txt2.setText("");
txt3.setText("");
else if(cmd.equals("Save"))
mdl.addElement(txt1.getText());
list.setModel(mdl);
try
RandomAccessFile rand = new RandomAccessFile(fob,"rw");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
LineNumberReader line = new LineNumberReader(br);
if(fob.exists())
rand.seek(fob.length());
rand.writeBytes("* " + txt1.getText());
rand.writeBytes("\r\n" + "# " + txt2.getText());
rand.writeBytes("\r\n" + "# " + txt3.getText() + "\r\n");
else
System.out.println("No such file..");
txt1.setText("");
txt2.setText("");
txt3.setText("");
catch(IOException a)
System.out.println(a.getMessage());
else if(cmd.equals("Cancel"))
txt1.setText("");
txt2.setText("");
txt3.setText("");
else if(cmd.equals("Close"))
System.exit(0);
class ListInfo implements ListSelectionListener
public void valueChanged(ListSelectionEvent e)
ListSelectionModel lsm = (ListSelectionModel)e.getSource();
int minIndex = lsm.getMinSelectionIndex();
int maxIndex = lsm.getMaxSelectionIndex();
try //*this one should display the info of the person whenever i click the person's name at the list box via textbox.. but i cant seem to get it right since it always display the info of the first person inputed.. i tried to get the program to display them whenever it reads lines with * on them....
File fob = new File("Address3.txt");
RandomAccessFile rand = new RandomAccessFile(fob,"rw");
BufferedReader br = new BufferedReader(new FileReader("Address3.txt"));
LineNumberReader line = new LineNumberReader(br);
if(fob.exists())
for(int i = minIndex; i<=maxIndex; i++)
if(lsm.isSelectedIndex(i))
while((name = rand.readLine()) != null)
chars = name.toCharArray();
if(chars[0] == '#')
continue;
if(chars[0] == '*')
txt1.setText(rand.readLine());
txt2.setText(rand.readLine());
txt3.setText(rand.readLine());
else
System.out.println("No such file..");
catch(IOException a)
System.out.println(a.getMessage());
}the only problem now is about how it should display the right info about the person whenever i click its name on the list.. something about file reading or something, i just cant figure it out.
and also about how to make it scroll once it exceeds the list.. i cant make it work, maybe something about wrong declaration..
thanks in advance..
Edited by: syder on Mar 14, 2008 2:26 AMLike said before, do one thing at a time. At startup, something like:
//put all the content in a list
ArrayList<String> lines = new ArrayList<String>();
while(String line=rand.readLine()!=null) {
lines.add(line);
}If you follow the good advice to create a class to encapsulate the entries, you could populate a list of such entries like this:
static final int ENTRY_SIZE = 3;//you have 3 fields now, better to have a constant if that changes
ArrayList<Entry> entries = new ArrayList<Entry>();
for(int i=0; i<lines.size(); i+=ENTRY_SIZE) {
Entry entry = new Entry(lines.get(i), lines.get(i+1), lines.get(i+2);
entries.add(newEntry);
}You could also do both of the above in one run, but I think you will understand better what's happening if you do one thing at a time.
If you don't want to put the entries in an encapsulating class, you can still access this without looping:
int listStartIdx = <desired_entry_index>*ENTRY_SIZE;
String att1 = lines.get(listStartIdx).substring(1);
String att2 = lines.get(listStartIdx+1).substring(1);
String att3 = lines.get(listStartIdx+2).substring(1); -
URGENT Help With Scientific Calculator!
Hi everybody,
I designed a calculator, and I need help with the rest of the actions. I know I need to use the different Math methods, but I tried tried that and it didn't work. Also, it needs to work as an applet and application, and in the applet, the buttons don't appear in order, how can I fix that?
I will really appreciate your help with this program, I can't get it to work and I'm frustrated, I need to finish this for next Tuesday 16th. Please e-mail me at [email protected].
Below is the code for the calcualtor.
Thanks a lot!
-Maria
// calculator
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class calculator extends JApplet implements
ActionListener
private JButton one, two, three, four, five, six, seven,
eight, nine, zero, dec, eq, plus, minus, mult, div, clear,
mem, mrc, sin, cos, tan, asin, acos, atan, x2, sqrt, exp, pi, percent;
private JLabel output, blank;
private Container container;
private String operation;
private double number1, number2, result;
private boolean clear = false;
//GUI
public void init()
container = getContentPane();
//Title
//super("Calculator");
JPanel container = new JPanel();
container.setLayout( new FlowLayout( FlowLayout.CENTER
output = new JLabel("");
output.setBorder(new MatteBorder(2,2,2,2,Color.gray));
output.setPreferredSize(new Dimension(1,26));
getContentPane().setBackground(Color.white);
getContentPane().add( "North",output );
getContentPane().add( "Center",container );
//blank
blank = new JLabel( " " );
container.add( blank );
//clear
clear = new JButton( "CE" );
clear.addActionListener(this);
container.add( clear );
//seven
seven = new JButton( "7" );
seven.addActionListener(this);
container.add( seven );
//eight
eight = new JButton( "8" );
eight.addActionListener(this);
container.add( eight );
//nine
nine = new JButton( "9" );
nine.addActionListener(this);
container.add( nine );
//div
div = new JButton( "/" );
div.addActionListener(this);
container.add( div );
//four
four = new JButton( "4" );
four.addActionListener(this);
container.add( four );
//five
five = new JButton( "5" );
five.addActionListener(this);
container.add( five );
//six
six = new JButton( "6" );
six.addActionListener(this);
container.add( six );
//mult
mult = new JButton( "*" );
mult.addActionListener(this);
container.add( mult );
//one
one = new JButton( "1" );
one.addActionListener(this);
container.add( one );
//two
two = new JButton( "2" );
two.addActionListener(this);
container.add( two );
//three
three = new JButton( "3" );
three.addActionListener(this);
container.add( three );
//minus
minus = new JButton( "-" );
minus.addActionListener(this);
container.add( minus );
//zero
zero = new JButton( "0" );
zero.addActionListener(this);
container.add( zero );
//dec
dec = new JButton( "." );
dec.addActionListener(this);
container.add( dec );
//plus
plus = new JButton( "+" );
plus.addActionListener(this);
container.add( plus );
//mem
mem = new JButton( "MEM" );
mem.addActionListener(this);
container.add( mem );
//mrc
mrc = new JButton( "MRC" );
mrc.addActionListener(this);
container.add( mrc );
//sin
sin = new JButton( "SIN" );
sin.addActionListener(this);
container.add( sin );
//cos
cos = new JButton( "COS" );
cos.addActionListener(this);
container.add( cos );
//tan
tan = new JButton( "TAN" );
tan.addActionListener(this);
container.add( tan );
//asin
asin = new JButton( "ASIN" );
asin.addActionListener(this);
container.add( asin );
//acos
acos = new JButton( "ACOS" );
cos.addActionListener(this);
container.add( cos );
//atan
atan = new JButton( "ATAN" );
atan.addActionListener(this);
container.add( atan );
//x2
x2 = new JButton( "X2" );
x2.addActionListener(this);
container.add( x2 );
//sqrt
sqrt = new JButton( "SQRT" );
sqrt.addActionListener(this);
container.add( sqrt );
//exp
exp = new JButton( "EXP" );
exp.addActionListener(this);
container.add( exp );
//pi
pi = new JButton( "PI" );
pi.addActionListener(this);
container.add( pi );
//percent
percent = new JButton( "%" );
percent.addActionListener(this);
container.add( percent );
//eq
eq = new JButton( "=" );
eq.addActionListener(this);
container.add( eq );
//Set size and visible
setSize( 190, 285 );
setVisible( true );
public static void main(String args[]){
//execute applet as application
//applet's window
JFrame applicationWindow = new JFrame("calculator");
applicationWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//applet instance
calculator appletObject = new calculator();
//init and start methods
appletObject.init();
appletObject.start();
} // end main
public void actionPerformed(ActionEvent ae)
JButton but = ( JButton )ae.getSource();
//dec action
if( but.getText() == "." )
//if dec is pressed, first check to make shure there
is not already a decimal
String temp = output.getText();
if( temp.indexOf( '.' ) == -1 )
output.setText( output.getText() + but.getText() );
//clear action
else if( but.getText() == "CE" )
output.setText( "" );
operation = "";
number1 = 0.0;
number2 = 0.0;
//plus action
else if( but.getText() == "+" )
operation = "+";
number1 = Double.parseDouble( output.getText() );
clear = true;
//output.setText( "" );
//minus action
else if( but.getText() == "-" )
operation = "-";
number1 = Double.parseDouble( output.getText() );
clear = true;
//output.setText( "" );
//mult action
else if( but.getText() == "*" )
operation = "*";
number1 = Double.parseDouble( output.getText() );
clear = true;
//output.setText( "" );
//div action
else if( but.getText() == "/" )
operation = "/";
number1 = Double.parseDouble( output.getText() );
clear = true;
//output.setText( "" );
//eq action
else if( but.getText() == "=" )
number2 = Double.parseDouble( output.getText() );
if( operation == "+" )
result = number1 + number2;
else if( operation == "-" )
result = number1 - number2;
else if( operation == "*" )
result = number1 * number2;
else if( operation == "/" )
result = number1 / number2;
//output result
output.setText( String.valueOf( result ) );
clear = true;
operation = "";
//default action
else
if( clear == true )
output.setText( "" );
clear = false;
output.setText( output.getText() + but.getText() );
}Multiple post:
http://forum.java.sun.com/thread.jsp?forum=31&thread=474370&tstart=0&trange=30 -
Hi everybody,
I designed a calculator, and I need help with the rest of the scientific actions. I know I need to use the different Math methods, but what exactly? Also, it needs to work as an applet and application, and in the applet, the buttons don't appear in order, how can I fix that?
I will really appreciate your help with this program, I need to finish it ASAP. Please e-mail me at [email protected].
Below is the code for the calcualtor.
Thanks in advance,
-Maria
// calculator
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class calculator extends JApplet implements
ActionListener
private JButton one, two, three, four, five, six, seven,
eight, nine, zero, dec, eq, plus, minus, mult, div, clear,
mem, mrc, sin, cos, tan, asin, acos, atan, x2, sqrt, exp, pi, percent;
private JLabel output, blank;
private Container container;
private String operation;
private double number1, number2, result;
private boolean clear = false;
//GUI
public void init()
container = getContentPane();
//Title
//super("Calculator");
JPanel container = new JPanel();
container.setLayout( new FlowLayout( FlowLayout.CENTER
output = new JLabel("");
output.setBorder(new MatteBorder(2,2,2,2,Color.gray));
output.setPreferredSize(new Dimension(1,26));
getContentPane().setBackground(Color.white);
getContentPane().add( "North",output );
getContentPane().add( "Center",container );
//blank
blank = new JLabel( " " );
container.add( blank );
//clear
clear = new JButton( "CE" );
clear.addActionListener(this);
container.add( clear );
//seven
seven = new JButton( "7" );
seven.addActionListener(this);
container.add( seven );
//eight
eight = new JButton( "8" );
eight.addActionListener(this);
container.add( eight );
//nine
nine = new JButton( "9" );
nine.addActionListener(this);
container.add( nine );
//div
div = new JButton( "/" );
div.addActionListener(this);
container.add( div );
//four
four = new JButton( "4" );
four.addActionListener(this);
container.add( four );
//five
five = new JButton( "5" );
five.addActionListener(this);
container.add( five );
//six
six = new JButton( "6" );
six.addActionListener(this);
container.add( six );
//mult
mult = new JButton( "*" );
mult.addActionListener(this);
container.add( mult );
//one
one = new JButton( "1" );
one.addActionListener(this);
container.add( one );
//two
two = new JButton( "2" );
two.addActionListener(this);
container.add( two );
//three
three = new JButton( "3" );
three.addActionListener(this);
container.add( three );
//minus
minus = new JButton( "-" );
minus.addActionListener(this);
container.add( minus );
//zero
zero = new JButton( "0" );
zero.addActionListener(this);
container.add( zero );
//dec
dec = new JButton( "." );
dec.addActionListener(this);
container.add( dec );
//plus
plus = new JButton( "+" );
plus.addActionListener(this);
container.add( plus );
//mem
mem = new JButton( "MEM" );
mem.addActionListener(this);
container.add( mem );
//mrc
mrc = new JButton( "MRC" );
mrc.addActionListener(this);
container.add( mrc );
//sin
sin = new JButton( "SIN" );
sin.addActionListener(this);
container.add( sin );
//cos
cos = new JButton( "COS" );
cos.addActionListener(this);
container.add( cos );
//tan
tan = new JButton( "TAN" );
tan.addActionListener(this);
container.add( tan );
//asin
asin = new JButton( "ASIN" );
asin.addActionListener(this);
container.add( asin );
//acos
acos = new JButton( "ACOS" );
cos.addActionListener(this);
container.add( cos );
//atan
atan = new JButton( "ATAN" );
atan.addActionListener(this);
container.add( atan );
//x2
x2 = new JButton( "X2" );
x2.addActionListener(this);
container.add( x2 );
//sqrt
sqrt = new JButton( "SQRT" );
sqrt.addActionListener(this);
container.add( sqrt );
//exp
exp = new JButton( "EXP" );
exp.addActionListener(this);
container.add( exp );
//pi
pi = new JButton( "PI" );
pi.addActionListener(this);
container.add( pi );
//percent
percent = new JButton( "%" );
percent.addActionListener(this);
container.add( percent );
//eq
eq = new JButton( "=" );
eq.addActionListener(this);
container.add( eq );
//Set size and visible
setSize( 190, 285 );
setVisible( true );
public static void main(String args[]){
//execute applet as application
//applet's window
JFrame applicationWindow = new JFrame("calculator");
applicationWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//applet instance
calculator appletObject = new calculator();
//init and start methods
appletObject.init();
appletObject.start();
} // end main
public void actionPerformed(ActionEvent ae)
JButton but = ( JButton )ae.getSource();
//dec action
if( but.getText() == "." )
//if dec is pressed, first check to make shure there
is not already a decimal
String temp = output.getText();
if( temp.indexOf( '.' ) == -1 )
output.setText( output.getText() + but.getText() );
//clear action
else if( but.getText() == "CE" )
output.setText( "" );
operation = "";
number1 = 0.0;
number2 = 0.0;
//plus action
else if( but.getText() == "+" )
operation = "+";
number1 = Double.parseDouble( output.getText() );
clear = true;
//output.setText( "" );
//minus action
else if( but.getText() == "-" )
operation = "-";
number1 = Double.parseDouble( output.getText() );
clear = true;
//output.setText( "" );
//mult action
else if( but.getText() == "*" )
operation = "*";
number1 = Double.parseDouble( output.getText() );
clear = true;
//output.setText( "" );
//div action
else if( but.getText() == "/" )
operation = "/";
number1 = Double.parseDouble( output.getText() );
clear = true;
//output.setText( "" );
//eq action
else if( but.getText() == "=" )
number2 = Double.parseDouble( output.getText() );
if( operation == "+" )
result = number1 + number2;
else if( operation == "-" )
result = number1 - number2;
else if( operation == "*" )
result = number1 * number2;
else if( operation == "/" )
result = number1 / number2;
//output result
output.setText( String.valueOf( result ) );
clear = true;
operation = "";
//default action
else
if( clear == true )
output.setText( "" );
clear = false;
output.setText( output.getText() + but.getText() );Multiple post:
http://forum.java.sun.com/thread.jsp?forum=31&thread=474370&tstart=0&trange=30 -
I need help with this portion of my program, it's supposed to loop through the array and pull out the highest inputted score, currently it's only outputting what is in studentScoreTF[0].
private class HighScoreButtonHandler implements ActionListener
public void actionPerformed(ActionEvent e)
double highScore = 0;
int endScore = 0;
double finalScore = 0;
String tempHigh;
String tempScore;
for(int score = 0; score < studentScoreTF.length; score++)
tempHigh = studentScoreTF[score].getText();
tempScore = studentScoreTF[endScore].getText();
if(tempHigh.length() < tempScore.length())
highScore++;
finalScore = Double.parseDouble(tempScore);
JOptionPane.showMessageDialog(null, "Highest Class Score is: " + finalScore);This is another part of the program, it's supposed to loop through the student names array and pull out the the names of the students with the highest score, again it's only outputting what's in studentName[0].
private class StudentsButtonHandler implements ActionListener
public void actionPerformed(ActionEvent e)
int a = 0;
int b = 0;
int c = 0;
double fini = 0;
String name;
String score;
String finale;
String finalName = new String();
name = studentNameTF[a].getText();
score = studentScoreTF.getText();
finale = studentScoreTF[c].getText();
if(score.length() < finale.length())
fini++;
name = finalName + finale;
JOptionPane.showMessageDialog(null, "Student(s) with the highest score: " + name);
} Any help would be appreciated, this is getting frustrating and I'm starting to get a headache from it, lol.
Edited by: SammyP on Oct 29, 2009 4:18 PM
Edited by: SammyP on Oct 29, 2009 4:19 PMHeres a working example:
class Compare {
public int getHighest(int[] set) {
int high = set[0];
for(int i = 0; i < set.length; i++) {
if(set[i] > high) {
high = set;
return high; -
Need help with basic program.....!
I've to write a program that generates a random number, which the user has to try and guess, after each guess they're told whether it's too high or too low etc., I've gotten this far, however, the user has only 10 guesses.... In my program I've used a while loop and the user gets an infinite number of guesses, I know I'm supposed to use a for loop, but can't seem to get it to work properly. Also, when the user guesses the number, the program then has to print out how many guesses it took, and I have no idea how to get it to do this AT ALL!!! I'd really appreciate some help with this, thanks v. much!!!!
I've to write a program that generates a random
number, which the user has to try and guess, after
each guess they're told whether it's too high or too
low etc., I've gotten this far, however, the user has
only 10 guesses.... In my program I've used a while
loop and the user gets an infinite number of guesses,
I know I'm supposed to use a for loop, but can't seem
to get it to work properly. Also, when the user
guesses the number, the program then has to print out
how many guesses it took, and I have no idea how to
get it to do this AT ALL!!! I'd really appreciate some
help with this, thanks v. much!!!!Hey not every book covers every aspect of Java (if you haven't got a book and don't want to buy 1 i recommend an online tutorial) If u want the user to have an infinate number of guesses, use an infinate while loop. Put this in a file called app.java:
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class app extends Applet implements ActionListener
JLabel lbl=new JLabel("Guess a number between 0 and 10:");
JTextField txtfield=new JTextField(20);
JButton button=new JButton("Guess...");
JLabel lbl2=new JLabel();
int randomnumber=Math.round((float)Math.random()*10);
public void init()
add(lbl);
add(txtfield);
add(button);
button.addActionListener(this);
public void actionPerformed (ActionEvent e)
String s=new String("");
s+=randomnumber;
if (e.getSource().equals(button) && txtfield.getText().equals(s))
setBackground(Color.white);
setForeground(Color.black);
lbl2.setText("Got it!");
add(lbl2);
validate();
else
setBackground(Color.white);
setForeground(Color.black);
if (Integer.parseInt(txtfield.getText())>randomnumber)
lbl2.setText("Too High!");
else
lbl2.setText("Too Low!");
add(lbl2);
validate();
Then create a HTML document in the classes folder:
<HTML>
<HEAD>
<TITLE>APPLET</TITLE>
</HEAD>
<BODY>
<HR>
<CENTER>
<APPLET
CODE=app.class
WIDTH=400
HEIGHT=200 >
</APPLET>
</CENTER>
<HR>
</BODY>
</HTML>
It will do what you wish. If you want to have more then 10 numbers to guess, for example 100, do this:
int randomnumber=Math.round((float)Math.random()*100);
Does that answer your question? -
Hi guys, i have a project to do and Ive chosen hangman. Ive already made the main program , but i need help with the GUI. I havent been taught about GUI in school, so all i know is what i could understand from a book and what ive read on the internet..
First , heres the code of my basic Hangman class:
import java.io.*;
import java.util.Random;
public class Hangman
public void maingame()throws IOException
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String movies[]={"THE BOURNE ULTIMATUM","TRANSFORMERS","RUSH HOUR 3","THE INSIDE MAN","THE SIMPSONS MOVIE","THE LORD OF THE RINGS","DIE HARD 4.0"};
Random rand = new Random();
char current[]=(movies[rand.nextInt(movies.length)]).toCharArray(); //Convert a random string from movies array into a char array
char actual[]=new char[current.length]; //Store current state of guessed movie
for (int i=0;i<actual.length;i++)
if (isVowel(Character.toUpperCase(current))==true)
actual[i]=current[i];
else if (isSpecialChar(Character.toUpperCase(current[i]))==true)
actual[i]=current[i];
else if (current[i]==' ')
actual[i]='/';
else
actual[i]='_';
String hangman = "HANGMAN";
int turnsleft=7;
StringBuffer guessed=new StringBuffer();
while (turnsleft!=0)
System.out.println("\n\t\t\t\t"+hangman.substring(0,turnsleft)+"\n");
print(actual);
System.out.println("\nEnter your guess");
String inp = br.readLine();
if (inp.length()>1)
System.out.println("You may only enter one character");
else
char guess = inp.charAt(0); //Convert the entered string to char
if ( (hasBeenGuessed(guess,guessed)) == true )
System.out.println("You have already guessed that\nYou have "+turnsleft+" turns left");
else if (guess >= '0' && guess <= '9')
System.out.println("You cannot guess digits.All digits in a movie will will be filled in automatically");
else
guessed.append(guess);
if (isVowel(guess)!=true)
if (isCorrect(guess,turnsleft,current,actual)==true)
if (hasWon(actual,current)==true)
System.out.println();
print(actual);
System.out.println("\nCongratulations!You won!");
System.exit(0);
else
System.out.println("\nCorrect Guess!\nYou have "+turnsleft+" turns left\n");
else
turnsleft--;
System.out.println("Wrong Guess!\nYou have "+turnsleft+" turns left\n");
else if (isVowel(guess)==true)
System.out.println("You cannot guess vowels\nYou have "+turnsleft+" turns left\n");
else
System.out.println("You have already guessed that\nYou have "+turnsleft+" turns left\n");
print(actual);
if (turnsleft==0)
System.out.println("\nYou lose!\nThe movie was: ");
print(current);
System.exit(0);
private boolean isCorrect(char guess,int turnsleft,char current[],char actual[])
int flag=0;
for (int i=0;i<current.length;i++)
if ( Character.toUpperCase(current[i])==Character.toUpperCase(guess) && actual[i]!=guess ) //Check if guess is correct, and make sure it has not already been entered
actual[i]=guess;
flag=1;
else if (Character.toUpperCase(current[i])!=Character.toUpperCase(guess) && i==current.length-1 && flag==0)
return false;
if (flag!=0)
return true;
else
return false;
private boolean hasWon(char actual[],char current[])
char actualspc[]=new char[actual.length];
for (int i=0;i<actual.length;i++)
if (actual[i]=='/')
actualspc[i]=' ';
else
actualspc[i]=actual[i];
for (int i=0;i<actual.length;i++)
if ((Character.toUpperCase(current[i]))==(Character.toUpperCase(actualspc[i])) && i==actual.length-1)
return true;
else if ((Character.toUpperCase(current[i]))==(Character.toUpperCase(actualspc[i])) && i!=actual.length-1)
continue;
else
return false;
return false;
private void print(char arr[])
for (int i=0;i<arr.length;i++)
System.out.print(Character.toUpperCase(arr[i])+" ");
private boolean isVowel(char a)
if (a=='a' || a=='A' || a=='e' || a=='E' || a=='i' || a=='I' || a=='o' || a=='O' || a=='u' || a=='U')
return true;
else
return false;
private boolean isSpecialChar(char a)
//if (a>='a' && a<='z')
//return false;
//else if (a>='A' && a<='z')
//return false;
//else if (a==' ')
//return false;
//else if (a>='0' && a<='9')
//return true;
if (isLetter(a)==true)
return false;
else if (isWhiteSpace(a)==true)
return false;
else if (isDigit(a)==true)
return true;
else
return true;
private boolean hasBeenGuessed(char a,StringBuffer guessed)
for (int i=0;i<guessed.length();i++)
if ( Character.toUpperCase(guessed.charAt(i)) == Character.toUpperCase(a))
return true;
return false;
My first 2 questions are here:
a - Why does isLetter not work, it says cannot resolve symbol - method isLetter(char)... Im guessing even isDigit and isWhiteSpace wont work, so why? If i cant use them ill have to use the commented code, its kind of unprofessional..
b- Isnt there any way i can compare chars ignoring cases besides converting both to one case, like im doing now?
Heres the new HangmanGUI class i made, it doesnt necessarily have to be a different class in the final outcome, but i would prefer it if it can.. Ive made what i can figure out.. Ive commented about what i need to do.
Keep in mind i cant use Applets, only Frame/JFrame
import java.awt.*;
import javax.swing.*;
public class HangmanGUI extends JFrame implements ActionListener
Button newGame = new Button("New Game");
Button entGuess = new Button("Submit Guess");
Button giveUp = new Button("Give Up");
TextField input = new TextField("",1);
Label hangman = new Label("HANGMAN");
JPanel play = new JPanel();
JPanel hang = new Jpanel();
GridLayout playLayout = new GridLayout(2,4);
public HangmanGUI()
play.setLayout(playLayout);
play.add(hangman+"\n");
play.add(newGame);
play.add(giveUp);
play.add(input);
play.add(entGuess);
hang.add(hangman);
getContentPane().add(play);
getContentPane().add(hang);
public void ActionPerformed(ActionEvent act)
Object src = act.getSource();
if (src==newGame)
main(); //Calling main to restart program - will that work?
//if (src==entGuess)
//Need to submit the guess, while input is not empty to Hangman class
//if (src==giveUp)
//Need to go into the losing part of Hangman class
}As you can see i need help with:
a - How to complete the other ifs
b - How to really use the data of my Hangman class in this class and combine the GUI and backend to make a nice GUI Hangman app
c - btw, right now if i try to compile HangmanGUI it highlights the implements ActionListener line and says cannot resolve symbol - class ActionListener..
Any help would be greatly appreciatedThanks for the explanation pete...
Anyways, i started implementing my code within abillconsl's code, and im trying to assign a label to a char array using .toString(); but instead of whats in the char array i get [C@<numbers and digits> ..
Whats wrong?
[code]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Random;
public class HangEmHighGUI extends JFrame implements ActionListener
private Button newGame,
entGuess,
giveUp;
private TextField input;
private Label hangman,
movie;
private JPanel play,
hang;
private GridLayout playLayout;
private FlowLayout labelLayout;
private Container container; // To avoid extra meth calls
String movies[]={"THE/BOURNE/ULTIMATUM","TRANSFORMERS","RUSH HOUR 3","THE INSIDE MAN","THE SIMPSONS MOVIE","THE LORD OF THE RINGS","DIE HARD 4.0"};
Random rand = new Random();
char current[]=(movies[rand.nextInt(movies.length)]).toCharArray(); //Convert a random string from movies array into a char array
char actual[]=new char[current.length]; //Store current state of guessed movie
public HangEmHighGUI()
setUp();
container = this.getContentPane();
play = new JPanel();
hang = new JPanel();
playLayout = new GridLayout(1, 3, 5, 5); // rows, cols, space, space
labelLayout = new FlowLayout(FlowLayout.CENTER);
newGame = new Button("New Game");
entGuess = new Button("Submit Guess");
giveUp = new Button("Give Up");
input = new TextField("",1);
hangman = new Label("HANGMAN");
movie = new Label(actual.toString());
hang.setLayout(labelLayout);
play.setLayout(playLayout);
play.add(newGame);
play.add(giveUp);
play.add(entGuess);
hang.add(hangman);
hang.add(movie);
container.add(hang,BorderLayout.NORTH);
container.add(input,BorderLayout.CENTER);
container.add(play,BorderLayout.SOUTH);
pack();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
public void actionPerformed(ActionEvent act)
Object src = act.getSource();
if (src==newGame)
main(new String[] {""}); //Calling main to restart program, this does not work without parameters, is there some other way to restart?
if (src==entGuess)
if (input.getText()=="")
setUp();
//if (src==giveUp)
//Need to go into the losing part of Hangman class
public static void main(String args[])
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
new HangEmHighGUI();
private void setUp()
for (int i=0;i<actual.length;i++)
if (isVowel(Character.toUpperCase(current)))
actual[i]=current[i];
else if (isSpecialChar(Character.toUpperCase(current[i])))
actual[i]=current[i];
else if (Character.isWhitespace(current[i]))
actual[i]='/';
else
actual[i]='_';
private boolean isVowel(char a)
if (Character.toUpperCase(a)=='A' || Character.toUpperCase(a)=='E' || Character.toUpperCase(a)=='I' || Character.toUpperCase(a)=='O' || Character.toUpperCase(a)=='U')
return true;
else
return false;
private boolean isSpecialChar(char a)
if (Character.isLetter(a))
return false;
else if (Character.isDigit(a))
return true;
else if (Character.isWhitespace(a))
return false;
else
return true;
private boolean isCorrect(char guess,int turnsleft,char current[],char actual[])
int flag=0;
for (int i=0;i<current.length;i++)
if ( Character.toUpperCase(current[i])==Character.toUpperCase(guess) && actual[i]!=guess ) //Check if guess is correct, and make sure it has not already been entered
actual[i]=guess;
flag=1;
else if (Character.toUpperCase(current[i])!=Character.toUpperCase(guess) && i==current.length-1 && flag==0)
return false;
if (flag!=0)
return true;
else
return false;
private boolean hasWon(char actual[],char current[])
char actualspc[]=new char[actual.length];
for (int i=0;i<actual.length;i++)
if (actual[i]=='/')
actualspc[i]=' ';
else
actualspc[i]=actual[i];
for (int i=0;i<actual.length;i++)
if ((Character.toUpperCase(current[i]))==(Character.toUpperCase(actualspc[i])) && i==actual.length-1)
return true;
else if ((Character.toUpperCase(current[i]))==(Character.toUpperCase(actualspc[i])) && i!=actual.length-1)
continue;
else
return false;
return false;
private void print(char arr[])
for (int i=0;i<arr.length;i++)
System.out.print(Character.toUpperCase(arr[i])+" ");
private boolean hasBeenGuessed(char a,StringBuffer guessed)
for (int i=0;i<guessed.length();i++)
if ( Character.toUpperCase(guessed.charAt(i)) == Character.toUpperCase(a))
return true;
return false;
Note that the majority of the code has been taken from my old hangman class, i havent adapted it to the GUI yet, so ignore all of that stuff. -
Help with dropdown menu in JCombo box,Pleaseeeeeee
Hi,
I posted earlier but I`II try again. Someone must know how to do this. I have a JComboBox and I want the drop down menu to be a bit wider then the comboBox.
I tried using this method
public void setPreferredSize()
Dimension d = jcbo.getPreferredSize(d);
jcbo.setPreferredSize(new Dimension(20, d.height));
jcbo.setPopupWidth(d.width);
but I recieved a couldn`t resolve symbol error for the last line.
I imported these into the program]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
Is there something else I should of imported as well to make this work, or is it another problem all together.Any help would be greatly appreciated.Hi , What I want to do is have the dropmenu a bit wider then the comboBox. Here is my code.Please excuse any odd ball mistakes, At this point I have been trying anything.This is an exercise that I have to do fo a java assignment, Hence the weird GUI. In the example pic they gave me.It shows the dropmenu a bit wider than the comboBox, I am sure they through this in to screw with my brain, I have put comment tags Around the stuff I tried to use. Any help with this would be greatly appreciated.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import javax.swing.plaf.basic.*;
public class Exercise9_3 extends JFrame implements ActionListener
private JTextField nameField;
private JTextArea nameArea;
private JButton storeButton;
private JComboBox jcbo;
private JPopupMenu popup;
protected int popupWidth;
String newline = "\n";
public Exercise9_3()
createComponets();
addComponets();
setTitle("Exercise9_3");
private void createComponets ()
nameField = new JTextField(19);
nameArea = new JTextArea(10, 15);
storeButton = new JButton("Store");
storeButton.addActionListener(this);
jcbo = new JComboBox();
jcbo.addActionListener(this);
/*8public void setPreferredSize()
Dimension d = jcbo.getPreferredSize(d);
//jcbo.setPreferredSize(new Dimension(20, d.height));
//jcbo.setPopupWidth(d.width);
private void addComponets()
JPanel p1 = new JPanel();
p1.setLayout (new FlowLayout());
p1.add(nameField);
p1.add(nameArea);
p1.add(jcbo);
JPanel p2 = new JPanel();
p2.setLayout (new FlowLayout());
p2.add (storeButton);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(p1, BorderLayout.CENTER);
getContentPane().add(p2, BorderLayout.SOUTH);
public void actionPerformed(ActionEvent e)
if(e.getSource() == storeButton)
String s = nameField.getText();
jcbo.addItem(s);
jcbo.setSelectedItem(s);
String textArea = s ;
String text = nameField.getText();
nameArea.append(text + newline);
nameField.selectAll();
nameField.setText("");
nameField.requestFocus();
if (e.getSource() == jcbo)
/**retrieve the input as a string*/
String selectedName = (String)jcbo.getSelectedItem();
/**set the name that was selected from the ComboBox and add it to textfield*/
nameField.setText(selectedName);
public static void main(String [] args)
Exercise9_3 frame = new Exercise9_3();
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int screenWidth = screenSize.width;
int screenHeight = screenSize.height;
// Get dimension of the frame
Dimension frameSize = frame.getSize();
int x = (screenWidth - frameSize.width)/2;
int y = (screenHeight- frameSize.height)/2;
frame.setLocation(x,y); -
Would love some help with this one.. I am new so please bare with me. This app just reads contents of a txt file. What I am trying to add is the ability to display an image inside the program frame with scrolls bars.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class Viewer extends JFrame
private JMenuBar menuBar;
private JMenu fileMenu;
private JMenu fontMenu;
private JMenuItem newItem;
private JMenuItem openItem;
private JMenuItem saveItem;
private JMenuItem saveAsItem;
private JMenuItem exitItem;
private JRadioButtonMenuItem monoItem;
private JRadioButtonMenuItem serifItem;
private JRadioButtonMenuItem sansSerifItem;
private JCheckBoxMenuItem italicItem;
private JCheckBoxMenuItem boldItem;
private String filename;
private JTextArea editorText;
private JLabel label;
private final int NUM_LINES = 20;
private final int NUM_CHARS = 40;
public Viewer()
setTitle("Viewer");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
editorText = new JTextArea(NUM_LINES, NUM_CHARS);
editorText.setLineWrap(true);
editorText.setWrapStyleWord(true);
JScrollPane scrollPane = new JScrollPane(editorText);
add(scrollPane);
buildMenuBar();
pack();
setVisible(true);
private void buildMenuBar()
buildFileMenu();
buildFontMenu();
menuBar = new JMenuBar();
menuBar.add(fileMenu);
menuBar.add(fontMenu);
setJMenuBar(menuBar);
private void buildFileMenu()
newItem = new JMenuItem("New");
newItem.setMnemonic(KeyEvent.VK_N);
newItem.addActionListener(new NewListener());
openItem = new JMenuItem("Open");
openItem.setMnemonic(KeyEvent.VK_O);
openItem.addActionListener(new OpenListener());
saveItem = new JMenuItem("Save");
saveItem.setMnemonic(KeyEvent.VK_S);
saveItem.addActionListener(new SaveListener());
saveAsItem = new JMenuItem("Save As");
saveAsItem.setMnemonic(KeyEvent.VK_A);
saveAsItem.addActionListener(new SaveListener());
exitItem = new JMenuItem("Exit");
exitItem.setMnemonic(KeyEvent.VK_X);
exitItem.addActionListener(new ExitListener());
fileMenu = new JMenu("File");
fileMenu.setMnemonic(KeyEvent.VK_F);
fileMenu.add(newItem);
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(saveItem);
fileMenu.add(saveAsItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
private void buildFontMenu()
monoItem = new JRadioButtonMenuItem("Monospaced");
monoItem.addActionListener(new FontListener());
serifItem = new JRadioButtonMenuItem("Serif");
serifItem.addActionListener(new FontListener());
sansSerifItem =
new JRadioButtonMenuItem("SansSerif", true);
sansSerifItem.addActionListener(new FontListener());
ButtonGroup group = new ButtonGroup();
group.add(monoItem);
group.add(serifItem);
group.add(sansSerifItem);
italicItem = new JCheckBoxMenuItem("Italic");
italicItem.addActionListener(new FontListener());
boldItem = new JCheckBoxMenuItem("Bold");
boldItem.addActionListener(new FontListener());
fontMenu = new JMenu("Font");
fontMenu.setMnemonic(KeyEvent.VK_T);
fontMenu.add(monoItem);
fontMenu.add(serifItem);
fontMenu.add(sansSerifItem);
fontMenu.addSeparator();
fontMenu.add(italicItem);
fontMenu.add(boldItem);
private class NewListener implements ActionListener
public void actionPerformed(ActionEvent e)
editorText.setText("");
filename = null;
private class OpenListener implements ActionListener
public void actionPerformed(ActionEvent e)
int chooserStatus;
JFileChooser chooser = new JFileChooser();
chooserStatus = chooser.showOpenDialog(null);
if (chooserStatus == JFileChooser.APPROVE_OPTION)
File selectedFile = chooser.getSelectedFile();
filename = selectedFile.getPath();
if (!openFile(filename))
JOptionPane.showMessageDialog(null,
"Error reading " +
filename, "Error",
JOptionPane.ERROR_MESSAGE);
private boolean openFile(String filename)
boolean success;
String inputLine, editorString = "";
FileReader freader;
BufferedReader inputFile;
label = new JLabel();
add(label);
try
freader = new FileReader(filename);
inputFile = new BufferedReader(freader);
inputLine = inputFile.readLine();
while (inputLine != null)
editorString = editorString +
inputLine + "\n";
inputLine = inputFile.readLine();
editorText.setText(editorString);
inputFile.close();
success = true;
catch (IOException e)
success = false;
return success;
private class SaveListener implements ActionListener
public void actionPerformed(ActionEvent e)
int chooserStatus;
if (e.getActionCommand() == "Save As" ||
filename == null)
JFileChooser chooser = new JFileChooser();
chooserStatus = chooser.showSaveDialog(null);
if (chooserStatus == JFileChooser.APPROVE_OPTION)
File selectedFile =
chooser.getSelectedFile();
filename = selectedFile.getPath();
if (!saveFile(filename))
JOptionPane.showMessageDialog(null,
"Error saving " +
filename,
"Error",
JOptionPane.ERROR_MESSAGE);
private boolean saveFile(String filename)
boolean success;
String editorString;
FileWriter fwriter;
PrintWriter outputFile;
try
fwriter = new FileWriter(filename);
outputFile = new PrintWriter(fwriter);
editorString = editorText.getText();
outputFile.print(editorString);
outputFile.close();
success = true;
catch (IOException e)
success = false;
return success;
private class ExitListener implements ActionListener
public void actionPerformed(ActionEvent e)
System.exit(0);
private class FontListener implements ActionListener
public void actionPerformed(ActionEvent e)
Font textFont = editorText.getFont();
String fontName = textFont.getName();
int fontSize = textFont.getSize();
int fontStyle = Font.PLAIN;
if (monoItem.isSelected())
fontName = "Monospaced";
else if (serifItem.isSelected())
fontName = "Serif";
else if (sansSerifItem.isSelected())
fontName = "SansSerif";
if (italicItem.isSelected())
fontStyle += Font.ITALIC;
if (boldItem.isSelected())
fontStyle += Font.BOLD;
editorText.setFont(new Font(fontName,
fontStyle, fontSize));
public static void main(String[] args)
Viewer ve = new Viewer();
}I tried using JLabel() but I cant seem to make it work. Whenever i browse and select a .jpg it displays "�������t���o\�[��+�p��B3�+�p��B3�"In the future, Swing related questions should be posted in the Swing forum.
Whenever i browse and select a .jpg it displays "�������t���o\�[��+�p��B3�+�p��B3�" You can read in a jpg file and treat it like a text file.
Read the Swing tutorial on [url http://java.sun.com/docs/books/tutorial/uiswing/components/icon.html]How to Use Icons for the proper way to read images. -
Need Help with Listener on JInternalFrame
Below is the code as it is currently.
public class addCustomer extends JInternalFrame implements ActionListener{
//Variable declarations here
private JPanel panel = new JPanel();
private JLabel label1,label2,label3,label4,label5,label6,label7,label8,label9,icon1;
private JTextField CustNum,CFName,CSName,Address1,Address2,City,PostCode,Tel,Cell;
private JButton Cancel, Add;
private ImageIcon pic,FrmPic;
addCustomer() {
super ("Add New Customer",true,true,true,true);
setSize(350,370);
setResizable(false);
On the Frame I have a textfield that I would like to add a listener to. When text is typed into the textfield it should enable a JButton on the frame. My problem is that as soon as I implement KeyListener or EventListener on the above code I get an error of the class is not defined as abstract. If I define it as abstract my main declaration that looks like this gives me an error :
public static void main(String args[]){
new Video().show();
Can anyone help me with a work around.
AlexanderStill have an error in the code. I don't know what I am doing wrong. this is the code so far.
//This class will create the the Panel for Adding new Customers
package VideoShop;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.io.*;
import javax.swing.event.*;
public class addCustomer extends JInternalFrame implements ActionListener{
//Variable declarations here
private JPanel panel = new JPanel();
private JLabel label1,label2,label3,label4,label5,label6,label7,label8,label9,icon1;
private JTextField CustNum,CFName,CSName,Address1,Address2,City,PostCode,Tel,Cell;
private JButton Cancel, Add;
private ImageIcon pic,FrmPic;
addCustomer() {
super ("Add New Customer",true,true,true,true);
setSize(350,370);
setResizable(false);
//Sets the layout for the panel
panel.setLayout(null);
//Creates the labels
label1 = new JLabel("Customer Nr");
label2 = new JLabel("First Name");
label3 = new JLabel("Surname");
label4 = new JLabel("Address");
label5 = new JLabel("Address");
label6 = new JLabel("City");
label7 = new JLabel("Postcode");
label8 = new JLabel("Tel Nr");
label9 = new JLabel("Cell Nr");
//Creates the Textfields
CustNum = new JTextField();
CustNum.setEditable(false);
CFName = new JTextField();
CSName = new JTextField();
Address1 = new JTextField();
Address2 = new JTextField();
City = new JTextField();
PostCode = new JTextField();
Tel = new JTextField();
Cell = new JTextField();
//Creates the buttons
Cancel = new JButton("Cancel");
Add = new JButton("Add");
//Sets the alignment of the label controls
label1.setBounds(20, 20, 90, 20);
label2.setBounds(20, 50, 90, 20);
label3.setBounds(20, 80, 90, 20);
label4.setBounds(20, 110, 90, 20);
label5.setBounds(20, 140, 90, 20);
label6.setBounds(20, 170, 90, 20);
label7.setBounds(20, 200, 90, 20);
label8.setBounds(20, 230, 90, 20);
label9.setBounds(20,260,90,20);
//Sets the alignment of the Textfield controls
CustNum.setBounds(100,20,90,20);
CFName.setBounds(100, 50, 90, 20);
CSName.setBounds(100, 80, 90, 20);
Address1.setBounds(100, 110, 130, 20);
Address2.setBounds(100, 140, 130, 20);
City.setBounds(100, 170, 100, 20);
PostCode.setBounds(100, 200, 65, 20);
Tel.setBounds(100,230, 90,20);
Cell.setBounds(100, 260, 90, 20);
//Sets the alignment of the Button controls
Add.setBounds(200, 310, 90, 20);
Cancel.setBounds(85,310,90,20);
//Creates an icon on the panel
pic = new ImageIcon("/VideoShop/NotePad.gif");
icon1 = new JLabel(pic);
icon1.setBounds(280,10,50,50);
//Adds Mnemonics
Cancel.setMnemonic('c');
Add.setMnemonic('a');
//Adds listener to the Cell TextField to help with validation
Cell.getDocument().addDocumentListener(new DocumentListener(){
public void changeUpdate(DocumentEvent e){
public void removeUpdate (DocumentEvent e){
adjust(e);
public void insertUpdate(DocumentEvent e){ //ERROR////////////
adjust(e);
//Adds listeners to the buttons on the panel
Cancel.addActionListener(this);
Add.addActionListener(this);
//Adds the controls to the panel
panel.add(label1);
panel.add(label2);
panel.add(label3);
panel.add(label4);
panel.add(label5);
panel.add(label6);
panel.add(label7);
panel.add(label8);
panel.add(label9);
panel.add(CustNum);
panel.add(CFName);
panel.add(CSName);
panel.add(Address1);
panel.add(Address2);
panel.add(City);
panel.add(PostCode);
panel.add(Tel);
panel.add(Cell);
panel.add(Cancel);
panel.add(Add);
panel.add(icon1);
//Gets the next customer number from the database
//Variables for the database
String dbuser = "";
String dbpasswd = "";
String DriverPrefix = "jdbc:odbc:";
String DataSource = "Video";
//Holds the value from the database
String val1;
//SQL String for writing data to database
String SQLstring = "SELECT CustNum FROM Customers";
//Loads the driver for the database
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Error Loading driver\n"+e,"Driver Load Error",JOptionPane.WARNING_MESSAGE);
Statement stmt = null;
Connection con = null;
//Create a connection to the database.
try {
con = DriverManager.getConnection(DriverPrefix+DataSource,dbuser, dbpasswd);
stmt = con.createStatement();
}catch (Exception e) {
JOptionPane.showMessageDialog(null,"Cannot connect to Database\n"+e,"Connection Error",JOptionPane.WARNING_MESSAGE);
ResultSet rs = null;
//Gets data from the database
try {
rs = stmt.executeQuery(SQLstring);
while (rs.next()){
val1 = rs.getString(1);
int val2 = Integer.parseInt(val1);
val2++;
CustNum.setText(String.valueOf(val2));
} catch (Exception e){
JOptionPane.showMessageDialog(null,"Cannot connect to database\n"+e,"Communication Error",JOptionPane.WARNING_MESSAGE);
try {
con.close();
} catch (Exception e){
JOptionPane.showMessageDialog(null,"Cannot close database\n"+e,"Error",JOptionPane.WARNING_MESSAGE);
//Adds the panel to the InternalFrame and display it
getContentPane().add(panel);
show();
//Here all action events are processed
public void actionPerformed(ActionEvent e) {
if (e.getSource() == Cancel){
dispose();
if (e.getSource() == Add){
ToDatabase();
//Here the document event is processed
public void adjust(DocumentEvent e){
Cell.setEnabled(e.getDocument().getLength()>0);
//Here the data will be sent to the database
public void ToDatabase() {
//Variables for the database
String dbuser = "";
String dbpasswd = "";
String DriverPrefix = "jdbc:odbc:";
String DataSource = "Video";
//SQL String for writing data to database
String SQLstring ="INSERT INTO Customers VALUES('"+CustNum.getText()+"', '"+CFName.getText()+"','"+CSName.getText()+"','"+Address1.getText()+"','"+Address2.getText()+"','"+City.getText()+"','"+PostCode.getText()+"','"+Tel.getText()+"','"+Cell.getText()+"')";
//Loads the driver for the database
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Error Loading driver\n"+e,"Driver Load Error",JOptionPane.WARNING_MESSAGE);
Statement stmt = null;
Connection con = null;
//Create a connection to the database.
try {
con = DriverManager.getConnection(DriverPrefix+DataSource,dbuser, dbpasswd);
stmt = con.createStatement();
}catch (Exception e) {
JOptionPane.showMessageDialog(null,"Cannot connect to Database\n"+e,"Connection Error",JOptionPane.WARNING_MESSAGE);
//Transfer data to database
try {
stmt.executeUpdate(SQLstring);
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"Cannot update database\n"+e,"Communication Error",JOptionPane.WARNING_MESSAGE);
dispose();
The error that I receive is this:
VideoShop/addCustomer.java [98:1] <anonymous VideoShop.addCustomer$1> is not abstract and does not override abstract method changedUpdate(javax.swing.event.DocumentEvent) in javax.swing.event.DocumentListener
public void insertUpdate(DocumentEvent e){ //ERROR////////////
^
1 error
Errors compiling addCustomer.
Is there a way around this or should I rewrite the whole class.
Thanks
Alexander -
Help with Times Table GUI applet
Hello,
I need help with an applet which inputs an integer from the user and displays the appropiate times table up to times 10 eg; user input 5 - display shows
5 time 1 is 5
5 times 2 is 10
5 times 10 is 50.
I have only managedt o get the display to show one statement eg 5 times 1 - I have tried using a for loop to show the whole table - but unlike a print statement each time the loop goes round it overwrites the data in the display box with the new data - any help would be much appreciated.
Note: it is for a programming course year 1 exercise - so I can only use basic constructs or loops to achieve this. Thanks in advance! Heres what I have so far:
import java.applet.* ;
import java.awt.* ;
import java.awt.event.* ;
public class TimesTableApplet extends Applet implements ActionListener
// Declare the GUI components globally
Label titleLabel, whichTableLabel ;
TextField whichTableBox, resultBox ;
Button showTableButton, clearButton ;
// Declare integer variables for holdind the number input by the user,
// the times number, and the result number
int whichTable, times=1, result ;
// Declare variables to hold string versions of the three integer variables
// above, for placing in the TextFields
String whichTableString, timesString, resultString ;
public void init ()
// Create the Labels
titleLabel = new Label ( "Times Table" ) ;
whichTableLabel = new Label ( "Which Table?" ) ;
// Create the TextFields
whichTableBox = new TextField ( 5 ) ;
resultBox = new TextField ( 30 ) ;
// Create the Buttons
showTableButton = new Button ( "Show Table" ) ;
clearButton = new Button ( "Clear" ) ;
// Add the components to the applet window
add ( titleLabel ) ;
add ( whichTableLabel ) ;
add ( whichTableBox ) ;
whichTableBox.addActionListener ( this ) ;
add ( resultBox ) ;
resultBox.setEditable ( false ) ;
add ( showTableButton ) ;
showTableButton.addActionListener ( this ) ;
add ( clearButton ) ;
clearButton.addActionListener ( this ) ;
} // End of init method
public void actionPerformed ( ActionEvent event )
// Find out which button generated the event
String arg = event.getActionCommand () ;
// If the user clicks the clear button, clear the whichTableBox and
// resultBox
if ( arg.equals ( "Clear" ) )
whichTableBox.setText ( "" ) ;
resultBox.setText ( "" ) ;
else
try
// Try extracting a string from the whichTableBox ( the users input )
// and converting it to an integer
whichTableString = whichTableBox.getText () ;
whichTable = Integer.parseInt ( whichTableString ) ;
// Clear status box
showStatus ( "" ) ;
// If the user clicks the showTableButton, display the appropiate
// times table up to times 10
if ( arg.equals ( "Show Table" ) ) ;
result = whichTable * times ;
timesString = Integer.toString ( times ) ;
resultString = Integer.toString ( result ) ;
resultBox.setText ( whichTableString + " times " + timesString + " is " + resultString ) ;
} // End of try block
catch ( NumberFormatException entry )
// Display error message and clear whichTableBox
showStatus ( "Error: Invalid Input - not an integer!" ) ;
whichTableBox.setText ( "" ) ;
} // End of catch block
} // End of else statement
} // End of actionPerformed method
} // End of classuse this code, please arrange your User interface correctly.
* TimesTableApplet.java
* Created on March 12, 2007, 12:08 PM
* @author cc.woon
import java.applet.* ;
import java.awt.* ;
import java.awt.event.* ;
public class TimesTableApplet extends Applet implements ActionListener
// Declare the GUI components globally
Label titleLabel, whichTableLabel ;
TextField whichTableBox ;
TextArea resultBox;
Button showTableButton, clearButton ;
// Declare integer variables for holdind the number input by the user,
// the times number, and the result number
int whichTable, times=1, result ;
// Declare variables to hold string versions of the three integer variables
// above, for placing in the TextFields
String whichTableString, timesString, resultString ;
public void init ()
// Create the Labels
titleLabel = new Label ( "Times Table" ) ;
whichTableLabel = new Label ( "Which Table?" ) ;
// Create the TextFields
whichTableBox = new TextField ( 5 ) ;
resultBox = new TextArea() ;
// Create the Buttons
showTableButton = new Button ( "Show Table" ) ;
clearButton = new Button ( "Clear" ) ;
// Add the components to the applet window
add ( titleLabel ) ;
add ( whichTableLabel ) ;
add ( whichTableBox ) ;
whichTableBox.addActionListener ( this ) ;
add ( resultBox ) ;
resultBox.setEditable ( false ) ;
add ( showTableButton ) ;
showTableButton.addActionListener ( this ) ;
add ( clearButton ) ;
clearButton.addActionListener ( this ) ;
} // End of init method
public void actionPerformed ( ActionEvent event )
// Find out which button generated the event
String arg = event.getActionCommand () ;
// If the user clicks the clear button, clear the whichTableBox and
// resultBox
if ( arg.equals ( "Clear" ) )
whichTableBox.setText ( "" ) ;
resultBox.setText ( "" ) ;
else
try
// Try extracting a string from the whichTableBox ( the users input )
// and converting it to an integer
whichTableString = whichTableBox.getText () ;
whichTable = Integer.parseInt ( whichTableString ) ;
// Clear status box
showStatus ( "" ) ;
// If the user clicks the showTableButton, display the appropiate
// times table up to times 10
if ( arg.equals ( "Show Table" ) ) ;
result = whichTable * times ;
timesString = Integer.toString ( times ) ;
String output = "";
for(int i =1;i<=10;i++){
output += whichTable +" times "+i + ": "+(i*whichTable)+"\n";
resultString = Integer.toString ( result ) ;
//resultBox.setText ( whichTableString + " times " + timesString + " is " + resultString ) ;
resultBox.setText ( output) ;
} // End of try block
catch ( NumberFormatException entry )
// Display error message and clear whichTableBox
showStatus ( "Error: Invalid Input - not an integer!" ) ;
whichTableBox.setText ( "" ) ;
} // End of catch block
} // End of else statement
} // End of actionPerformed method
} // End of class -
Help with if statement in cursor and for loop to get output
I have the following cursor and and want to use if else statement to get the output. The cursor is working fine. What i need help with is how to use and if else statement to only get the folderrsn that have not been updated in the last 30 days. If you look at the talbe below my select statement is showing folderrs 291631 was updated only 4 days ago and folderrsn 322160 was also updated 4 days ago.
I do not want these two to appear in my result set. So i need to use if else so that my result only shows all folderrsn that havenot been updated in the last 30 days.
Here is my cursor:
/*Cursor for Email procedure. It is working Shows userid and the string
You need to update these folders*/
DECLARE
a_user varchar2(200) := null;
v_assigneduser varchar2(20);
v_folderrsn varchar2(200);
v_emailaddress varchar2(60);
v_subject varchar2(200);
Cursor c IS
SELECT assigneduser, vu.emailaddress, f.folderrsn, trunc(f.indate) AS "IN DATE",
MAX (trunc(fpa.attemptdate)) AS "LAST UPDATE",
trunc(sysdate) - MAX (trunc(fpa.attemptdate)) AS "DAYS PAST"
--MAX (TRUNC (fpa.attemptdate)) - TRUNC (f.indate) AS "NUMBER OF DAYS"
FROM folder f, folderprocess fp, validuser vu, folderprocessattempt fpa
WHERE f.foldertype = 'HJ'
AND f.statuscode NOT IN (20, 40)
AND f.folderrsn = fp.folderrsn
AND fp.processrsn = fpa.processrsn
AND vu.userid = fp.assigneduser
AND vu.statuscode = 1
GROUP BY assigneduser, vu.emailaddress, f.folderrsn, f.indate
ORDER BY fp.assigneduser;
BEGIN
FOR c1 IN c LOOP
IF (c1.assigneduser = v_assigneduser) THEN
dbms_output.put_line(' ' || c1.folderrsn);
else
dbms_output.put(c1.assigneduser ||': ' || 'Overdue Folders:You need to update these folders: Folderrsn: '||c1.folderrsn);
END IF;
a_user := c1.assigneduser;
v_assigneduser := c1.assigneduser;
v_folderrsn := c1.folderrsn;
v_emailaddress := c1.emailaddress;
v_subject := 'Subject: Project for';
END LOOP;
END;
The reason I have included the folowing table is that I want you to see the output from the select statement. that way you can help me do the if statement in the above cursor so that the result will look like this:
emailaddress
Subject: 'Project for ' || V_email || 'not updated in the last 30 days'
v_folderrsn
v_folderrsn
etc
[email protected]......
Subject: 'Project for: ' Jim...'not updated in the last 30 days'
284087
292709
[email protected].....
Subject: 'Project for: ' Kim...'not updated in the last 30 days'
185083
190121
190132
190133
190159
190237
284109
286647
294631
322922
[email protected]....
Subject: 'Project for: Joe...'not updated in the last 30 days'
183332
183336
[email protected]......
Subject: 'Project for: Sam...'not updated in the last 30 days'
183876
183877
183879
183880
183881
183882
183883
183884
183886
183887
183888
This table is to shwo you the select statement output. I want to eliminnate the two days that that are less than 30 days since the last update in the last column.
Assigneduser....Email.........Folderrsn...........indate.............maxattemptdate...days past since last update
JIM......... jim@ aol.com.... 284087............. 9/28/2006.......10/5/2006...........690
JIM......... jim@ aol.com.... 292709............. 3/20/2007.......3/28/2007............516
KIM......... kim@ aol.com.... 185083............. 8/31/2004.......2/9/2006............. 928
KIM...........kim@ aol.com.... 190121............. 2/9/2006.........2/9/2006.............928
KIM...........kim@ aol.com.... 190132............. 2/9/2006.........2/9/2006.............928
KIM...........kim@ aol.com.... 190133............. 2/9/2006.........2/9/2006.............928
KIM...........kim@ aol.com.... 190159............. 2/13/2006.......2/14/2006............923
KIM...........kim@ aol.com.... 190237............. 2/23/2006.......2/23/2006............914
KIM...........kim@ aol.com.... 284109............. 9/28/2006.......9/28/2006............697
KIM...........kim@ aol.com.... 286647............. 11/7/2006.......12/5/2006............629
KIM...........kim@ aol.com.... 294631............. 4/2/2007.........3/4/2008.............174
KIM...........kim@ aol.com.... 322922............. 7/29/2008.......7/29/2008............27
JOE...........joe@ aol.com.... 183332............. 1/28/2004.......4/23/2004............1585
JOE...........joe@ aol.com.... 183336............. 1/28/2004.......3/9/2004.............1630
SAM...........sam@ aol.com....183876.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183877.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183879.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183880.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183881.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183882.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183883.............3/5/2004.........3/8/2004.............1631
SAM...........sam@ aol.com....183884.............3/5/2004.........3/8/2004............ 1631
SAM...........sam@ aol.com....183886.............3/5/2004.........3/8/2004............ 1631
SAM...........sam@ aol.com....183887.............3/5/2004.........3/8/2004............ 1631
SAM...........sam@ aol.com....183888.............3/5/2004.........3/8/2004............ 1631
PAT...........pat@ aol.com.....291630.............2/23/2007.......7/8/2008............ 48
PAT...........pat@ aol.com.....313990.............2/27/2008.......7/28/2008............28
NED...........ned@ aol.com.....190681.............4/4/2006........8/10/2006............746
NED...........ned@ aol.com......95467.............6/14/2006.......11/6/2006............658
NED...........ned@ aol.com......286688.............11/8/2006.......10/3/2007............327
NED...........ned@ aol.com.....291631.............2/23/2007.......8/21/2008............4
NED...........ned@ aol.com.....292111.............3/7/2007.........2/26/2008............181
NED...........ned@ aol.com.....292410.............3/15/2007.......7/22/2008............34
NED...........ned@ aol.com.....299410.............6/27/2007.......2/27/2008............180
NED...........ned@ aol.com.....303790.............9/19/2007.......9/19/2007............341
NED...........ned@ aol.com.....304268.............9/24/2007.......3/3/2008............ 175
NED...........ned@ aol.com.....308228.............12/6/2007.......12/6/2007............263
NED...........ned@ aol.com.....316689.............3/19/2008.......3/19/2008............159
NED...........ned@ aol.com.....316789.............3/20/2008.......3/20/2008............158
NED...........ned@ aol.com.....317528.............3/25/2008.......3/25/2008............153
NED...........ned@ aol.com.....321476.............6/4/2008.........6/17/2008............69
NED...........ned@ aol.com.....322160.............7/3/2008.........8/21/2008............4
MOE...........moe@ aol.com.....184169.............4/5/2004.......12/5/2006............629
[email protected]/27/2004.......3/8/2004............1631
How do I incorporate a if else statement in the above cursor so the two days less than 30 days since last update are not returned. I do not want to send email if the project have been updated within the last 30 days.
Edited by: user4653174 on Aug 25, 2008 2:40 PManalytical functions: http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96540/functions2a.htm#81409
CASE
http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#36899
http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/04_struc.htm#5997
Incorporating either of these into your query should assist you in returning the desired results.
Maybe you are looking for
-
Hi, I have an desktop application and the following are the functionalities of the same. 1. User inputs the data file with path (log file) to parse the required data. 2. Once the user enters the path and starts the tool with start button, the tool pa
-
I'm trying to create a cover for my magazine that has a chalk board with writing on. I want the user to be able to erase the writing with their finger but can't figure out how to do it. All i can do is draw a solid colour over the top. What i want i
-
Hello, We are looking for a Query that will show all of our items and monthly sale by Qty and Amt. This includes items that do not have sales for that month - those fields would just be left blank. So, header would be... Item #...Jan Qty...Feb Qty..
-
HT4061 I dropped my phone in the toilet and now is not working. What should I do?
I dropped my phone in the toilet and now is not working. What should I do?
-
I now I can boost the audio levels in the timeline but what is a good range for the recorded audio levels when they first come in to FCP ? I have footage that's coming in at -2.4 dbs and peaking a little above that and under -1.8 I assume this is low