I am struggling to make a double border which has rounded corners. The border should be 2 parallel lines.
I made something which looks almost good, but if you look closer there are a few wrong things.To achieve this, I made 2 paths, then painted them in 2 different colours.
The main problem is painting with AA, because the colours overlap and are affected.
I think it would be smoother to paint a single path using 2 colours.
For the first problem, I think some kind of a stroke would be enough. But, if I build a stroke, it's almost same thing like drawing the path twice, like I did before. Anyway i think that would fix AA problem. But still, maybe I can achieve a smoother effect for the corners.
Question:Maybe something with a 2x1 Texture ? It's possible to achieve this ? I know I tried this before and when a curve was encountered the direction of the texture was wrong and looked messy.
PS: Ignore the blueish thing, it's a dragged component to activate the highlight border.
I've been working my way through a tutorial to build a simple 2D tile-based engine that also allows the code to manipulate the colour of pixels on the screen based on a monochrome map read from a file. I've got the code right line for line, but I seem to have a bug when it comes to draw to the screen! At regular intervals, despite what is held in the pixel array of ints (which I have confirmed to be correct when debugging), I get the same row of pixels being draw twice in a row. I figured there was some loop issue somewhere, but after attempting to debug this for some time, I haven't come up with the answer.
I tried a few things and I was unsuccessful at removing the border around my image button. It seemed simple enough when reading on StackOverflow but I'm still getting errors : s
ImageIcon cardIcon_1_1 = new ImageIcon("../images/empty.png"); JLabel cardImg_1_1 = new JLabel(cardIcon_1_1); cardImg_1_1.setBorder(BorderFactory.createEmptyBorder()); cardImg_1_1.setContentAreaFilled(false);
Errors:
Multiple markers at this line - Syntax error on token ";", @ expected - Syntax error on token ".", @ expected after this token
Multiple markers at this line - Syntax error, insert "Identifier (" to complete MethodHeaderName - Syntax error, insert "SimpleName" to complete QualifiedName - Syntax error, insert ")" to complete MethodDeclaration
I'm using an applet it had to be in the initialize part of my program...
I'm trying to use netbeans GUI creator to create a chessprogram. However, the default "freeflow" layout is very difficult to work with. However, when I switch the layout to gridbag or border layout, I can't figure out really how to do anything. I don't know how to resize or position elements. Any good set of tutorials for using netbeans GUI creator with non standard layouts?
(I originally used absolute layout, which I can easily add and position elements in, but which I abandoned because i want the chessboard squares to resize when the window changes size).
I am working on a project (assignment) and i want to be able to click on jlabel and the select border will show (as shown in the image attached) and i used it to resize the jlabel. I tried
@Override public void componentResized(ComponentEvent e) { super.componentResized(e); setPreferredSize(getSize()); } });`
yet is not working. I tried some other code that are not working.
So as part of my program I have to find the corners of an array (the array can vary in size but is always square) but I'm not exactly sure how to do this. I thought of one possible way but I am not sure if I can do it or how to write it,
if array[row][col] = [0][0] or [row length][col length] or [0][col length] or [row length][col length].
I'm just giving examples of what I am trying to find here I know none of these are actual syntax. I don't even know if I can check whether an array's coordinates are equal to coordinates on that array or not. How I can write this or if there is another way to do it? If yes, what about edges of the array?
I have a question about the execution of code to draw images relative to code that comes after that. I don't normally do this sort of thinghere's the problematic code:
Where glb1 is a final reference to an object that holds common data for the game.while its x and y values say they are for text, they are also used for image placement (at least during this testing phase.)
gc1 is the "graphics context" of the canvas that the images are being drawn on.
The person who wrote this said, "When the attached code is run, the calls to TimeKeeper.pause(500), which in turn call Thread.sleep(500), are all executed in row, and then the results of drawing the image 10 times is displayed. (I know because some of the previous image pastes left some visual data behind.)"
I recall from reading about drawing graphics (a long time ago) that drawImage() could take time, but I don't know why the thread does not indeed sleep between calls to drawImage().
how to phrase the question. I created a small applet in java.. it allows me to move a toon around a blank applet window. I am using four gif files that have a walking animation in them. The issue i am having is after moving around the gif just flashes in and out really quickly.. when i start the program, moving up and down seems to be working perfectly fine, but the moment i move left or right it starts messing up for all directions. here is my code.
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class CharactorMove extends JApplet implements KeyListener
I have to do an assigment using Swing, where I have to make a Board(extends JPanel) and add multiple instances of moving elements to it, with following requirements:
By adding a new object to the Board, the others must not slow down. Also the user interface must not be blocked by the moving objects. So, the movement of the objects must be handled in a separate thread.
and
The application must support adding lots of objects, so it is not okay if every object has its own thread, as this would take too many resources. Design the application in such a way that it uses a constant number of threads, meaning that the number of threads does not grow when adding more objects.
The question is:
How to do this thing with constant number of threads?
I am buildning a paint application in java, where the user can choose from a combobox wheather he/she wants to draw a rectangle or by free hand. The objects are stored in an arrayList. The user can also choose in the menubar to go back one step, which means to remove the last drawn item from the arrayList and then loop through the arraylist to draw the remaining objects.
It works fine with rectangles. When I create a rectangle it creates only one rectangle, which I add to the arrayList. My problem is with the free hand. When I draw by free hand (using mousePressed and mouseDragged) I add every "dot" of the line as an object. Which means that when I remove the last item in the arrayList it only removes one dot of the line, not the whole line.
I need to add the dots together as one line, but how can I do that?
if (e.getSource().equals(comboBox)) { JComboBox cb = (JComboBox)e.getSource(); if (cb.getSelectedItem().equals("Rectangle")) { this.addMouseListener(new MouseAdapter() {
I'm trying to make a simple program that will feature some graphics. It will have a JCombobox that the user selects to draw various shapes. I can't get the repaint function to work however.
So Ive got to make a turtle on an image draw a semicircle that starts at the top of a circle and goes down and to the left, changing colors halfway through. I've got everything down, I can draw the turtles and make them do straight lines. My problem is more math related. I need to use the equation of a circle, give it points, and figure out how to write that code in java.
We use the equation for a circle: (x - a)^2 + (y - b)^2 = r^2
I am trying to read Point objects from .drw file which contains endpoints of line segments, and draw lines making a square on panel when I run the program. This is what I have got so far. how to get the points using array for drawing ?
// inside the method to read points objects from .drw file try { fos = new FileInputStream("square.drw"); oos = new ObjectInputStream(fos); // creating an object of Point class endPoints = new Point[sampleSize];
I am writing a program to solve Sudoku puzzles. I create the user interface using AWT/Swing.One panel of the main window (JFrame object) contains a Graphics2D component only (a grid for the sudoku puzzle). The problem is that this panel is too small for its contents when it is created. I have tried many things to make it bigger (like the setSize method of the panel), but to no avail. Who can tell me how I can make the panel with a single Graphics2D object larger?
Below is the code for the main window, which is a JFrame object. I set its size to 400 x 400 to have ample room for all panels. I then create two panels: a sudoku panel that contains the sudoku grid and a button panel that contains two buttons. The button panel has a flow layout.
I then create the main panel. This has a vertical BoxLayout. Finally I add the sudoku panel and the button panel to the main panel and the main panel to the frame.
public class ViewController_Graphics extends JFrame { JButton solveButton = new JButton("Solve"); JButton nakedSinglesButton = new JButton("Naked Singles");
When I run the program, the following Window shows up:the button panel is exactly in the middle (and it remains in the middle, no matter how I resize the window). And there is not enough room for the sudoku panel. How can I make enough room for the sudoku panel when the window is created?
I am having a problem rotating a shape I am using the transformation rotation matrix and don't seem to be getting the results I expected. Now I know a lot of programmers will just tell me to use the Graphics2D rotate(theta) Method.But I would like to create this ability through writing the code.
My latest issue was that I wanted to only get a double value into a JTable Cell.
So first I Overrode the getCellEditor(int row,int col) method of my JTable, so if I was in a cell i knew I needed a double value I returned my Editor.
My editor filters out anything but numbers. I also check to make sure we get one and only one decimal point.
Other solutions Ive seen use keyboard Listeners, but to me that doesn't work. What if the user cuts and pastes data? My solution handles that as well.
It doesn't handle if they try to cut and paste something like 1234abcd.bob.123.23 , this would result in 1234..123.23 pasted in. I'll handle faulty values on the getValue method of my AbstractTable, but as long as the user is using mostly valid data this works well.
public TableCellEditor getCellEditor(int row, int col) { if (row==TheRowWant && col==TheColumnI want) { return (new DefaultCellEditor(createDoubleTextField())); } } private JTextField createDoubleTextField() { final JTextField field = new JTextField();
In the book we made a GUI which has 2 buttons, a label and a panel (the panel is a subclass of JPanel). What the program does is the following: When I press one of the two buttons, in the panel there is a rectangle that changes its color. When I press the other button it has to change the text on the label. Now the problem is that when I start the program, the FIRST time I press the button on which the label must change, this also changes the color in the rectangle, which it should not (I also noticed that when i FIRST click the rectangle shifts a little bit to the left). After that the program works fine.
I have run into a bit of a head scratcher, at least to me. I am building multiple rectangles using double precision. I had to switch from int to double due to another issue that requires decimal places. Now, my fillRect (last line in the code section I posted) is causing an error as it only wants to work with int.
public void draw(Graphics2D g2) { // check that sizes are above 0 if ((rectWidth <= 0) || (rectHeight <= 0))
I want to write simple game. Why if I press button UP and RIGHT it not move diogonally, may be it have special code. And how I need to write correctly border and gravity?
public class Main { public static void main(String args[]) { JFrame frame = new JFrame("Stickman"); Ground ground = new Ground(); frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); frame.setSize(710, 480);
I have a problem with a shape generator. It randoms the shapes just fine, I just do not know how to make all the shapes fully stay within the frames border.
RandomShapeMaker.java
import java.awt.Color; import java.awt.Graphics; import javax.swing.JPanel; import java.util.Random; public class RandomShapeMaker extends JPanel{ private static final Random randomShape = new Random(); public void paintComponent( Graphics g ){ super.paintComponent( g );
If I "embed" a ProgressIndicator inside a ListView it has an ugly border and a white background. It looks like there's a TextField below the ProgressIndicator.
Why does it behave like that and how to solve it so that the progress indicator is transparent.