Java Forums

Main Menu
Home
Today's Posts
FAQ
Search
Contact Us

Java Network
Java Tips
Java Tips Blog

Sponsored Links





Welcome to the Java Forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community, you will:

  • have access to post topics
  • communicate privately with other members (PM)
  • not see advertisements between posts
  • have the possibility to earn one of our surprises if you are an active member
  • access many other special features that will be introduced later.

Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact us.

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 11-02-2007, 07:59 PM
Member
 
Join Date: Jul 2007
Posts: 46
adlb1300 is on a distinguished road
Need Help With Button Events
I'm trying to create an application that utilizes a form to gather info from the user. The form has 4 buttons - start, exit, clear and search. I'm trying to program the appropriate actions for these buttons but no matter what I also have an error. When I have tried to compile I get and error to the effect that the variable is non-static and cannot be run.

Can anybody help me out?

Code:
import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class FlightInterface { /** * @param args the command line arguments */ public static void main(String[] args) { JLabel title = new JLabel("Flight Info"); title.setFont(new Font("Serif", Font.BOLD, 30)); JPanel bannerPanel = new JPanel(); bannerPanel.setPreferredSize(new Dimension(300, 50)); bannerPanel.add(title); JTextField nameInputField = new JTextField(); JLabel inputAirlineName = new JLabel("Airline Name: "); inputAirlineName.setFont(new Font("Serif", Font.PLAIN, 14)); JPanel namePanel = new JPanel(); namePanel.setLayout(new BoxLayout(namePanel, BoxLayout.X_AXIS)); namePanel.setPreferredSize(new Dimension(200, 20)); namePanel.add(inputAirlineName); namePanel.add(nameInputField); JLabel inputFlightNum = new JLabel("Flight Number: "); inputFlightNum.setFont(new Font("Serif", Font.PLAIN, 14)); JTextField flightNumField = new JTextField(); JPanel flightNumPanel = new JPanel(); flightNumPanel.setLayout(new BoxLayout(flightNumPanel, BoxLayout.X_AXIS)); flightNumPanel.setPreferredSize(new Dimension(200, 20)); flightNumPanel.add(inputFlightNum); flightNumPanel.add(flightNumField); JLabel inputOrigin = new JLabel("City of Origin: "); inputOrigin.setFont(new Font("Serif", Font.PLAIN, 14)); JTextField originField = new JTextField(); JPanel originPanel = new JPanel(); originPanel.setLayout(new BoxLayout(originPanel, BoxLayout.X_AXIS)); originPanel.setPreferredSize(new Dimension(200, 20)); originPanel.add(inputOrigin); originPanel.add(originField); JLabel inputDestination = new JLabel("Destination City: "); inputDestination.setFont(new Font("Serif", Font.PLAIN, 14)); JTextField destinationField = new JTextField(); JPanel destinationPanel = new JPanel(); destinationPanel.setLayout(new BoxLayout(destinationPanel, BoxLayout.X_AXIS)); destinationPanel.setPreferredSize(new Dimension(200, 20)); destinationPanel.add(inputDestination); destinationPanel.add(destinationField); JPanel blankPanel = new JPanel(); blankPanel.setLayout(new BoxLayout(blankPanel, BoxLayout.X_AXIS)); blankPanel.setPreferredSize(new Dimension(200, 20)); JButton startButton = new JButton("Get Data"); startButton.setFont(new Font("Serif", Font.PLAIN, 14)); JButton exitButton = new JButton("Exit"); exitButton.setFont(new Font("Serif", Font.PLAIN, 14)); JButton searchButton = new JButton("Search"); searchButton.setFont(new Font("Serif", Font.PLAIN, 14)); JButton clearButton = new JButton("Clear"); clearButton.setFont(new Font("Serif", Font.PLAIN, 14)); JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS)); buttonPanel.setPreferredSize(new Dimension(250, 20)); buttonPanel.add(startButton); buttonPanel.add(clearButton); buttonPanel.add(searchButton); buttonPanel.add(exitButton); JPanel mainPanel = new JPanel(); mainPanel.add(bannerPanel, BorderLayout.NORTH); mainPanel.add(namePanel, BorderLayout.CENTER); mainPanel.add(flightNumPanel, BorderLayout.CENTER); mainPanel.add(originPanel, BorderLayout.CENTER); mainPanel.add(destinationPanel, BorderLayout.CENTER); mainPanel.add(blankPanel, BorderLayout.CENTER); mainPanel.add(buttonPanel, BorderLayout.SOUTH); JFrame f = new JFrame(); // creates new instance of JFrame so graph can be displayed f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // tells JFrame to close on exit f.getContentPane().add(mainPanel); f.setSize(300, 265); // sets size of JFrame f.setLocation(200, 200); // sets location of JFrame f.setVisible(true); // makes JFrame visible } // end main } // end class
Thanks
Bookmark Post in Technorati
Reply With Quote
Sponsored Links
  #2 (permalink)  
