Swing/AWT/SWT :: Buttons Not Displaying Till Mouseover Them?
Jan 19, 2012
I set out to make a Tic-tac-toe (Cross and Noughts) game to test my learning so far. While things have gone pretty well so far, I am absolutely stumped by my current issue. When I compile and run the code, the Grid of buttons that I generate do not appear. However, if I mouse over the window, they seem to then get refreshed/repainted. I cannot for the life of me figure out why this is happening. From Googling the issue, it seems this is either an issue with the layout manager or related to a thread conflict with the GUI? [URL] ....
I'm listing out the code for the game class and the button class.
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import java.util.*;
public class CrossNoughtsGame {
private JFrame frame;
private JPanel mainPanel;
private ArrayList<CNButton> buttonList = new ArrayList<CNButton>();
private boolean isX = true;
I'm having issues with JButtons and painting methods, whenever I click a grid on the board, the buttons in the JPanel disappear. Here is the board class:
package GUI; public class Board extends JPanel implements Observer { /** * */ // private static final long serialVersionUID = 1L; private final int boardSizeX; private final int boardSizeY; private final int L = 20;
[Code] ....
I know the code is messy in places, this will be fixed later, just need some pointers on how to solve the JButton issue.
So I have a Jframe that has a set of functions that act on a node. What I want to do is allow the user to expand the gui by creating new sets (copies) of these functions when they have more nodes.I thought of hiding extra sets and making it appear they are adding them by making them visible.
I am new to swing and I wanted to know how to be able to make a second row of buttons. Right now I have a text pane at the top and at the bottom one row of buttons. But I need to add another row or two of buttons. I've only been coding in Java.
public class TextPane { public static void main(String[] args) throws IOException { ///////////// //I/O FILES// ///////////// //Create the input file FileWriter inputFile = new FileWriter("userInputStory.txt");//story user creates with the <nouns>, <verbs>, etc PrintWriter inputFileWriter = new PrintWriter(inputFile);
This is right from a book I'm reading but it doesn't work. The problem is to write an application that lets you determine the integer value returned by the InputEvent method getModifiers() when you click your left, right, or middle mouse button on a JFrame.
This is the code copied directly from the book. What is missing:
import java.awt.event.InputEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JFrame; public class JLeftOrRight {
I am trying to build a binary game. I have six buttons. What I need to do is when I click on each button, the number needs to be changed from 0 to 1 and from 1 to 0 back again. However, I cannot do it wiht the below code. In addition, I would like to buttons on the GUI to be laid horizontally as well.
public class BinaryGame extends JFrame implements ActionListener { private JFrame binaryGameFrame; private JLabel StartLabel; private JPanel controlPanel; private JFrame guiBinaryGameFrame; private Object firstButton; private int numClicks=0;
I am using a HashMap to store names (keys) and IDs (values). I have set it up so that the radio buttons are added to the JPanel dynamically. That is, each time a name/id is added, a new radio button is automatically generated and added to the panel. Here is a snippet of the code I have thus far:
The above code adds all of the radio buttons to the panel just fine. However, I need the buttons to be mutually exclusive. I would like to be able to not only add the buttons dynamically, but I need the buttons to be added to a ButtonGroup dynamically as well. That is, when I add a new hashmap entry the a new radio button is generated and added to the radiobutton group.
There is my code so far, on the line JOptionPane.showInputDialog(null, "Give us a word starting with "+text[i]+":", "tut", 2, image, ?, null);, eclipse gave me 2 extra arguments following the icon and I'm not sure what exactly goes into the 2nd to last, the "selectionValues" argument.
After checking the Java docs, it was apparent that the option buttons goes into the selectionValues argument, but is there a way to work past that if I would only like the default (OK, Cancel) buttons on my window? The school haven't taught us the method to create custom buttons and I doubt I would've been set something that was not taught.
How do you make it so that you can select 2 buttons in a radio button group? for example: If I have 7 radio buttons, and I want to be able to select 2 of the 7 instead of 1.
I need to change the value only when I press one of the arrows in a JSpinner component.How can I add a listener to the arrow buttons. I tried ChangeListener but it was not what I needed
I'm having issues with providing focus to keyboard buttons when a JInternalFrame with keyboard buttons is called in my program. So for example when the program is started the attachment called signinscn.png is called.
This screen is a JDesktopPane which calls JPanel for its components.
From here a JInternalFrame containing the buttons ESC and F1 to F4 as seen in the attachment called signinscn.png is called.
I would like the buttons in my JInternalFrame to have focus such that when a user engages the equivalent keyboard button i.e. ESC or F1 to F4 WITHOUT clicking on the JInternalFrame the respective button's action listener kicks in. At the moment only after the user clicks on the JInternalFrame do the equivalent keyboard buttons respond.
Here's the constructor of my JInternalFrame and you can see how I handle the ESC keyboard button in the constructor of the JInternalFrame (but as I mentioned only after the user has engaged the JInternalFrame):
That's my third day working in Java using Swing and the IntelliJ Idea IDE.I'm trying to do something as simple as displaying a PNG in a window, and I'm doing this:
public class AboutRapide { public JPanel mainPanel; private void createUIComponents() { mainPanel = new ImagePanel();
[cod]....
the problem is that, in the paintComponent method, the Image is never found when I run my app from the IDE, but it is when I run it from Finder in my Mac. Same application. I think it relates to how the application is launched so I guess what's a proper way to refer to a resource file with an image so it can be displayed no matter how the application is launched?Also if I generate a Jar for the application, as the resource gets into the Jar compressed file, it can't also be loaded.
how to display results in a PLAIN_MESSAGE. My program is converting hex to decimal and displaying the results. Here's the code:
package pkgfinal; import javax.swing.JOptionPane; import java.util.Scanner; public class Final { public static int Convert(String userInput, int base){ int running_sum = 0;
public void run() { long currentTime,timeDiff; prevTime = System.nanoTime(); accumulator = 0; boolean TRUE = true;
[code]...
When I print the fps variable to the terminal window, it show a value of ~59.9998 - very close to the frameRate of 60. That is to be expected, and works well. The problem is that when I deliberately make the game go really slow, by spamming a bunch of enemies, the game looks slow, but the FPS is still apparently ~59.9998. I thought that maybe the paint() method was not calling when it was supposed to, but that might not be the case.
This FPS counter should be working, I can't see where I have gone wrong. Is there a problem with the code, or is there another problem that might cause the screen to be redrawn 10 times a second with an FPS of 60?
I'm at the Image part of this chapter and I wrote/copied these 2 classes:
[URL]
The error:
Exception in thread "main" java.lang.NullPointerException at javax.swing.ImageIcon.<init>(Unknown Source) at image.Board.<init>(Board.java:17) at image.Image.<init>(Image.java:10) at image.Image.main(Image.java:20)
I'm fairly certain the problem is the path in this piece of code:
ImageIcon ii = new ImageIcon(this.getClass().getResource("C:GebruikersKristofferworkspaceImagessrcimageNature.jpeg"));
I've done some research and found that I should place the image in the same folder as my .java files, which I did [URL] but the problem still persists.
I am doing project on glossary in java. Basically what i need to do is, i have a case study in the text field, when i mouse over the certain text that i already store in database. The text will be highlighted and automatically display the tool tip and content the data that i stored in my database.
I have been reading some java guides here [URL] .... and was trying to put a bit of what I have learnt into practice but am having some difficulty. Basically, using netbeans IDE I have created a new jFrameform so that I can place swing components in design mode. What I want to create isnt overly complicated but I just cant seem to get it. In design I have simply added a panel and a button. When I press the button I want to display an image I have located at:
/resources/images/numbers/1.png.
This is my code so far (most of it has been automatically generated from me adding things via design mode:
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */
I assume I need something like below somewhere , do i need to create a draw method? if so how do I call it as it is expecting graphics2d as a parameter, what would I pass into it?
my web browser isn't displaying any web page. When I create the method editorPane.setPage(), it takes forever (about 20 seconds) to show nothing. It'll load the web browser after the 20 seconds of waiting. Here is my code:
public class Browser extends JInternalFrame {
/** * */ private static final long serialVersionUID = 4589041456161585394L; public Browser() { super("Browser", true, true); this.setLayout(new BorderLayout()); this.setVisible(true); this.setSize(Desktop.getSingletonInstance().getWidth(), Desktop.getSingletonInstance().getHeight());
<%@ page language="java" isErrorPage="true" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Error</title> </head>
[code]...
I have put error.jsp and badpage.jsp file in public access folder that is web content in eclipsewhen I am running the code I am status code of 500 and not the errorpage.jsp message .
I am learning out design patterns and doing a little fun project on Model Control View (MCV). I got the concept down, it is pretty simple for the most part. However my buttons are not working.
Here is the code:
public class Controller { private Model model; private View view; Controller(Model model, View view) { this.model = model; this.view = view;
[code]....
It runs but nothing. My other questions is how can I make a box that will print the results.