I'm having difficulty implementing keyboard and mouse event handlers at the same time for a program designed to notify the user when a key has been pressed or a mouse button clicked.
I can make and understand a program that does one or the other, but when I try to combine them, either the keyboard only or the mouse only works.
how to implement action listeners for an array of buttons. The program has an array of buttons like the number pad on a keyboard, when the user clicks a button the number/button clicked will append to the textfield. So far I'm just working on the GUI.
regionsBuilder.setMultiChoiceItems( displayNames, regionsEnabled, new DialogInterface.OnMultiChoiceClickListener() { @Override
[code]...
Questions:
1. Describe what the code displays. A error message would be shown when the use has selected an insufficient number of options.
2. Describe when an event handler (included in the code) gets executed? The event handler gets executed every time a user selects an option(???)
3. Explain a feature of what is displayed
4. Explain the meaning of all of the parameters in the central, complicated call of the code.
5. Describe how the code handles two possible situations.When the user has selected a sufficient number of options (no less than or equal to 0), then no error message would be shown. On the other hand, an error message will be shown when the user has not selected a sufficient number of options (0). (???)
I have a bunch of textboxes in a panel and I wanted to perform the same code when the user clicks into a textbox (select all the text in it). Right now I've started adding a focusgained listener to each textbox like this:
Is there a way I can have one focusgained listener that all the textfields can point to but have it pick the right textfield in the textFieldx.selectAll();?
You're given a number between 0 and 1 that corresponds to the probability of an event occurring.
0.7 is 70%, 0.235 is 23.5%, 0 is 0%, etc.
Someone tries to perform the event, but the event only has the given probability of occurring. Run the probability, and then if it's true, run the event. Otherwise don't run the event.
All I know how to do is generate random numbers (kind of), but if you have 0.2245 I really don't see how generating random numbers can efficiently perform that probability.....
Using the code from the Java Docs (listed below) I am getting behavior that was a bit unexpected. The only changes were to add JTextField and additional output within the ComponentEvent handlers. Run the code and when the frame appears, think of each side as North, South, East (right side) and West (left side) as you are looking at it. This was run using JDK 1.7.0_25.
Run the code.
1 - Click the East edge (right) of the frame and drag to be wider or more narrow. Only the "Resized" is executed for all components which makes sense.
2 - Click the West edge (left) of the frame and drag to be wider or more narrow. This time "Resized" is executed for all components EXCEPT it is "Moved" for JFrame. Why is it "Moved" here for JFrame but not in Step 1?
3 - Click the South edge (bottom) of the frame and drag to be taller or shorter. This time only 2 components are affected. JPanel is "Moved" while JFrame is "Resized".Why isn't both JFrame and JPanel just "Resized"?
4 - Click the North edge (top) of the frame and drag to be taller or shorter. This time only 2 components are affected again but the output is slightly different. JPanel is "Moved" while JFrame is BOTH "Resized" and "Moved".
There just doesn't seem to be consistency here. What are the guidelines or criteria for when these Events are to be executed?
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class ComponentEventDemo extends JPanel implements ComponentListener, ItemListener {
I have been trying to learn how to use the TabbedPane GUI. I can get the tabs to show up, but the buttons I have placed in each tab do not show up. Why this is not working. I assume that, for some reason, the buttons are not linking with their respective panels, or the panels are not linking to the respective tabs.
I have two different classes called Login (in the package View) and RegButtonListener (in the package Controller). I want to use the MVC pattern.
Login creates a GUI for login. I used NetBeans GUI Builder to create it.
In the class RegButtonListener there is the code for the click of the buttons, then various listeners of the GUI.
Now I want to close the login frame at the click of a button so I want to use the dispose() method.
If I had all the code (GUI code and code of the listener) in the same file, close the frame would be easy enough to do because this.dispose(). But in my case I have two different classes.
I also have a second problem.
In Login class (in the packege View) I have included the line :
However, Netbeans tells me an error "package regButton does not exist. <identifier> expected". Why does he consider regButton a package? How can I fix these two problems?
How do I do then?
Below is the code of the two classes.
Login class. public class Login extends javax.swing.JFrame { /** Creates new form Login */ public Login() { initComponents();
I am messing around with a Swing application and am a bit stuck as to how to join the front and back ends.This is the code for the DataManager class which is responsible for loading and saving objects and interfacing with rest of the system. The data I need displayed comes from a .txt file in the applications directory. I need to show certain aspects of the data in the JComboBoxes in the GUI class.
Java Code:
package programdataapplication; import java.io.*; import java.util.*; public class DataManager {
java.awt.Component is an abstract class, and it's direct Sub-classes are Button, Canvas, Checkbox, Choice, Container, Label, List, Scrollbar, Text Component
So, when I use addXListener(mylistenerclass m);//which is a method of Component class which object is holding the list of all listeners, for a particular Event Source?
I am under the assumption that - there is an Event Source Object(possibly static) for every Event Source type(mouse, keyboard etc) that holds a list of destinations(classes that implements their listener interface) - added to the the object via addXListener method. When an event happens(mouse click, drag etc) the Event Source Object creates an Event Object and send it to all the destinations. Is my assumption correct? I can't seem to find the location or declaration of Event Source Object and the list where it stores it's registered destinations.
I think will be easy for me start with a GUI and then make things happens when the user clic on Buttons.Is there a good book about Event driven development on Java?
I’m teaching myself Java. I am a fairly proficient programmer in other languages, but this is the first OO language I’m doing.I have a question that is a bit hard to summarize. Or it should be: how can I pass on an object (or variable) to an event listener?
I am writing an application in which you can play a Sudoku game. I have separated the “logic” or the “model”(the classes with Sudoku data structures and methods to manipulate them) from the presentation (the view and the controller).The main method starts off as follows:
SudokuModel model = new SudokuModel(); SudokuView viewController = new SudokuViewController(model);
The first line creates class for the logic and the second line creates the class for the view and the controller. Since the view and the controller need access to the business logic, the model is passed on to the ViewController class.The SudokuViewController class creates the user interface in Swing and it handles the user input. For the user input I have created a number of listeners, like this:
table.addKeyListener(this);
Now these listeners need access to the model since they update it. However, as far as I’m aware the only parameter passed on to an event listener is the event itself. So these event listeners do not have direct access to the model, even though it is passed on to the constructor of the class SudokuViewController.
To circumvent this, I made model2 an attribute (variable) of the class SudokuViewController. The constructor of the class sets this variable as follows:
model2 = model;
Now the event listeners have access to model2, which they can manipulate.This works. However, I think it is an ugly solution, introducing an additional object (model2). I’d like to pass on the object named model to the event listener, but this doesn’t seem to be possible.
* A pop-up menu generates an array of rectangle objects; each rectangle having random x.y coords and colour. * The number of rectangles in the array is user selected from the popup list. * The APopUp class has a 'getter' method that returns the array. * The pop-up object is instantiated in an object of the AFrame class. * The AFrame object needs to get the array each time the popup changes its state.
The problem: . * As I see it, the AFrame object needs to informed of the pop-up's state of change event or does the problem lie in how I have decided which responsibilities each class is to have? I've tried to be as logical as possible during planning.
In the days of FORTRAN or BASIC we would hammer a solution through with brute force, but I would like to keep to Java's philosophy of encapsulation and clean interfaces and that it seems to has generated a impasse of brain warping proportions.
import java.awt.Frame; import java.awt.Label; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; public class AFrame extends Frame implements ItemListener {
I would like to get a checkbox within a table to fire an event when it's clicked rather. I gave tried putting in a TableModelListener but the the event only seems to trigger when I click on another column (as if the table is waiting to see if I will change my mind) before moving on.
I have also looked at the setValue of the TableModel itself.
Do I need to put an ActionListener on each checkbox or have I missed something ?
I have a JTable that is within a JScrollPane. If I try to write add a MouseListener to the JTable it never fires. However, a mouse event does fire for the JScrollPane which it is added to. Is there a way to prevent the JScrollPane from capturing the event or passing it along to the JTable?
I have in my application a button that when it is pressed, runs a long running task (usually takes a couple of seconds....).
My problem is that while the task runs, I want to stop the button from receiving clicks. Unfortunately this is something I have not achieved.
I have tried creating a new thread and calling the long running method, and using the Display.geCurrent().asyncExec...
Examples of what I have tried so far:
myButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (myList.size() > 0) { myButton.setEnabled(false); myButton.setGrayed(true);
[Code] .....
In both cases, while the button is disabled and the cursor busy, if the user clicks the button, the long running method is ran several times - and this is what I want to avoid.
In JButton's click event, I wanto to show a JPanel to print the message "Processing" on the screen. Before JButton's click logic end, hide the JPanel.
Actually, JPanel is not displayed. I do not know why.When msgPanel .setVisible(false); is commented out, JPanel is normally displayed .But do not know how to hide it when JButton's click logic is finished.
Here is the code.
loadBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { JPanel msgPanel = new JPanel(rootFrame); // Show the message JPanel
I use the right term, release resources because after clicking the close button, the DOS prompts becomes unresponsive. So I have to close the DOS prompt, then reopen it, then type in the path again for the Java folders. Can you check where did I go wrong with my code? Is my placement of the WindowListener and WindowAdapter incorrect? Please refer to my code below:
I have other programs where the placement of the WindowListener and WindowAdapter are as exactly like this (within the class constructor block) where they close correctly and some that behave like this, that renders the DOS prompt unresponsive.
I have a JFrame where some elements (one, for now) have to be centered manually on the contentPane when resizing the window or changing the window state. Resizing event (componentResized) works fine but the windowStateChanged event is causing problems because it doesn't seem to "update" the contentPane's new size properly - it keeps the previous value although the window's size is obviously changed. This can be seen by simply printing the result of getSize called on contentPane.
Centering is done by programmatically changing the constraint of the component (using putConstraint, SpringLayout). The issue is that getWidth used in that method returns "wrong" values which results in an uncentered component. Maybe another listener is needed here?
Additional info: Eclipse with WindowBuilder, Linux Mint 15, Java 1.7
I know about SSCCE guidelines but I cannot make this particular example both ready to compile and short.For unknown reasons, I am unable to post the code example. I keep getting this - "Post denied. New posts are limited by number of URLs it may contain and checked if it doesn't contain forbidden words."
addWindowStateListener(new WindowStateListener() { // no "@Override" was generated but it is the same with it public void windowStateChanged(WindowEvent e) { System.out.println("EVENT: " + contentPane.getSize() + ", " + getExtendedState() + ", " + e.getOldState()); // amusingly, states are actually correct - interchanging between 0 (Frame.NORMAL) and 6 (Frame.MAXIMIZED_BOTH) when I maximize and "unmaximize" tfArrayPanelCenter();
This is related to the book Head first JSP and Servlets 2nd edition. The books says that there are two types of custom tag handlers - Simple and classic. Classic tags are rarely used, so I'd like to skip them for now. I skipped a few pages related to classic and saw some new pages. I am not sure if these new pages are related to classic tags.
IterationTag lets you repeat the body When you write a tag handler that extends TagSupport, you get all the lifecycle methods from the Tag interface, plus the one method from IterationTag—doAfterBody(). Without doAfterBody(), you can’t iterate over the body because doStartTag() is too early, and doEndTag() is too late. But with doAfterBody(), your return value tells the Container whether it should repeat the body again (EVAL_BODY_AGAIN) or call the doEndTag() method (SKIP_BODY).
Default return values from TagSupport.If you don’t override the TagSupport lifecycle methods that return an integer, be aware of the default values the TagSupport method implementations return. The TagSupport class assumes that your tag doesn’t have a body (by returning SKIP_BODY) from do StartTag()), and that if you DO have a body that’s evaluated, you want it evaluated only once (by returning SKIP_BODY from doAfterBody()). It also assumes that you want the rest of the page to evaluate (by returning EVAL-PAGE from doEndtag()).
I have two classes involved in this portion. CheckIn_Search
(class #1) is my main UI and I am collecting search information from the user in a jPanel form. When they click "Search" it passes the search criteria to a method that contacts a web service and gets the results. These results are passed to coSearchResults
(class #2) that opens a jFrame and jTable (in modal format, over the main window created by CheckIn_Search.
The user selects a row in the table and that selection data is passed back to coSearchResults to populate a new jPanel form. When the data is passed from coSearchResults, I want to close its window, hide the first jPanel in CheckIn_Search and make the second jPanel visible. To accomplish this, I created a method in CheckIn_Search that simply hides/shows the panels (it will do more later).
I instantiate and call the method in CoSearchResults as part of the button click event. The problem is, it doesn't work. The panels are unaffected and there are no errors. I've put in break-points and it goes into the method.. Here is the coSearch_Results code.
Here is am retrieving the jtable row id and using the first value in the row to get the data from the table model as there is more data than what is displayed in the table. I'm sending that whole row of data to the method that changes visibility.
private void btnOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnOKActionPerformed // TODO add your handling code here: int rowNum = jTable1.getSelectedRow(); String coNum = jTable1.getValueAt(rowNum,0).toString(); String[] text;