Old 11-02-2007, 09:04 PM
Senior Member
 
Join Date: Jul 2007
Posts: 1,022
hardwired is on a distinguished road
Your code compiles and runs okay. Here's a suggestion.
Code:
import java.awt.*; import javax.swing.*; public class FI { private JPanel getContent() { JLabel title = new JLabel("Flight Info"); title.setFont(new Font("Serif", Font.BOLD, 30)); JPanel bannerPanel = new JPanel(); bannerPanel.setPreferredSize(new Dimension(300, 50)); bannerPanel.add(title); JTextField nameInputField = new JTextField(); JLabel inputAirlineName = new JLabel("Airline Name: "); inputAirlineName.setFont(new Font("Serif", Font.PLAIN, 14)); JPanel namePanel = new JPanel(); namePanel.setLayout(new BoxLayout(namePanel, BoxLayout.X_AXIS)); namePanel.setPreferredSize(new Dimension(200, 20)); namePanel.add(inputAirlineName); namePanel.add(nameInputField); JLabel inputFlightNum = new JLabel("Flight Number: "); inputFlightNum.setFont(new Font("Serif", Font.PLAIN, 14)); JTextField flightNumField = new JTextField(); JPanel flightNumPanel = new JPanel(); flightNumPanel.setLayout(new BoxLayout(flightNumPanel, BoxLayout.X_AXIS)); flightNumPanel.setPreferredSize(new Dimension(200, 20)); flightNumPanel.add(inputFlightNum); flightNumPanel.add(flightNumField); JLabel inputOrigin = new JLabel("City of Origin: "); inputOrigin.setFont(new Font("Serif", Font.PLAIN, 14)); JTextField originField = new JTextField(); JPanel originPanel = new JPanel(); originPanel.setLayout(new BoxLayout(originPanel, BoxLayout.X_AXIS)); originPanel.setPreferredSize(new Dimension(200, 20)); originPanel.add(inputOrigin); originPanel.add(originField); JLabel inputDestination = new JLabel("Destination City: "); inputDestination.setFont(new Font("Serif", Font.PLAIN, 14)); JTextField destinationField = new JTextField(); JPanel destinationPanel = new JPanel(); destinationPanel.setLayout(new BoxLayout(destinationPanel, BoxLayout.X_AXIS)); destinationPanel.setPreferredSize(new Dimension(200, 20)); destinationPanel.add(inputDestination); destinationPanel.add(destinationField); JPanel blankPanel = new JPanel(); blankPanel.setLayout(new BoxLayout(blankPanel, BoxLayout.X_AXIS)); blankPanel.setPreferredSize(new Dimension(200, 20)); JButton startButton = new JButton("Get Data"); startButton.setFont(new Font("Serif", Font.PLAIN, 14)); JButton exitButton = new JButton("Exit"); exitButton.setFont(new Font("Serif", Font.PLAIN, 14)); JButton searchButton = new JButton("Search"); searchButton.setFont(new Font("Serif", Font.PLAIN, 14)); JButton clearButton = new JButton("Clear"); clearButton.setFont(new Font("Serif", Font.PLAIN, 14)); JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS)); // buttonPanel.setPreferredSize(new Dimension(250, 20)); buttonPanel.add(startButton); buttonPanel.add(clearButton); buttonPanel.add(searchButton); buttonPanel.add(exitButton); JPanel mainPanel = new JPanel(); System.out.println("JPanel default layout manager = " + mainPanel.getLayout().getClass().getName()); mainPanel.add(bannerPanel, BorderLayout.NORTH); mainPanel.add(namePanel, BorderLayout.CENTER); mainPanel.add(flightNumPanel, BorderLayout.CENTER); mainPanel.add(originPanel, BorderLayout.CENTER); mainPanel.add(destinationPanel, BorderLayout.CENTER); mainPanel.add(blankPanel, BorderLayout.CENTER); mainPanel.add(buttonPanel, BorderLayout.SOUTH); return mainPanel; } public static void main(String[] args) { // Using the variable "app" will help avoid problems // with the static modifier in your class. FI app = new FI(); // creates new instance of JFrame so graph can be displayed JFrame f = new JFrame(); // tells JFrame to close on exit f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(app.getContent()); f.setSize(300, 265); // sets size of JFrame f.setLocation(200, 200); // sets location of JFrame f.setVisible(true); // makes JFrame visible } // end main } // end class
Bookmark Post in Technorati
Reply With Quote
  #3 (permalink)  
