Blizzhackers

Return of the Jedi

* Login   * Register    * FAQ    * Search

Join us on IRC: #bh@irc.synirc.net (or Mibbit Web IRC)


MuleFactory


It is currently Wed Jun 19, 2013 12:22 pm


All times are UTC [ DST ]





Post new topic Reply to topic  [ 3 posts ] 
Author Message
 Post subject: [Java]AutoSelect
PostPosted: Mon Jan 17, 2011 3:56 am 
 
User
User

Joined: Thu Dec 24, 2009 2:33 am
Ok, so i made this inner class:
class AutoSelect extends  FocusAdapter {
   public void focusGained(FocusEvent e)
         {
            if (e.getComponent() instanceof JTextField)
            {
               JTextField t = (JTextField) e.getComponent();
               t.selectAll();
            }
         }
   }


but can't figure out how to pass to it and use it. I basically need my JTextField (scoreTextField) to auto select the stuff inside the text box. (the user clicks it and it will select all text in the box without them having to manually click and drag over it.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;
import java.lang.Math;

public class StudentScoresApp   {
    public static void main(String[] args)       {
      
      System.out.println("  List of Student Scores Entered");
        JFrame frame = new StudentScoresFrame();
        frame.setVisible(true);
    }


class AutoSelect extends  FocusAdapter {
   public void focusGained(FocusEvent e)
         {
            if (e.getComponent() instanceof JTextField)
            {
               JTextField t = (JTextField) e.getComponent();
               t.selectAll();
            }
         }
   }
}
class StudentScoresFrame extends JFrame      {
    public StudentScoresFrame()      {
        setTitle("Test Scores");
        setSize(310, 220);
        centerWindow(this);
        setResizable(false);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel panel = new StudentScoresPanel();
        this.add(panel);
    }
private void centerWindow(Window w) {
   Toolkit tk = Toolkit.getDefaultToolkit();
   Dimension d = tk.getScreenSize();
   setLocation((d.width-w.getWidth())/2, (d.height-w.getHeight())/2);
   }
}
class StudentScoresPanel extends JPanel implements ActionListener   {
    private JTextField  scoreTextField,
                        countTextField,
                        averageTextField,
                        bestTextField,
                        lowestTextField;
    private JLabel      scoreLabel,
                        countLabel,
                        averageLabel,
                        bestLabel,
                        lowestLabel;
    private JButton     enterScoreButton,
                   clearButton,
                        exitButton;

   private int count = 0;

   private double total = 0;

   // total is a double to prevent truncation when
   // calculating the average
   private double average = 0;
   private int best = 0;
   private int lowest = 100;

    public StudentScoresPanel()      {
        // display panel
        JPanel displayPanel = new JPanel();
        displayPanel.setLayout(new FlowLayout(FlowLayout.LEFT));


        // score label
        scoreLabel = new JLabel("Test Score:");
        displayPanel.add(scoreLabel);

        // score text field
        scoreTextField = new JTextField(13);
        displayPanel.add(scoreTextField);
      scoreTextField.addActionListener(this);


        // count label
        countLabel = new JLabel("Number of Scores:");
        displayPanel.add(countLabel);

        // count text field
        countTextField = new JTextField(10);
        countTextField.setEditable(false);
        countTextField.setFocusable(false);
        displayPanel.add(countTextField);

        // average label
        averageLabel = new JLabel("Average Score:");
        displayPanel.add(averageLabel);

        // average text field
        averageTextField = new JTextField(13);
        averageTextField.setEditable(false);
        averageTextField.setFocusable(false);
        displayPanel.add(averageTextField);

        // best label
        bestLabel = new JLabel("Highest score:");
        displayPanel.add(bestLabel);

        // best text field
        bestTextField = new JTextField(12);
        bestTextField.setEditable(false);
        bestTextField.setFocusable(false);
        displayPanel.add(bestTextField);

        // lowest label
        lowestLabel = new JLabel("Lowest score:");
        displayPanel.add(lowestLabel);

        // lowest text field
        lowestTextField = new JTextField(10);
        lowestTextField.setEditable(false);
        lowestTextField.setFocusable(false);
        displayPanel.add(lowestTextField);

        // button panel
        JPanel buttonPanel = new JPanel();
        buttonPanel.setLayout(new FlowLayout(FlowLayout.LEFT));

        // enter score button
        enterScoreButton = new JButton("Enter Score");
        enterScoreButton.addActionListener(this);
        buttonPanel.add(enterScoreButton);

        // clear button
        clearButton = new JButton("End/Clear Entries");
        clearButton.addActionListener(this);
        buttonPanel.add(clearButton);

        // exit button
        exitButton = new JButton("Exit");
        exitButton.addActionListener(this);
        buttonPanel.add(exitButton);

        // add panels to main panel
        this.setLayout(new BorderLayout());
        this.add(displayPanel, BorderLayout.CENTER);
        this.add(buttonPanel, BorderLayout.SOUTH);
    }

