I 'm trying to draw a button by resizing a simple button background image to fit the size of the text. Everything works well except for the actual drawing of the string. The y value that I give the Graphics object designates the baseline, however I would like to draw the the string above the y. So that the image below doesn't happen.
I gave the graphics object the y of the bottom of the "P" and would instead like to give it the value of the bottom of the "y". Is there a way to do that by reading the String's bounds or something, or is there a way to get the Graphics object to use the passed y value as the definite bottom of the String?
import java.awt.GridLayout; import javax.swing.*; public class Screen { JButton start; JButton reset; JButton box[][] = new JButton[20][20]; Screen()
[Code] ....
I am trying to place the buttons on the bottom. I tried a few different things but the grid layout keeps grabbing it and making them a part of the grid at the button.
I have a 2D array that is of type int[][]. it is populated with 1's and 0's. I need to create a method that allows me to search from the top row finding a possible path to the bottom--the path is a path of connecting cells containing 1. I need to create an array that stores the cells that are needed to be searched. When the search carries out, for each cell stored it needs to check the cells to the left, right, below and above the current cell.
I also need to create a variable to store the current cell. I thought initially it would be an int but it can't be because it needs to hold the the index of the current cell. and any of the cells searched that are an immediate neighbour of the current cell are added to the storage array.
I have these instructions but I am having trouble converting into code
Finding a path through vegetation from the top row to the bottom row: The idea is we will start from a cell in the top row and advance below for as long as we can. Since we are still not done exploring a cell until we have explored ALL it’s vegetation neighbors, we will add the cell to an array of cellsToExplore and only come back to it if the current cell we are examining is fully explored. Here is pseudo-code of the algorithm !
• Create array cellsToExplore (what size should this array be?)!
• Create an integer count that stores the number of cells in cellsToExplore!
• Go through the top row and add ALL vegetation cells to cellsToExplore!
• Create a variable to store currentCell we are exploring and set it to null.!
• while count > 0 do!
- set currentCell to the last cell in cellsToExplore (last cell added to the array).!
- label currentCell as burning vegetation!
- If the currentCell is on the bottom row then we return true (we found the path).!
- if the cell below currentCell is vegetation then add the cell below to the cellsToExplore array.!
- else if cell to the right of currentCell is vegetation then add the cell to the right to cellsToExplore!
- else if cell to the left of currentCell is vegetation then add the cell to the left to cellsToExplore!
- else if cell above the currentCell is vegetation then add the cell above to cellsToExplore.!
- else remove the currentCell from the cellsToExplore (we are done with this cell). !
I am having issues with drawing shapes from bottom right to top left.
Issue:
- g.drawRect() will show like I am calling g.fillRect() - other shapes will not even show the shape in that area
Needs:
- g.drawSHAPE needs to show and not be filled unless I have my fill checkbox selected
The Program:
- Create a JFrame with a draw panel and a component panel - have a combobox with shapes that, when selected, will draw that shape in the draw panel - have a button that, when clicked, will launch JColorChooser to change the color of the drawn shape (draw panel is set to black) - have a checkbox that, when checked, fills the shape - have mouse listeners to adjust X and Y and will instantly update the shapes size to where you drag/click/press/release
Code for my drawRect():
Java Code:
// if statement to check if mouse drag X is less than starting X if(x2 <= x){ if(emptyORfill.isSelected()) // emptyORfill is my JCheckBox g.fillRect(x2, y, x-x2, y2-y); // x-x2 is the same as Math.abs(x2-x) else g.drawRect(x2, y, x-x2, y2-y);
[Code] .....
This is just for my Rectangle. This will show a filled rectangle when both mouse drag X and Y are less then the starting X and Y. If I take this fully functional code and adapt it to drawRoundRect(), the round rectangle wont even show the shape when mouse drag X and Y are less than the starting X and Y but will be fine if one or the other is less than the starting X or Y. NOTE: This same exact code worked on my classmates laptop in her program, but in my program on her laptop it did not. She took out the "else" in the else if's and just made them if statements all the way down and it worked on her laptop in my program, but the same "fix" did not work on my pc.
My mouse listener just sets X and Y values in my Shape class that updates my shape methods. I have an item listener for my comboBox that sets default values when a new selection is made and enables/disables editable on my fill checkbox for certain shapes. My action listener looks for the button click and the checkBox click.
I am working on program and have been struggling to get around step 5 and 6 given below.
I have got on with the first couple of points. Where to begin with steps 5 and 6.
Java Code:
class Hourglass { int height; int bottomHalf; public Hourglass (int h) { height =h; } public Hourglass (){ height=3; }
/*Write a method dropGrain that simulates one grain of sand falling into the bottom half of the Hourglass. If all the sand is already at the bottom before a grain is dropped, this method should cause the hourglass to be flipped, meaning that all the sand will be in the top again. Then, one grain of sand should fall. */
//Hint: this method can be quite short. All you need to do is update one attribute.
public void dropGrain(){ }
/*Write a method getHeapHeight() which returns the height of the heap of sand in the bottom of the hourglass.
Hint: a triangle of height h contains h*h grains (=1+3+5+...+h).
So determining the height when the amount of sand in the bottom half is a square (1,4,9,16,...) is easy. Think about what happens if the amount of sand is not exactly a square.*/
public int getHeapHeight() { } mh_sh_highlight_all('java');
PaintWindow pw = new PaintWindow(); Random rand = new Random(); ImageIcon image = new ImageIcon("C:/Users/Ghostkilla/Desktop/gubbe.jpg"); setWidth(pw.getBackgroundWidth()); int height = pw.getBackgroundHeight();
[Code] ....
If you run this code it will move a picture from right to left and hit the left wall and then go to right again leaving the window (It stops there). I want to make so it hits left and then right wall continuously till someones close the window. So basically I am using a for loop to make it go left right all the time.
How to make so the picture moves from bottomleftcorner to toprightcorner diagonally without leaving the window.
I am building a little application for personal use where I can track my finance. Now, what I would like to get is an always visible JTable "footer" OR horizontal space field attached to the bottom of the window. The idea is that scrolling down/up wouldn't affect it's visibility(like JTable header). Might a picture tell a thousand words: see attachment.
I am wondering, maybe JTable OR TableModel class has a property to solve this problem(I haven't found any)? Or shall I make another ScrollPane/JPanel? Which path of search shall I pursue?
This is code for a game I am making where you are a character at the bottom of the screen dodging falling rocks. I was wondering how to add in the falling rocks. I think I need to use Timer and an ArrayList but I am not sure if that would work and not truly sure how to go about doing it.
Code is supposed to count number of Words in a String between A-Z and a-z, i am aware there are many methods to do this more efficiently, but i would prefer to do it using the methods shown.
class // Purpose : 1) Write a program which will input a string from the //keyboard, and output the number of separate words, //where a word is one or more characters separated by //spaces. Your program should only count as words groups //of characters in the ranges A..Z and a..z // { public static void main(String args[])
Ok, so I'm just trying to write a basic little program that reverses the letters in someone's name. I thought I had it down, but I guess not. Here's the code, and the error I'm getting is:
java.lang.StringIndexOutOfBoundsException: String index out of range: 11 (in java.lang.String) (11 is the length of the name I'm inputting) import java.io.*; import java.util.*;
Goal this time is to take a charArray, copy it into another charArray while reversing the things in it.
E.g. charArray["!ollaH"] into charArrayNew["Hallo!"]
My first idea was to revert the stuff in the Array with a ! cause i saw earlier that u can work with that too revert booleans. Sadly i didnt happen to make it work.
Next thing i thought of was a for loop to go trough the charArray and copy every section into charArrayNew just at the opposite end.
Java Code:
import java.util.Arrays; public class aufgabe43 { public static void main(String[] asgr){ char[] charArray
[Code] .....
Eclipse doesn't show any errors, and as u told me last time i did include import java.util.Arrays; to output the array in the end.
When i try to compile the code eclipse returns with an error
Java Code:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 68 at aufgabe43.main(aufgabe43.java:8) mh_sh_highlight_all('java');
Which I frankly don't understand since the array . Length is exactly the same.
I am trying to avoid an out of bounds error for my heap array by checking to see if the current values left and right child are greater than the size of the array and then ending the execution of the code. However, I am still getting an out of bounds error even with that condition.
public void trickleDown(){ System.out.println("TRICKLE DOWN"); boolean repeating = true; int temp, leftChild, rightChild, leftIndex, rightIndex, parent = 0; while(repeating){
I can't even run the program, because it gives me index out of bounds exception but what exactly went wrong.
I feel that even after it's able to run it will be totally wrong, but one thing at a time /*Write a method called longestSortedSequence that accepts an array of integers as a parameter and returns the length of the longest sorted (nondecreasing) sequence of integers in the array.
For example, in the array {3, 8, 10, 1, 9, 14, -3, 0, 14, 207, 56, 98, 12}, the longest sorted sequence in the array has four values in it (the sequence -3, 0, 14, 207), so your method would return 4 if passed this array. Sorted means non-decreasing, so a sequence could contain duplicates. Your method should return 0 if passed an empty array.
*/ public class ten { public static void main(String[] args) { int[] arr = {3, 8, 10, 1,9, 14, -3, 0, 14, 207, 56, 98, 12}; longestSortedSequence(arr); System.out.println(longestSortedSequence(arr));
So my goal is to use the graphics class to draw this shape: [URL] ....
so far I've managed to draw the bottom half, but now I want to utilize the copyArea() method to flip the bottom half and copy it to produce the upper half of the shape: [URL] ....
and this is what I wrote to produce the bottom half:
import java.awt.Graphics; /* * 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. */
public class MyFrame extends javax.swing.JFrame {
/** * Creates new form MyFrame */ public MyFrame() { initComponents();
When i click on the button from bottom panel, top panel need to be redrawn. But redrawing is not happening. It happens only when resizing the applet.
public class Graphics_Chart(){ public init(){ JScrollPane topPane = new JScrollPane(new ImagePanel2()); topPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); topPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
I am trying to print out all of the values of an array and the average. I am getting part of the printout but I am also getting an array out of bound error message. what I am doing wrong?
int [][] points = new int [2] [3]; points [0][0]= 3; points [0][1]= 2; points [0][2]= 4; points [1][0]= 2; points [1][1]= 2; points [1][2]= 2; int totalPoints = 0; int totalShots = 0;
It seems that all of my arrays in the class Calculations are out of bounds, and I do not seem to know why.
Java Code:
/** public class DataAnalyzer { public static void main (String[] args) { //This creates an instance of ReadFiles ReadFiles aReadFiles = new ReadFiles(); Calculations aCalculations = new Calculations();
I have been working on this program for a while and now i seem to be stump it throws an outof Bound array exception error, this program is a matrix multiplication program and spits out the resulting matrix using multithreading. i have a running one and result is
2 -1 0 1 0 3 -1 1 3
but this program's result is:
2 0 0 1 0 0 -1 0 0
it reads a txt document as an commandline arguement the text file reads just like this below:
3 2 2 3 1 0 0 1 -1 1 2 -1 0 1 0 3
the following is my code:
import java.util.*; import java.io.*; public class P3 { public static int matrix1[][]; public static int matrix2[][];
The code is supposed to insert HTML formatting on a specified string. (i.e o<b>the</b>r )Most of the code works correctly as I verified the outputs without a while loop. The loop is causing a string out of bounds error. I've tried adding the if statement and also formatting the (result += line) nothing is getting appropriate results...
public static String addFormat(String webpage, String toMatch, String format) { String result = ""; String insert = ""; format = format.toLowerCase(); switch (format){ case "bold": insert = "<b>" + toMatch + "</b>";
class test{//class public static void main(String[]args) { String booking [][]= new String [30] [6] ;//two dimensional array System.out.println("Enter the seat column you want");//column entry char column=Keyboard.readChar(); System.out.println("Enter the seat row you want");//row entry int row=Keyboard.readInt();