Old 11-02-2007, 09:11 PM
Member
 
Join Date: Jul 2007
Posts: 46
adlb1300 is on a distinguished road
Hardwired,

I will give it a try. Thanks for the tip. I'm starting to get it as I actually handcoded the form which I was quite impressed with myself for.
Bookmark Post in Technorati
Reply With Quote
  #4 (permalink)  
Old 11-02-2007, 10:07 PM
Member
 
Join Date: Jul 2007
Posts: 46
adlb1300 is on a distinguished road
Hardwired,

I'm still getting error messages but at least they are different ones. Here is the code I have. I'm just trying to code the exit button first and once I figured that out I thought I would add in the others.

Code:
import java.awt.*; import javax.swing.*; public class FlightInterface { private JPanel getContent() { JLabel title = new JLabel("Flight Info"); title.setFont(new Font("Serif", Font.BOLD, 30)); JPanel bannerPanel = new JPanel(); bannerPanel.setPreferredSize(new Dimension(300, 50)); bannerPanel.add(title); JTextField nameInputField = new JTextField(); JLabel inputAirlineName = new JLabel("Airline Name: "); inputAirlineName.setFont(new Font("Serif", Font.PLAIN, 14)); JPanel namePanel = new JPanel(); namePanel.setLayout(new BoxLayout(namePanel, BoxLayout.X_AXIS)); namePanel.setPreferredSize(new Dimension(200, 20)); namePanel.add(inputAirlineName); namePanel.add(nameInputField); JLabel inputFlightNum = new JLabel("Flight Number: "); inputFlightNum.setFont(new Font("Serif", Font.PLAIN, 14)); JTextField flightNumField = new JTextField(); JPanel flightNumPanel = new JPanel(); flightNumPanel.setLayout(new BoxLayout(flightNumPanel, BoxLayout.X_AXIS)); flightNumPanel.setPreferredSize(new Dimension(200, 20)); flightNumPanel.add(inputFlightNum); flightNumPanel.add(flightNumField); JLabel inputOrigin = new JLabel("City of Origin: "); inputOrigin.setFont(new Font("Serif", Font.PLAIN, 14)); JTextField originField = new JTextField(); JPanel originPanel = new JPanel(); originPanel.setLayout(new BoxLayout(originPanel, BoxLayout.X_AXIS)); originPanel.setPreferredSize(new Dimension(200, 20)); originPanel.add(inputOrigin); originPanel.add(originField); JLabel inputDestination = new JLabel("Destination City: "); inputDestination.setFont(new Font("Serif", Font.PLAIN, 14)); JTextField destinationField = new JTextField(); JPanel destinationPanel = new JPanel(); destinationPanel.setLayout(new BoxLayout(destinationPanel, BoxLayout.X_AXIS)); destinationPanel.setPreferredSize(new Dimension(200, 20)); destinationPanel.add(inputDestination); destinationPanel.add(destinationField); JPanel blankPanel = new JPanel(); blankPanel.setLayout(new BoxLayout(blankPanel, BoxLayout.X_AXIS)); blankPanel.setPreferredSize(new Dimension(200, 20)); JButton startButton = new JButton("Get Data"); startButton.setFont(new Font("Serif", Font.PLAIN, 14)); JButton exitButton = new JButton("Exit"); exitButton.setFont(new Font("Serif", Font.PLAIN, 14)); JButton searchButton = new JButton("Search"); searchButton.setFont(new Font("Serif", Font.PLAIN, 14)); JButton clearButton = new JButton("Clear"); clearButton.setFont(new Font("Serif", Font.PLAIN, 14)); JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS)); buttonPanel.add(startButton); buttonPanel.add(clearButton); buttonPanel.add(searchButton); buttonPanel.add(exitButton); exitButton.addActionListener(this); JPanel mainPanel = new JPanel(); System.out.println("JPanel default layout manager = " + mainPanel.getLayout().getClass().getName()); mainPanel.add(bannerPanel, BorderLayout.NORTH); mainPanel.add(namePanel, BorderLayout.CENTER); mainPanel.add(flightNumPanel, BorderLayout.CENTER); mainPanel.add(originPanel, BorderLayout.CENTER); mainPanel.add(destinationPanel, BorderLayout.CENTER); mainPanel.add(blankPanel, BorderLayout.CENTER); mainPanel.add(buttonPanel, BorderLayout.SOUTH); return mainPanel; } public void actionPerformed(ActionEvent e){ if(e.getSource() == exitButton){ System.exit(0); } } public static void main(String[] args) { // Using the variable "app" will help avoid problems // with the static modifier in your class. FlightInterface app = new FlightInterface(); JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(app.getContent()); f.setSize(300, 265); // sets size of JFrame f.setLocation(200, 200); // sets location of JFrame f.setVisible(true); // makes JFrame visible } // end main }
Here are the error messages that I get:

E:\Intro OOP\FlightInterface\src\flightinterface\FlightInte rface.java:84: illegal start of expression
public void actionPerformed(ActionEvent e){
E:\Intro OOP\FlightInterface\src\flightinterface\FlightInte rface.java:89: ';' expected
}

Thanks for your help
Bookmark Post in Technorati
Reply With Quote
  #5 (permalink)  
Old 11-02-2007, 11:39 PM
Senior Member
 
Join Date: Jul 2007
Posts: 1,022
hardwired is on a distinguished road
I copied, pasted (into a new folder) and compiled your last posted code and got these in the console:
Code:
C:\jexp\flightInterface>javac FlightInterface.java FlightInterface.java:84: cannot find symbol symbol : class ActionEvent location: class FlightInterface public void actionPerformed(ActionEvent e){ ^ FlightInterface.java:69: addActionListener(java.awt.event.ActionListener) in jav ax.swing.AbstractButton cannot be applied to (FlightInterface) exitButton.addActionListener(this); ^ FlightInterface.java:85: cannot find symbol symbol : variable exitButton location: class FlightInterface if(e.getSource() == exitButton){ ^ 3 errors
Make the following changes to compile and run okay:
Code:
// Add import statement. import java.awt.event.*; // Implement ActionListener so "this" can be an ActionListener public class FlightInterface implements ActionListener { // Declare exitButton as a member variable. // This puts it in class scope where it can be // accessed inside the actionPerformed method. JButton exitButton; startButton.setFont(new Font("Serif", Font.PLAIN, 14)); // Remove the type declaration from the instantiation so // that exitButton is not a local variable hiding the // member variable (of the same name) which would remain // uninstantiated and thus have a value of null, causing // NullPointerExceptions when you try to access it in // the actionPerformed method. exitButton = new JButton("Exit");
I did not get the compile errors you reported. The console errors give the line number of the trouble to help track it down. Maybe you omitted a semi-colon somewhere above the actionPerformed method.
Bookmark Post in Technorati
Reply With Quote
  #6 (permalink)  
Old 11-03-2007, 06:36 AM
Member
 
Join Date: Jul 2007
Posts: 46
adlb1300 is on a distinguished road
Hardwired once again you come through for me. I had the closing bracket for the JPanel method after the ActionPerformed method instead of before. I changed that and made the changes you suggested before and now it works. Thanks
Bookmark Post in Technorati
Reply With Quote
Sponsored Links
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to get the Call events in J2ME krmlkr CLDC and MIDP 1 03-08-2008 10:39 AM
SWT Events JavaForums Java Blogs 0 12-31-2007 05:53 PM
Help with keyboard events? Bibendum New To Java 2 11-02-2007 03:51 AM
To capture events with struts Ed Web Frameworks 2 07-04-2007 07:01 AM
Help, events in Jbutton class Heather Java Applets 2 06-30-2007 05:32 PM


All times are GMT +3. The time now is 07:48 AM.


VBulletin, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2006 - 2007, www.java-forums.org