hi i'm having trouble with my button could someone help me with this please
thanks
Code:if (e.getSource() == ten)
paid=paid + 10;
amount =amount - 10;
if (ticket<paid)
{
change=ticket-paid;
}
Printable View
hi i'm having trouble with my button could someone help me with this please
thanks
Code:if (e.getSource() == ten)
paid=paid + 10;
amount =amount - 10;
if (ticket<paid)
{
change=ticket-paid;
}
What's the problem? All you've done is show a small snippet and state that you have a problem. Specific questions are needed to give you good answers.
sorry about that basically i've been creating a button inwhich once clicked it will put the number 10 into a textarea box which i've called paid. with this it will take away how much that was paid from the textarea i've called ticket and thus once clicked it will pay 10
the errors i've been getting are the following when i compile it
---------- javac ----------
ticket.java:127: operator + cannot be applied to javax.swing.JTextField,int
paid=paid + 10;
^
ticket.java:129: operator < cannot be applied to javax.swing.JTextField,javax.swing.JTextField
if (ticket<paid)
^
ticket.java:131: operator - cannot be applied to javax.swing.JTextField,javax.swing.JTextField
change=ticket-paid;
^
Still not enough information.
Post your Short, Self Contained, Correct Example that demonstrates the problem.
If you want to modify a text field, you must use the proper methods to access them. Here is a quick calculator example:
Code:import javax.swing.*;
import java.awt.event.*;
public class GUICalc{
private JFrame frame;
private JPanel panel;
private JButton add;
private JTextField addend;
private JTextField rValue;
private JLabel sum;
private JLabel equals;
private JLabel plus;
public GUICalc(){
frame = new JFrame("Calculater");
panel = new JPanel();
addend = new JTextField(5);
rValue = new JTextField(5);
sum = new JLabel("0");
equals = new JLabel(" = ");
plus = new JLabel(" + ");
add = new JButton("Add");
add.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int l = (addend.getText().equals("")) ? 0 : Integer.parseInt(addend.getText());
int r = (rValue.getText().equals("")) ? 0 : Integer.parseInt(rValue.getText());
sum.setText(l + r + "");
frame.pack();
}
});
panel.add(addend);
panel.add(plus);
panel.add(rValue);
panel.add(equals);
panel.add(sum);
panel.add(add);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args){
GUICalc gc = new GUICalc();
}
}
this is what i'm trying to do with most of the buttons from the code are gone so theres only one
Code:import static javax.swing.JOptionPane.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import javax.swing.*;
import java.text.DecimalFormat;
public class ticket1 extends JFrame implements ActionListener {
static final double SINGLE = 1.40;
static final double RETURN = 2.40;
static final double ZONE_A = 3.80;
static final double ZONE_A_B = 5.50;
DecimalFormat pounds = new DecimalFormat("£0.00");
String id;
JTextField ticket = new JTextField(5);
JTextField stp = new JTextField(5);
int amount = 0;
JTextField change = new JTextField(5);
JTextField paid = new JTextField(5);
JButton ten = new JButton("10p");
JButton cancel = new JButton("Cancel");
JRadioButton single = new JRadioButton("single (£1.40)",true);
JRadioButton Return = new JRadioButton("return (£2.40)",true);
JRadioButton zoneA = new JRadioButton("Zone A (£3.80)",true);
JRadioButton zoneAB = new JRadioButton("Zone A B (£5.50)",true);
ButtonGroup type =new ButtonGroup();
// The spinner gives values from 1 to 10.
// Spinners allow safe entry of a number in a range.
JSpinner numtick = new JSpinner(new SpinnerNumberModel(1, 0, 10, 1));
int stpno = 0;
private int size = 0;
public static void main(String[] args)
{
new ticket1();
}
public ticket1()
{
setLayout(new BorderLayout());
setSize(700, 150);
setTitle("Redwich Trams - Ticket Machine");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel top = new JPanel();
top.setLayout(new FlowLayout());
top.add(new JLabel("Ticket Type: "));
type.add(single);
type.add(Return);
type.add(zoneA);
type.add(zoneAB);
top.add(single);
top.add(Return);
top.add(zoneA);
top.add(zoneAB);
top.add(new JLabel(" Tickets"));
top.add(numtick);
single.addActionListener(this);
Return.addActionListener(this);
zoneA.addActionListener(this);
zoneAB.addActionListener(this);
add("North", top);
setVisible(true);
JPanel middle = new JPanel();
middle.setLayout(new FlowLayout());
middle.add(new JLabel("Ticket Type: "));
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
middle.add(ten);
middle.add(cancel);
ten.addActionListener(this);
cancel.addActionListener(this);
add("Center", middle);
setVisible(true);
JPanel bottom = new JPanel();
bottom.setLayout(new FlowLayout());
bottom.add(new JLabel(" Ticket Cost:"));
bottom.add(ticket);
bottom.add(new JLabel(" Amount Paid:"));
bottom.add(paid);
bottom.add(new JLabel(" Amount Still To Pay:"));
bottom.add(stp);
stp.setEditable(false);
bottom.add(new JLabel(" Change:"));
bottom.add(change);
ticket.setEditable(false);
paid.setEditable(false);
change.setEditable(false);
ticket.setText("£0.00");
stp.setText("£0.00");
change.setText("£0.00");
paid.setText("£0.00");
add("South", bottom);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
{
if (e.getSource() == ten)
paid=paid + 10;
amount =amount - 10;
if (ticket<paid)
{
change=ticket-paid;
}
{
double tp = 0;
int noticket = Integer.parseInt(""+numtick.getValue());
if (single.isSelected()) tp = 1.40;
{
ticket.setText(pounds.format(tp));
stp.setText(pounds.format(tp));
}
if (Return.isSelected()) tp = 2.40;
{
ticket.setText(pounds.format(tp));
stp.setText(pounds.format(tp));
}
if (zoneA.isSelected()) tp = 3.80;
{
ticket.setText(pounds.format(tp));
stp.setText(pounds.format(tp));
}
if (zoneAB.isSelected()) tp = 5.50;
{
ticket.setText(pounds.format(tp));
stp.setText(pounds.format(tp));
}
{
if (e.getSource() == cancel);
ticket.setText("£0.00");
stp.setText("£0.00");
change.setText("£0.00");
paid.setText("£0.00");
}
}
}
}
}
The posted code doesn't compile.
Your question is about a button and a text field. So create your SSCCE from scratch. It should contain only a text field and a button. When you click on the button some text is displayed in the text field. Then you add a second button. Start small and build big instead of writing the entire program first and then start debugging it.