Swing/AWT/SWT :: Detecting Mouse Click Inside A Box Painted In Frame?
Feb 9, 2015
In the method mouseClicked(MouseEvent me) the co-ords of the click are obtained.
* if they are within the confines of the rectangle rect, console output System.out.println("inside box") is displayed
* in either case the click co-ords are displayed in the console
I'm getting the co-ords of the mouse clicks but no message when the click is inside the box
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
/*
Experiment 04 was successful. So now (Experiment 05) I must try and see if I can identify mouse clicks that occur within the rectangle.
*/
public class AFrame extends Frame implements MouseListener {
ARectangle rect;
public AFrame(ARectangle rect) {
I've got the game working just fine, but I don't like the way it starts playing the second you hit the "Run Last Class" button in Eclipse, and would really like to have the game start, then wait for the user to click a button before running the core WHILE loop. Everything is implemented in a single class, and here is the playGame method that starts the ball moving:
private void playGame(){ while (!gameover){ moveBall(); checkForCollisions(); }
All I want to do is pause before the WHILE loop until the users clicks the mouse button, nothing fancier than that! I've done quite a bit of reading, and it looks like ActionEvent may be the way to go, but I'm not clear on how to use it correctly in this scenario.
I have made a window using JFrame and on my JPanel I have added 3 components: 2 JTextFields ("field1" and "field2") and inbetween them a JButton ("switch"). My goal is to switch the value of field1 to field2 and vice versa when the JButton is clicked. I thought this ActionListener which I have added to my JButton would achieve my goal:
public void actionPerformed(ActionEvent e) { field2.setText(field1.getText()); field1.setText(field2.getText()); }
However, it changes the value of field2 into the value of field1 but not the other way around.
I'm trying to right a GUI in swing, and as part of my program, I want to open a secondary window out of the main window when a mouse clicks on the main window. Then, once I click a button on the secondary window, I want that window to close and submit data to the main window (like an info form). I have almost figured out how to do this, except for one problem. By putting a variable inside my form window called "ready," and then in my main window running a loop that constantly checks if ready is true and doesn't proceed until its true, I can create the form window, modify the values in it (currently just one value called "difficulty" that's modified by a jSlider), and then when i click the "begin" button, ready is changed to true, the form window closes, and the main window can proceed. However, when I try to put the while loop checking the ready variable inside a mouseClicked method in the main window, the form window freezes when it opens, and you can't see any of its content or modify it in any way (you can't even close it).
Here is my code:
//form window class import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class formWindow extends JFrame { private JTextField instructions1;
I am building a GUI application which consists of two panels "panel" and "panel1". "panel1" have a button "addTimer" when clicked it should add the "panel" to the frame if i gain click the button it should again add the "panel" without overlapping the previous "panel" rather it should be created below the previous "panel". If i click on the button "addTimer" n times it should add the panel n times. Along with this the frame size has to dynamically change depending on the number of panels produced. Below is the code i tried my level best to satisfy the above conditions.
package superTimerV2; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class SuperTimer extends JFrame { private static final long serialVersionUID = 1L;
I want to calculate the height of a dialog that contain only a table depending on how many rows that table it has so I'm using the cross multiplication rule.For example i check initially that my table is well fitting into the dialog(Without space at the bottom) for some value and after that i use the cross multiplication rule because data are dynamic.But unfortunately this rule does not solve the problem.What's the best rule for fitting a dynamic table inside a dialog or a frame? Here is my code.
public class FlowLayoutChangingGap { public static void main(String[] args) { // just for testing perpose but data are getting from database and it's dynamic Object[][] data = { { "Kathy", "Smith", "Snowboarding", new Integer(5) }, { "John", "Doe", "Rowing", new Integer(3) },
I need to know the procedure for detecting a Unique Hardware ID of any computer using Java. All I want to do is once the software application is installed should not get installed using the same key...In short I want to do license for my application.
I am having trouble with a mouse click method. In short I have a hexagon grid, and every time I want to click on one particular hexagon I want the color of the hexagon to change to blue(by default the color is grey). This part works, but when I go to click on another hexagon I want the color of the previous hexagon to change back to grey while at the same time changing the color of the current hexagon clicked to blue. So in other words, I only want one hexagon blue at a time. How might I do this?
I have a hexagon class for one particular hexagon, and a hexmap class for multiple hexagons. I know I should probably be handling mouse clicks in the hexmap since it deals with the whole thing. But I cannot say something like hexagon.setColor within a mouselistener in that class(it gives me a lot of issues). Here is some of my code :
public class Hexagons() public Hexagons(HexMap theMap, int mapRow, int mapCol, int width, int height) { this.map = theMap; this.row = mapRow; this.col = mapCol; this.width = width; this.height = height;
I'm running the code below which compiles ok using latest version of Java and on Sublime. The problem when it complies the output screen is blank and I can only see the text by adjusting the size of the box with my mouse - and then it colours in black. Code and screenshot below. Is there something wrong with the paint/graf part of the code?
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class BackArray extends JFrame { int store[] = {2,6,4,8,34,67,19,99,10,12,89,68,45,37}; int xcoord = 100; boolean firsttime=true;
I have my paint application, i use the following mouse event to draw my shapes (mousePressed, mouseReleased, mouseDragged). Now after the user paint a circle for example, he must be able to drag the shape; to be able to do this. i think i must again implement the different mouse Events. I have done it and the drag is not working. How can i achieve this. can we implement multiple (mousePressed, mouseReleased, mouseDragged) in the same java class??
So for a test i have a small array set as a jlist which is the contents of my jscrollpane, and it appears as if nothing is there until i adjust the window size by dragging it out or in... whats going on?
Just run the following code and move the mouse next to the text of the button and you will see exactly what I am talking about. Any way to prevent this continuous flash?
import java.awt.Dimension; import javax.swing.JButton; public class GUI { public static void main (String[] args) { javax.swing.JFrame frame = new javax.swing.JFrame(); javax.swing.JPanel panel = new javax.swing.JPanel();
I am working on a simple app that should emulate a desktop with some icons that you can drag around. I was instructed to use the MouseListener and MouseMotionListener. The icons should drag starting at the point where the mouse originally clicked down on it (ie not dragging from the top right corner).
I am drawing my icons to a jpanel, and I seem to be having two problems:The hitboxes are offThe icon is being dragged from the top right corner, despite having setup up a mouse offset at the beginning of the drag..Here are the relevant classes, the Desktop.draw() method is being called from my DrawPanel
import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Desktop implements MouseListener, MouseMotionListener{ static DesktopIcon[] icons;
I wrote the following code to get a frame,button in south and a red color circle,which i got.In the "actionPerformed" method i wrote "setContentPane(mp2)" thinking it would put another panel on the frame with a blue circle but when i pushed the button,the button got stuck and the circled did not change.
import java.io.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; class Fra implements ActionListener { MyPanel2 mp2; JFrame frame; JButton button; public static void main(String[] args)
I am relatively new to java. . I cannot...(actually do not know) how to change the actionlistener (actionPerformed) after the second click in an array of JButtons. This is how the program performs right now.
On the 1st click on the grid, the border of the button clicked will change to 'blue' and another button will change its boarder to 'red'. on the next click the same action is performed.
What I need is to change action when the 'red' bordered button is clicked, lets say change the color of the buttons from the 'red' to the 'blue' buttons.(x 3 buttons).
The logic about how to perform the final result I think I can do on my own but my problem is how to change the action when the red bordered button is clicked.
I simply want to paint an image on my frame, just once each time the paint() method is called, but how to call the paint method in any good way. This is how it looks:
I have buttons created on a frame and then I register the listener from a controller in a controller-view relationship.
When I click the button on the face, the action never executes for some reason. I thought maybe there was a problem registering the listener but I can call the buttons doclick() method and it executes as it should. Perhaps I'm overlooking something really obvious here but I can't see it.
again, when i click the button nothing happens. but if i add the following code
btnEight.doclick()
the actionPerformed invokes in theController as I intended.
You can see the entire project on GitHub so you can see the full context. The controller class contains the listener and the view class contains the buttons.
I've recently decided to learn Java on my own using internet material such as forums, blogs and you tube. Ive never programed before but through some research I concluded that Java is going to be on the mid spectrum of difficulty as far as verbiage goes. I ma in no way implying that Java is easy but instead closer to spoken English that c++ if my research is correct. So here is my attempt at a basic program where I click a button and it will make an image appear. Not sure where Im falling short
package clicktoimage; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Clicktoimage extends JFrame { private JLabel label; private ImageIcon image;
I am trying to plot a graph and graph should display when JButton is clicked. To create data set, I am taking some value through JTextField and then created a chart and plotted it. I've got a problems: the chart doesn't refresh/update when I change the text field value.
public class Test2 extends JFrame { /** * */ private static final long serialVersionUID = 1L; private JPanel contentPane; private ChartPanel chartPanel; private JTextField textField_1; double a;
Projectsrccom.mypackageMyClass.java resourcesicon.pngmyexe.exe Right now I have to run the exe like this : - It has hardcoded the path of the exe :command = "cmd /c start /b cmd.exe /K "cd " + outputFolderPath + " && C:myfoldermyexe.exe " + "param1=value1 param2=value2 " ;
Process p = Runtime.getRuntime().exec(command); This works fine. But, When I package it as a jar I want to give a relative path to my resources folder. How can I make this happen?
I tried:File f = new File("resources/myexe.exe"); String path = f.getAbsolutePath(); but this "path" did not work.
Another way would be to extract the exe to a local path on the server, but there is a possibility that I could face permission issues.
I read the oracle doc example, i understand the concept but still nothing is happening on show,first ,next method of CardLayout in ActionPerformed. Code is highlighted where I am facing problem.