    public void actionPerformed(ActionEvent e)   {
        Object source = e.getSource();
        if (source == exitButton){
           if (count == 0){
            lowest = 0;}

         NumberFormat ef = NumberFormat.getNumberInstance();
            ef = new DecimalFormat("###.00");
         System.out.println("\n  Highest: " + best + "  Lowest: " + lowest + "  Average: " + ef.format(average) + "\n");

            System.out.printf("  Program terminated by the User.");
            System.out.printf("\n");
            System.exit(0);

            System.exit(0);
      }
      else if (source == enterScoreButton)   {
            // parse the score
            int score = Integer.parseInt(scoreTextField.getText());
            // Validate the number is in proper range
            if (score < 0)
               JOptionPane.showMessageDialog(null, "The lowest possible score for data entry is 0-Points. Please re-enter.", "Invalid Entry", JOptionPane.ERROR_MESSAGE);

         if (score > 100)
            JOptionPane.showMessageDialog(null, "The highest possible score for data entry is 100-Points. Please re-enter.", "Invalid Entry", JOptionPane.ERROR_MESSAGE);
         else
         // calculate the results
            total += score;
            count++;
            average = total / count;
            if (score > best)
               best = score;

            if (score < lowest)
               lowest = score;

         NumberFormat df = NumberFormat.getNumberInstance();
            NumberFormat nf = NumberFormat.getNumberInstance();
            df = new DecimalFormat("###.00");
            countTextField.setText(nf.format(count));
            averageTextField.setText(df.format(average));
            bestTextField.setText(nf.format(best));
            lowestTextField.setText(nf.format(lowest));
            System.out.println("  " + nf.format(count) + ". " + score);
         scoreTextField.selectAll();
        }
        else if (source == clearButton)      {
         if (count == 0)
            lowest = 0;
         NumberFormat df = NumberFormat.getNumberInstance();
            df = new DecimalFormat("###.00");
         System.out.println("\n  Highest: " + best + "  Lowest: " + lowest + "  Average: " + df.format(average) + "\n");
         System.out.println("  Scores were cleared...\n  Next Set:");
         count = 0;
         total = 0;
         average = 0;
         best = 0;
         lowest = 0;

            scoreTextField.setText("");
         countTextField.setText("");
            averageTextField.setText("");
            bestTextField.setText("");
            lowestTextField.setText("");
      }

    }
}

Top
 Profile  
 Post subject: Re: [Java]AutoSelect
PostPosted: Mon Jan 17, 2011 11:44 pm 
 
User
User

Joined: Thu Dec 24, 2009 2:33 am
Can anyone point me in the right direction? I tried to pass it to it but I don't think I can from the JPanel...ugh
:facepalm:

Top
 Profile  
 Post subject: Re: [Java]AutoSelect
PostPosted: Wed Feb 02, 2011 5:58 pm 
 
User
User

Joined: Wed Jan 01, 2003 5:24 am
object.addFocusListener(new AutoSelect());

Top
 Profile  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron