Swing/AWT/SWT :: Paint Screen Without Paint Methods?
Sep 22, 2014
Is it possible to paint to the screen without using methods such as paint(), paintBorder(), paintChildren, paintBorder, paintComponent, paintAll() and any other paint like methods I may have missed. These are, by the way, taken both from JComponent and Component. So, is it possible?
Since the Paint methods are being executed anytime a frame is being moved or resized, how much overhead could an application incur if the application
- has many frames - doing a lot of moving - doing a lot of resizing - has a lot of background processes running.
As a rule, I try to only keep the most essential code in these types of methods and wondering if that type of thinking is "old school".
How much overhead is actually involved? If you needed to monitor the size of a given frame anytime the user resizes it, would you be concerned that using these methods would incur too much overhead?
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 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, I have this simple program that paints a string on JPanel using g2.drawString("Hello world", 40, 120). Basically, I want to be able to keep track of many strings on the JPanel at once. I'm not sure how to do this. For example, I would want to have an ArrayList of objects that keep track of these strings.
I want to be able to click-and-drag these strings so I will need to know there locations, etc.
Right now, using g2.drawString, it only draws the string. I want something like gw.draw(myStringObject).
I am currently writing a small drawing program and I am having trouble with changing the size of the shapes. To do this, I have to access the arraylist shapes, check whether pressedX/pressedY is on any of the shapes in the arraylist using the findShape() method and then when released, uses moveBy() in the Rectangle/Oval/Line class and moveShape() in the miniDraw class to move the shape and draw it in the newreleasedX/releasedY position.
So far I think I have pin pointed the problem to being the method in all the shapes classes, that checks whether the pressedX/pressedY which is the on() method, and the findShape() method in the miniDraw class.
I am currently drawing graphics onto a JPanel, by overriding the standard paintComponent method.
Is it possible to call a method to draw some predefined shapes, instead of filling this method with all the stuff I need drawn, and if so, how do I do that?
I am screwing around with mouse listeners so i decided to make a basic paint program. It works fine but when it draws more than 100 circles it errors out. i know why its doing it (its because i set the array to 100) but my question is how to make it so it has not limit in the array.
Here is the code
public class PaintProject extends Applet { int numClicks = 100; int numCicles; int xCoord[]; int yCoord[]; boolean paint;
I have a piece of code for an applet that I want to run as the main applet code, and I want it to loop until a boolean is true, but it needs to paint while the code is looping. Here is the relevant part of my code ....
I want to take command line arguments and pass them to a paint method. This is a test program that will just draw some equations. How can I get the input array clinputs[] to be used in public void paint( Graphics g) ?
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class LinePlot extends JFrame { public LinePlot() { super( "Line Plot" ); setSize(800,600);
public void draw(ArrayList<int[]> good,ArrayList<int[]> bad){ drawing = true; goodToDraw=good; badToDraw=bad; System.out.println("Canvase/draw: Calling paint with a size of "+goodToDraw.size()); middleMan();
[code]....
What this does is two ArrayList are sent to the draw function.one called good and the other bad. Right now I am only working on good. What is suppose to happen is paint takes all the good coordinates and paints them but I seem to loose the arrayList size when repaint is called. You can see in the picture below of my console that it starts of with 20. Then because I was wondering if the scope was to short i called middleman to make sure that it held its size outside of the first function. Then finally it calls paint and tells me the array is empty. To simplefy..Why does my arraylist size go to zero when I call repaint?
I'm following this tutorial![URL] I've copied over a lot of the code and also copied/pasted other parts! I understand how it works, but I can't figure out why the "X" or "O" won't paint onto the screen when the window is clicked on! Only a button is drawn when I click on the screen.
/* package tictactoe; import javax.swing.*; import java.awt.Image; import java.awt.event.MouseListener; import java.awt.event.MouseEvent; import java.awt.Toolkit;//look into this library
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.
So I created little program. So window is in full screen. Paint method.
package Test; import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.*; import java.util.Random; public class Main extends JFrame { Graphics g;
[Code] ....
So, paint method works perfectly. He paint rectangle. Good. But I dont know how using ,,paint2'' method. I need when you press z button, ,,paint2'' method draw Oval in random coordination. So instead ,,paint2'' method i using repaint() but i dont know nothing about paint methods and so on. So how using ,,paint2'' method? Now when i run program, i get a lot of error..
I have to implement the methods for what is happening if on some panel the action selected are Remove/Move/Change/Resize (Draw is already implemented).
The Applet in question draws ovals or rectangles on the screen and you can change the fill-color and outline-color of the shape. All this works already. I have dabbled with the move-method, but am not going anywhere.
I have created a java gui on Windows 7 with Eclipse EE, using a screen resolution of 1366 x 768. I used groups with specified boundaries. For example:
final Group g5_script_data = new Group(shell, SWT.BORDER_SOLID); g5_script_data.setText("Current DB"); g5_script_data.setBounds(0, 0, 680, 380); g5_script_data.setBackground(green);
The groups cover the whole screen.
However my colleague with a smaller resolution looses the far right of the screen.
As this is a proto-type and I'm new to Java I don't want to rework everything or convert it to say a grid layout until the proto-type is accepted and I can start from scratch with a real detailed design. It already has 6500 lines of source.
Just wondered what is my quickest/easiest way to get my app to display on a slightly smaller resolution. For sure it will not be anything silly. Something like 1280 x 768 to 1366 x 768 would do.
I had developed small GUI using swing group layout, which is nice to see on windows, but when I tried it on Linux the GUI look is varied. Then I set the GUI height and width by taking screen resolution, still it is varies the screen look. How I can make the GUI such that it looks the same on all screen resolutions.
I'm writing my first bigger program (mysql connection and the first thing bigger than 300 lines ). What I'd like to do is to render data from MySQL using JTable - I managed to handle all the queries but I don't know how to update the table on screen. I've tried to use repaint() but nothing happened. I'm not posting whole code because you'll probably not interested, below are the most important things. I thought about using TableModel but how.
public class Main implements ActionListener{ JTable table;
public Main() { JFrame frame = new JFrame("Frame"); frame.setLayout(new FlowLayout()); frame.add(table);
I am trying to drag the window down wards and screen has alignment issues. I tried to use WindowListeners, Component Listeners, MouseListeners ect…
But still this problem persists as only I release the mouse after drag down it appears fine that we have handled ComponentResized() method. So how to restrict component size while keep dragging down?
i'm currently doing my system now and my problem is about inserting an image to my jframe form with thread because if i insert image and when i run it it blinks too slow comparing if i use simple oval it doesnt blink.
I want to build a class that takes a JTable and previews on screen how it will be printed on the default printer. This is what we use to call as "Print Preview", just like MS Word, Excel, etc. As we already know Java does not support this functionality out-of-the-box.
Based on some examples I've found googling I built two classes. The first one TestPreview.java justs shows the JTable and the second one PrintPreview.java previews how the JTable will be printed on the printer.
I have two buttons to go through the pages, "PREV" and "NEXT" and "Print' button to print the JTable. My problem is that when my JTable has too many rows and spans in more than one page PrintPreview does not work. It shows the same page again and again. Also, it does not show the entire JTable data, but only some of them and I can't figure out why.
I've got to make a ball bounce around a screen.... From what I can gather they seem to hold back useful java code.
anyway, i've changed the code over and over, and think this is the most succinct way i can manage it. but i have a problem. where i've marked the code (*****) and the following line are conditional on each other. so one won't provide the correct answer without the other line executing first, and vice versa (ignore the code after, i haven't looked at where that should be yet ). Anyway I don't really want to rip the code apart, again, because i'm pretty sure it's close.
I developed a swing application using group layout. It resizes when I resize the frame but when I change the screen resolution or when I run the application in a laptop which has small sized screen, the components over lap each other. I need my application to fit according to the screen resolution
The code is as follows
private void initComponents() { jComboBox1 = new javax.swing.JComboBox(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel();
[Code]...
According to the list item selected, an internal frame will appear in the desktop pane. I use group layout for that internal frame too.