Problem with the JFrame maximum size
Dear all,
I need to make my application expand to the maximum screen size when
the user first starts it. I am using hte following code:
frame.setSize(getMaximumSize());
however if my JFrame has a border layout and I have added a component at the page end
"add(new JLabel("hello"), BorderLayout.PAGE_END);"
this component is not displayed on the screen until I maximize the JFrame manually by clicking on
the default "Maximize" button at the right top corner?
Does anyone know how to get the JFrame occupy the maximum screen size where all of the
components would be visible?
Kanita
Solved:
http://forum.java.sun.com/thread.jsp?forum=57&thread=546044
Similar Messages
-
Problems with the background image size in a photobook
Hi there, I really need help here. When I make a photobook I want to display my images large, taking the whole page. To do that I put the image as a background and it's OK. My problem is that when I do this, iPhoto always crops it. I have to use the move tool to move the image up and down, left or right to chose a best position. I don't want to do this, I want my image to be shown perfectly from end to end. I have to resize the image in many ways, even used the book's native resolution but it still doesn't work. If I choose "fit photo to frame size" I end up with two stripes at the top and the bottom of the page.
Please help me, what size should I resize my image to, so that iPhoto displays it as it is?
Thank youHi
The fact you are using a Mac is why both myself and JCellini assumed you where using a pre IE7 version.
But the code you are using to test in IE will cause a problem with any 'virtual machine' such as crossover, because it cannot reference anything outside its own assigned section of the drive, and referencing the png in the way you are would be for it an invalid reference, it also would not work in any browser when you uploaded the site.
Change - background-image:url(file:///Macintosh HD/Users/myname/Documents/websites/test/Test/images/test_back.png);
To - background-image:url(images/test_back.png);
But if the region is not editable I would suggest you temporarily make it so, externalize your css to a css file, insert a link to the external css file in your head content, then lock the region once again. This way you will always be able to edit your css without worrying about 'locked regions'.
PZ
www.pziecina.com -
There is a problem with the font size of the itouch 4.
I was given a new ipod touch gen4th (ios 4.3.5) by the Apple authorized repair centre in Hong Kong three days ago. However. i found that there is a problem with the font size of it. It is different from my original one. Either the playlist or the words in the webpages , the font size is not uniform. Most of the words are boldfaced. Sometimes, there are some words are smaller in size. I don't know whether I can or cannot figure out the problem and tackle it, so, should I take it back to the repair centre? Or does anybody help me to fix it or give me some suggestions? Millions of thank.
What language is set in Setting>General>International?
Have you tried the standard fixes:
- Reset:
Reset iPod touch: Press and hold the On/Off Sleep/Wake button and the Home
button at the same time for at least ten seconds, until the Apple logo appears.
- Restore from backup
- Restore to factoery defaults/new iPod -
Every time I try to open photoshop I get a window that pops up and says:
"Photoshop has encountered a problem with the display driver, and has temporarily disabled GPU enhancements. Check the video card manufacturer's website for the latest software.
GPU enhancements can be enable in the Performance panel of Preferences."
Then windows shuts the program down. The details of the problem are:
"Files that help describe the problem:
C:\Users\Owner\AppData\Local\Temp\WER70AD.tmp.WERInternalMetadata.xml
C:\Users\Owner\AppData\Local\Temp\WER9389.tmp.appcompat.txt
C:\Users\Owner\AppData\Local\Temp\WER9407.tmp.hdmp"
I'm on a custom Asus
I'm using Win7 Home Premium 64-bit
16GB RAM
Nvidia Geforce GTX 560 2GB video card
Intel i7 core 2.2 GHz
12 GB of memory
The error happens so quickly that I don't have time to do anything. Please help. >.< I've been on hold for *checks phone* 2 hours exactly. Wow. It is a legit copy and was working last month with no trouble. I've updated the drivers and tried a few solutions that have worked for other people that I found on Google (such as disabling CUDA and setting my "power management mode" to "prefer maximum performance" on my video card) but so far nothing has worked.
Thanks in advance!It has stopped crashing because somehow it turned off "Enable GL Drawing" on its own because I could never even get a menu open. Not sure how it did that but I am grateful. I still get the error when I open Photoshop up but at least it hasn't crashed yet. At the time when it was crashing I never would have been able to get you the system info due to the speed that it was crashing upon just opening the program. In case you still need it:
Adobe Photoshop Version: 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch]) x64
Operating System: Windows 7 64-bit
Version: 6.1 Service Pack 1
System architecture: Intel CPU Family:6, Model:10, Stepping:7 with MMX, SSE Integer, SSE FP, SSE2, SSE3, SSE4.1, SSE4.2
Physical processor count: 8
Processor speed: 2394 MHz
Built-in memory: 16361 MB
Free memory: 13322 MB
Memory available to Photoshop: 14694 MB
Memory used by Photoshop: 60 %
Image tile size: 128K
Image cache levels: 4
OpenGL Drawing: Disabled.
OpenGL Drawing Mode: Basic
OpenGL Allow Normal Mode: True.
OpenGL Allow Advanced Mode: False.
OpenGL Crash File: Detected.
OpenGL Allow Old GPUs: Not Detected.
Video Card Vendor: NVIDIA Corporation
Video Card Renderer: GeForce GTX 560M/PCIe/SSE2
Display: 1
Display Bounds:= top: 0, left: 0, bottom: 1080, right: 1920
Video Card Number: 1
Video Card: NVIDIA GeForce GTX 560M
Driver Version: 9.18.13.697
Driver Date: 20121002000000.000000-000
Video Card Driver: nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvd3dum,nvwgf2um,nvwgf2um
Video Mode: 1920 x 1080 x 4294967296 colors
Video Card Caption: NVIDIA GeForce GTX 560M
Video Card Memory: -2047 MB
Serial number: 92628077745082451425
Application folder: C:\Program Files\Adobe\Adobe Photoshop CS5.1 (64 Bit)\
Temporary file path: C:\Users\Owner\AppData\Local\Temp\
Photoshop scratch has async I/O enabled
Scratch volume(s):
C:\, 931.4G, 511.4G free
Primary Plug-ins folder: C:\Program Files\Adobe\Adobe Photoshop CS5.1 (64 Bit)\Plug-ins\
Additional Plug-ins folder: not set
Installed components:
A3DLIBS.dll A3DLIB Dynamic Link Library 9.2.0.112
ACE.dll ACE 2010/12/13-23:37:10 64.449933 64.449933
adbeape.dll Adobe APE 2011/01/17-12:03:36 64.452786 64.452786
AdobeLinguistic.dll Adobe Linguisitc Library 5.0.0
AdobeOwl.dll Adobe Owl 2010/06/03-13:43:23 3.0.93 61.433187
AdobeOwlCanvas.dll Adobe Owl Canvas 3.0.68 61.2954
AdobePDFL.dll PDFL 2010/12/13-23:37:10 64.341419 64.341419
AdobePIP.dll Adobe Product Improvement Program 5.5.0.1265
AdobeXMP.dll Adobe XMP Core 5.0 64.140949
AdobeXMPFiles.dll Adobe XMP Files 5.0 64.140949
AdobeXMPScript.dll Adobe XMP Script 5.0 64.140949
adobe_caps.dll Adobe CAPS 4,0,42,0
adobe_OOBE_Launcher.dll Adobe OOBE Launcher 2.0.0.36 (BuildVersion: 2.0; BuildDate: Mon Jan 24 2011 21:49:00) 1.000000
AFlame.dll AFlame 2011/01/10-23:33:35 64.444140 64.444140
AFlamingo.dll AFlamingo 2011/01/10-23:33:35 64.436825 64.436825
AGM.dll AGM 2010/12/13-23:37:10 64.449933 64.449933
ahclient.dll AdobeHelp Dynamic Link Library 1,6,0,20
aif_core.dll AIF 2.0 53.422628
aif_ogl.dll AIF 2.0 53.422628
amtlib.dll AMTLib (64 Bit) 4.0.0.21 (BuildVersion: 4.0; BuildDate: Mon Jan 24 2011 21:49:00) 1.000000
amtservices.dll AMTServices (64 Bit) 4.0.0.21 (BuildVersion: 4.0; BuildDate: Mon Jan 24 2011 21:49:00) 1.000000
ARE.dll ARE 2010/12/13-23:37:10 64.449933 64.449933
asneu.dll AsnEndUser Dynamic Link Library 1, 7, 0, 1
AXE8SharedExpat.dll AXE8SharedExpat 2011/01/10-23:33:35 64.436825 64.436825
AXEDOMCore.dll AXEDOMCore 2011/01/10-23:33:35 64.436825 64.436825
Bib.dll BIB 2010/12/13-23:37:10 64.449933 64.449933
BIBUtils.dll BIBUtils 2010/12/13-23:37:10 64.449933 64.449933
boost_threads.dll DVA Product 5.0.0
cg.dll NVIDIA Cg Runtime 2.0.0015
cgGL.dll NVIDIA Cg Runtime 2.0.0015
CoolType.dll CoolType 2010/12/13-23:37:10 64.449933 64.449933
data_flow.dll AIF 2.0 53.422628
dvaadameve.dll DVA Product 5.0.0
dvacore.dll DVA Product 5.0.0
dvaui.dll DVA Product 5.0.0
ExtendScript.dll ExtendScript 2011/01/17-17:14:10 61.452840 61.452840
FileInfo.dll Adobe XMP FileInfo 5.0 64.140949
icucnv36.dll International Components for Unicode 2009/06/17-13:21:03 Build gtlib_main.9896
icudt36.dll International Components for Unicode 2009/06/17-13:21:03 Build gtlib_main.9896
image_flow.dll AIF 2.0 53.422628
image_runtime.dll AIF 2.0 53.422628
JP2KLib.dll JP2KLib 2010/12/13-23:37:10 64.181312 64.181312
libifcoremd.dll Intel(r) Visual Fortran Compiler 10.0 (Update A)
libmmd.dll Intel(r) C Compiler, Intel(r) C++ Compiler, Intel(r) Fortran Compiler 10.0
LogSession.dll LogSession 2.1.2.1263
MPS.dll MPS 2010/12/13-23:37:10 64.450375 64.450375
msvcm80.dll Microsoft® Visual Studio® 2005 8.00.50727.6195
msvcm90.dll Microsoft® Visual Studio® 2008 9.00.30729.4940
msvcp80.dll Microsoft® Visual Studio® 2005 8.00.50727.6195
msvcp90.dll Microsoft® Visual Studio® 2008 9.00.30729.4940
msvcr80.dll Microsoft® Visual Studio® 2005 8.00.50727.6195
msvcr90.dll Microsoft® Visual Studio® 2008 9.00.30729.4940
pdfsettings.dll Adobe PDFSettings 1.04
Photoshop.dll Adobe Photoshop CS5.1 CS5.1
Plugin.dll Adobe Photoshop CS5 CS5
PlugPlug.dll Adobe(R) CSXS PlugPlug Standard Dll (64 bit) 2.5.0.232
PSArt.dll Adobe Photoshop CS5.1 CS5.1
PSViews.dll Adobe Photoshop CS5.1 CS5.1
SCCore.dll ScCore 2011/01/17-17:14:10 61.452840 61.452840
tbb.dll Threading Building Blocks 2, 1, 2009, 0201
TfFontMgr.dll FontMgr 9.3.0.113
TfKernel.dll Kernel 9.3.0.113
TFKGEOM.dll Kernel Geom 9.3.0.113
TFUGEOM.dll Adobe, UGeom© 9.3.0.113
updaternotifications.dll Adobe Updater Notifications Library 2.0.0.15 (BuildVersion: 1.0; BuildDate: BUILDDATETIME) 2.0.0.15
WRServices.dll WRServices Thursday January 21 2010 12:13:3 Build 0.11423 0.11423
wu3d.dll U3D Writer 9.3.0.113
Installed plug-ins:
3D Studio 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Accented Edges 12.0
ADM 3.11x01
Angled Strokes 12.0
Average 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Bas Relief 12.0
BMP 12.0.2
Camera Raw 6.7
Chalk & Charcoal 12.0
Charcoal 12.0
Chrome 12.0
Cineon 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Clouds 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Collada 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Color Halftone 12.0.2
Colored Pencil 12.0
CompuServe GIF 12.0.2
Conté Crayon 12.0
Craquelure 12.0
Crop and Straighten Photos 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Crop and Straighten Photos Filter 12.0.2
Crosshatch 12.0
Crystallize 12.0.2
Cutout 12.0
Dark Strokes 12.0
De-Interlace 12.0.2
Dicom 12.0
Difference Clouds 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Diffuse Glow 12.0
Displace 12.0.2
Dry Brush 12.0
Eazel Acquire 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Embed Watermark 4.0
Entropy 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Extrude 12.0.2
FastCore Routines 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Fibers 12.0.2
Film Grain 12.0
Filter Gallery 12.0
Fresco 12.0
Glass 12.0
Glowing Edges 12.0
Google Earth 4 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Grain 12.0
Graphic Pen 12.0
Halftone Pattern 12.0
HDRMergeUI 12.0
IFF Format 12.0.2
Ink Outlines 12.0
JPEG 2000 2.0
Kurtosis 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Lens Blur 12.0
Lens Correction 12.0.2
Lens Flare 12.0.2
Lighting Effects 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Liquify 12.0.1
Matlab Operation 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Maximum 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Mean 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Measurement Core 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Median 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Mezzotint 12.0.2
Minimum 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
MMXCore Routines 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Mosaic Tiles 12.0
Multiprocessor Support 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Neon Glow 12.0
Note Paper 12.0
NTSC Colors 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Ocean Ripple 12.0
OpenEXR 12.0.2
Paint Daubs 12.0
Palette Knife 12.0
Patchwork 12.0
Paths to Illustrator 12.0.2
PCX 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Photocopy 12.0
Photoshop 3D Engine 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Picture Package Filter 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Pinch 12.0.2
Pixar 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Plaster 12.0
Plastic Wrap 12.0
PNG 12.0.2
Pointillize 12.0.2
Polar Coordinates 12.0.2
Portable Bit Map 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Poster Edges 12.0
Radial Blur 12.0.2
Radiance 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Range 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Read Watermark 4.0
Reticulation 12.0
Ripple 12.0.2
Rough Pastels 12.0
Save for Web & Devices 12.0
ScriptingSupport 12.1
Shear 12.0.2
Skewness 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Smart Blur 12.0.2
Smudge Stick 12.0
Solarize 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Spatter 12.0
Spherize 12.0.2
Sponge 12.0
Sprayed Strokes 12.0
Stained Glass 12.0
Stamp 12.0
Standard Deviation 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Sumi-e 12.0
Summation 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Targa 12.0.2
Texturizer 12.0
Tiles 12.0.2
Torn Edges 12.0
Twirl 12.0.2
U3D 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Underpainting 12.0
Vanishing Point 12.0
Variance 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Variations 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Water Paper 12.0
Watercolor 12.0
Wave 12.0.2
Wavefront|OBJ 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
WIA Support 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
Wind 12.0.2
Wireless Bitmap 12.1 (12.1x20110328 [20110328.r.145 2011/03/28:10:30:00 cutoff; r branch])
ZigZag 12.0.2
Plug-ins that failed to load: NONE
Flash:
Mini Bridge
Kuler
Access CS Live
CS Review
Installed TWAIN devices: NONE -
Hi! I'm using a JFrame in a game I'm developing, and this should be resizeable within some bounds. This works fine for the minimum size, the user is unable to even try to resize the frame smaller than what I've set as the minimum size. But it seems like maximum size is a different issue - I can't find a way to bound how large the user may expand the frame. Of course, when it's extended to a larger size than my specified maximum, it's resized back to the maximum size (using a ComponentListener to detect resize attempts - this has to be done because I need a constant aspect ratio - and a maximum size). But I don't like this solution very much, I would rather find it impossible to even try to extend the frame larger than the bounds - in the same way one can set the bounds for the minimum size. Please help me!
Any suggestions anyone?See [http://forums.sun.com/thread.jspa?threadID=5342801]
The real issue is that setMinimumSize is declared in Window whereas setMaximumSize is declared in Component. Thus the two methods do not have complementary connotations.
Experimenting with workarounds posted on those bug report pages, I think this is the cleanest solution, even if it does involve using a painting method for something other than painting -- normally to be avoided. SSCCE:import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Point;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class MaxSizeFrame {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new MaxSizeFrame().makeUI();
public void makeUI() {
final JFrame frame = new JFrame("") {
@Override
public void paint(Graphics g) {
Dimension d = getSize();
Dimension m = getMaximumSize();
boolean resize = d.width > m.width || d.height > m.height;
d.width = Math.min(m.width, d.width);
d.height = Math.min(m.height, d.height);
if (resize) {
Point p = getLocation();
setVisible(false);
setSize(d);
setLocation(p);
setVisible(true);
super.paint(g);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setMaximumSize(new Dimension(500, 500));
frame.setMinimumSize(new Dimension(300, 300));
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}This way, instead of repeated flickering, there is just one flicker as the specified maximum size is crossed.
db -
Problems with the Proxy Programme--Please help
Hi All,
I have written a simple proxy server in the form of a servlet. I changed the proxy config of my browser to connect to this servlet hosted on the default context(http://localhost:8080) of the Tomcat 5.0.25 . Well , this servlet internally connects to the proxy of the corporate LAN . The logic that I have applied is as follows. The servlet gets the request from the client (ie the browser in this case) , extracts the headers and contents from the request, sets them to a new request that it forms and finally send this new request to the proxy. When the proxy responds, the servlet collects the response headers and contents adn writes them in its response. To sum up , this servlet transparently carries the requests and responses between the client(browser) and the corporate LAN proxy. Now the problem is this. Let's say , now I am accessing http://www.google.com.The browser sends a request to my servlet with the following headers as they are extracted by my servlet.
ProxyServer:::>posting request
ProxyServer:::>headerValue::> headerName = accept : headerValue=*/*
ProxyServer:::>headerValue::> headerName = referer : headerValue=http://www.google.com/
ProxyServer:::>headerValue::> headerName = accept-language : headerValue=en-us
ProxyServer:::>headerValue::> headerName = proxy-connection : headerValue=Keep-Alive
ProxyServer:::>headerValue::> headerName = user-agent : headerValue=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; UB1.4_IE6.0_SP1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)
ProxyServer:::>headerValue::> headerName = host : headerValue=www.google.com
ProxyServer:::>headerValue::> headerName = cookie : headerValue=PREF=ID=1be27c0a74f198ca:TM=1082058853:LM=1082058853:S=bu6ORrygzm8AUkm8
ProxyServer:::>postRequest
I set these headers into a new connection opened to the proxy and post a fresh request to the proxy,which, in turn responds with the following headers.
ProxyServer:::>posted request successfully
ProxyServer:::>writing response
ProxyServer:::>writeResponse-->headerName = Proxy-Connection : headerValue = [close]
ProxyServer:::>writeResponse-->headerName = Content-Length : headerValue = [257]
ProxyServer:::>writeResponse-->headerName = Date : headerValue = [Tue, 13 Jul 2004 14:01:40 GMT]
ProxyServer:::>writeResponse-->headerName = Content-Type : headerValue = [text/html]
ProxyServer:::>writeResponse-->headerName = Server : headerValue = [NetCache appliance (NetApp/5.5R2)]
ProxyServer:::>writeResponse-->headerName = Proxy-Authenticate : headerValue = [Basic realm="Charlotte - napxyclt2"]
ProxyServer:::>writeResponse-->headerName = null : headerValue = [HTTP/1.1 407 Proxy Authentication Required]
ProxyServer:::>writeResponse exiting
ProxyServer:::>wrote response successfully
I write these headers back to the client. According to what I was thinking, the client ie the browser would open a new dialog box asking for username/password owing to the presence of the "Proxy-Authenticate " header. But it does not happen that way. Rather the browser stops responsding and displays a blank page. Does anyone know why it happens this way? I am pasting the server prog below for everybody's reference.
package server.proxy;
//import all servlet related classes
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.*;
import java.net.*;
import server.resources.*;
//My Proxy server --->Currently it is very simplea and relies on
//other proxy servers of an already connected network.
public class ProxyServer extends HttpServlet
//stores the resource bundle
private ServerResBundle resBundle = null;
//checks for the mode of operation
private boolean proxySet = false;
private String proxy = null;
//storing the original System out/err etc
private PrintStream sysOutOrig = null;
private PrintStream sysErrOrig = null;
private InputStream sysInOrig = null;
//initialise certain features that are required later
public void init() throws ServletException
try
//initialise the resource bundle
this.initResBundle();
System.out.println("ProxyServer:::>res bundle init");
//set the mode of operation
this.setMode();
System.out.println("ProxyServer:::>mode set");
//set the system out and err --System.setOut etc
this.setSystemOutErr();
System.out.println("ProxyServer:::>in/out/err set");
}//End try
catch(Exception e)
System.out.println("Exception in init..."+(e.getMessage()));
throw new ServletException(e);
}//Edn
catch(Throwable e)
System.out.println("Irrecoverable Error...");
throw new ServletException(e);
}//End
}//End init
//method to init the resource bundle;
private void initResBundle()
this.resBundle = ServerResBundle.getBundle();
}//End
//method to set the mode of the server--proxy or direct
private void setMode()
//read the target proxy property from the bundle and
//if it is set,take that URL
String temp = (String)(this.resBundle.getResource(ResKeys.PROXY_SERVER));
if ( (temp != null) && (temp.length() > 0) )
this.proxySet = true;
this.proxy = temp;
temp = null;
}//End
}//End
//method to set the system out and err etc
private void setSystemOutErr() throws Exception
//keep a copy of the original system out and error
this.sysOutOrig = System.out;
this.sysErrOrig = System.err;
try
//read the options adn if they are set, take the values directly
String newOutStr = (String)(this.resBundle.getResource(ResKeys.SYSTEM_OUT));
String newErrStr = (String)(this.resBundle.getResource(ResKeys.SYSTEM_ERR));
if ((newOutStr != null) && (newOutStr.length() > 0))
System.setOut(new PrintStream(new FileOutputStream(new File(newOutStr),true),true));
}//End if
if ((newErrStr != null) && (newErrStr.length() > 0))
System.setErr(new PrintStream(new FileOutputStream(new File(newErrStr),true),true));
}//End if
}//End
catch(Exception e)
//restore the stuff
System.setOut(this.sysOutOrig);
System.setErr(this.sysErrOrig);
}//End
}//End
//this is where the proxy functionalities will be embedded
public void service(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,java.io.IOException
//conenction URL
URL target = null;
//conenction to the remote object
URLConnection targetConn = null;
//stores the OOS and the OIS
ObjectOutputStream oos = null;
ObjectInputStream ois = null;
try
//check for the mode of operation
if (proxySet)
URLConnection objects go through two phases: first they are created, then they are connected.
After being created, and before being connected, various options can be specified
(e.g., doInput and UseCaches). After connecting, it is an error to try to set them.
Operations that depend on being connected, like getContentLength, will implicitly perform the connection,
if necessary.
//for the URL to the proxy
target=new URL(this.proxy);
//conenct to the proxy
targetConn = target.openConnection();
//set the details of the connectuon
targetConn.setDoInput(true);
targetConn.setDoOutput(true);
targetConn.setUseCaches(false);
// If true, this URL is being examined in a context in which it makes sense to allow user interactions such as popping up an authentication dialog. If false, then no user interaction is allowed
targetConn.setAllowUserInteraction(true);
//connect to the remote object
// targetConn.connect();//call this only when all the request properties are set
System.out.println("ProxyServer:::>posting request");
//post the received request to the URL
this.postRequest(targetConn,req);
System.out.println("ProxyServer:::>posted request successfully");
System.out.println("ProxyServer:::>writing response");
//receive the response
//write the received response to the client
this.writeResponse(targetConn,resp);
System.out.println("ProxyServer:::>wrote response successfully");
}//End if
else
//currently this functionality is not supported
throw new ServletException(
(String)(this.resBundle.getResource(ResKeys.ERR_FUNC_NOTSUPPORTED)));
}//End
}//End try
catch(Exception e)
if(e instanceof ServletException)
throw (ServletException)e;
}//End
if (e instanceof IOException)
throw (IOException)e;
}//End
//wrap it up in ServletException
throw new ServletException(e);
}//End
}//End
//method to write the response back to the client
private void writeResponse(URLConnection targetConn,HttpServletResponse resp)
throws ServletException
//get all the header fields from the response connection and set them to the
//response of the servlet
Map headerFields = null;
Iterator headerFieldEntries = null;
Map.Entry header = null;
//stores the input stream to the conn
BufferedReader brConn = null;
//stores the writer to the response
PrintWriter prResp = null;
//checks if the proxy authentication needed or not
boolean proxyAuthReqd = false;
try
//juste ensuring that the proxy authentication is reset
proxyAuthReqd = false;
if( (targetConn != null) && (resp != null) )
//Returns an unmodifiable Map of the header fields.
//The Map keys are Strings that represent the response-header field names.
//Each Map value is an unmodifiable List of Strings that represents the corresponding
//field values
headerFields = targetConn.getHeaderFields();
//Returns a set view of the mappings contained in this map
Set temp = headerFields.entrySet();
//Returns an iterator over the elements in this set
headerFieldEntries = temp.iterator();
if (headerFieldEntries != null)
while (headerFieldEntries.hasNext())
Object tempHeader = headerFieldEntries.next();
if (tempHeader instanceof Map.Entry)
header = (Map.Entry)tempHeader;
Object headerName = header.getKey();
Object headerValue=header.getValue();
System.out.println("ProxyServer:::>writeResponse-->headerName = "+headerName+" : headerValue = "+headerValue);
//do not select the key-value pair if both the key adn the value are null
if ( ( headerName == null) && (headerValue == null) )
continue;
}//Enmd
if (headerValue != null)
List headerValList = null;
if (headerValue instanceof List)
headerValList = (List)headerValue;
}//End
if(headerValList != null)
for (int i=0;i<headerValList.size();i++)
Object headerValueStr = headerValList.get(i);
if (headerValueStr instanceof String)
//note that the header-key can not be null for addHeader
//I have made this temporary provision to make the programme work.
resp.addHeader(( (headerName==null)? ("null_header"+i) :(String)headerName),
(String)headerValueStr);
//check if the proxy authentication required or not
if (((String)headerValueStr).
indexOf(resp.SC_PROXY_AUTHENTICATION_REQUIRED+"") != -1)
System.out.println("ProxyServer:::>writeResponse-->proxy auth needed");
//proxy authentication is needed
proxyAuthReqd = true;
}//End
}//Ednd of
else if (headerValueStr == null)
resp.addHeader(( (headerName==null)? null :(String)headerName),
null);
}//End
}//End for
}//End if
}//End if
}//End
}//End while
}//End if
//get the writer to the client
prResp = resp.getWriter();
System.out.println("ProxyServer:::>writeResponse-->proxyAuthReqd="+proxyAuthReqd);
//juste test a simple header
System.out.println("Proxy-Authenticate = "+(resp.containsHeader("Proxy-Authenticate")));
//if the proxy asks you for authentication,pass on the same to the client
//from whom you have received the request.When this flag is true,the connection
//is closed by the remotehost adn hence any attempt to open in input steram
//results in an error ie IOException
if (!proxyAuthReqd)
//now get the content adn write it to the response too
brConn = new BufferedReader(new InputStreamReader(
targetConn.getInputStream()));
String tempStr = null;
while ((tempStr = brConn.readLine())!=null)
prResp.println(tempStr);
}//End while
//close the connections
brConn.close();
}//End if
else
prResp.println("Proxy Authentication needed...");
}//End
//close the streams
prResp.flush();
prResp.close();
}//End if
System.out.println("ProxyServer:::>writeResponse exiting\n");
}//End try
catch(Exception e)
throw new ServletException(e);
}//End
}//End
//method to post request to the internet
private void postRequest(URLConnection targetConn,HttpServletRequest req)
throws ServletException
//extract the header parameters and the body content from the incoming request
//and set them to the new connection
Enumeration reqHeaders = null;
//reads the incoming request's content
BufferedReader brReqRd = null;
PrintWriter prResWt = null;
//stores temp header names and values
String headerName = null;
String headerValue = null;
try
if( (targetConn != null) && (req != null) )
reqHeaders = req.getHeaderNames();
//extract a header adn set it to the new connection
while (reqHeaders.hasMoreElements())
headerName = (String)(reqHeaders.nextElement());
headerValue = req.getHeader(headerName);
targetConn.setRequestProperty(headerName,headerValue);
System.out.println("ProxyServer:::>headerValue::> headerName = "+headerName+" : headerValue="+headerValue);
}//End
System.out.println("ProxyServer:::>postRequest\n");
//establis the actual connection
//calling this method bfore the above loop results in IllegalStateException
targetConn.connect();
//NOTE : try reading from and writing into OIS and OOS respectively
//now read the contents and write them to the connection
// brReqRd = req.getReader(); //this hangs for some reason
brReqRd = new BufferedReader(new InputStreamReader(req.getInputStream()));
System.out.println("Got the reader..brReqRd = "+brReqRd);
if (brReqRd != null)
String temp = null;
//establish the printwriter
// prResWt = new PrintWriter(targetConn.getOutputStream(),true);
prResWt = new PrintWriter(targetConn.getOutputStream());
System.out.println("trying to read in a loop from brReqRd.. ready="+(brReqRd.ready()));
while( (brReqRd.ready()) && ((temp=brReqRd.readLine()) != null) )
System.out.println("In while::>temp = "+temp);
prResWt.println(temp);
}//Emd while
//close the streams adn go back
brReqRd.close();
prResWt.flush();
prResWt.close();
}//End
}//End outer if
System.out.println("ProxyServer:::>postRequest exiting\n");
}//End try
catch(Exception e)
throw new ServletException(e);
}//End
}//End
}//EndHi serlank ,
Thanks for your reply. Well , I initially I thought of not pasting the code,as it was too long. But I could not help it,as I thought I must show in code what I exactly meant. That's why I followed a description of my problem with the code. You could probably have copied the code and pasted it in one of your favourite editors to take a look at it. Did you,by any chance, try to read it on the browser? And as regards reposting the same message, I can say that I did it as I felt the subject was not quite appropriate in the first posting and I was not sure as to how I could delete/alter the posting. I am not asking for a code-fix,but some suggestions from some one who might ever have come across such a thing.Anyway, lemme know if you have any idea on it. Thanks... -
Problems with 'background' JFrame focus when adding a modal JDialog
Hi all,
I'm trying to add a modal JDialog to my JFrame (to be used for data entry), although I'm having issues with the JFrame 'focus'. Basically, at the moment my program launches the JFrame and JDialog (on program load) fine. But then - if I switch to another program (say, my browser) and then I try switching back to my program, it only shows the JDialog and the main JFrame is nowhere to be seen.
In many ways the functionality I'm looking for is that of Notepad: when you open the Find/Replace box (albeit it isn't modal), you can switch to another program, and then when you switch back to Notepad both the main frame and 'JDialog'-esque box is still showing.
I've been trying to get this to work for a couple of hours but can't seem to. The closest I have got is to add a WindowFocusListener to my JDialog and I hide it via setVisible(false) once windowLostFocus() is fired (then my plan was to implement a similar functionality in my JFrame class - albeit with windowGainedFocus - to show the JDialog again, i.e. once the user switches back to the program). Unfortunately this doesn't seem to work; I can't seem to get any window or window focus listeners to actually fire any methods, in fact?
I hope that kind of makes sense lol. In short I'm looking for Notepad CTRL+R esque functionality, albeit with a modal box. As for a 'short' code listing:
Main.java
// Not all of these required for the code excerpt of course.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowFocusListener;
import java.awt.event.WindowListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import javax.swing.UIManager;
import javax.swing.plaf.basic.BasicSplitPaneDivider;
import javax.swing.plaf.basic.BasicSplitPaneUI;
public class Main extends JFrame implements ActionListener, WindowFocusListener, WindowListener, FocusListener {
static JFrame frame;
private static int programWidth;
private static int programHeight;
private static int minimumProgramWidth = 700;
private static int minimumProgramHeight = 550;
public static SetupProject setupProjectDialog;
public Main() {
// Setup the overall GUI of the program
private static void createSetupProjectDialog() {
// Now open the 'Setup Your Project' dialog box
// !!! Naturally this wouldn't auto-open on load if the user has already created a project
setupProjectDialog = new SetupProject( frame, "Create Your Website Project", true );
// Okay, for this we want it to be (say) 70% of the progamWidth/height, OR *slightly* (-25px) smaller than the minimum size of 700/550
// Change (base on programWidth/Height) then setLocation
int currProgramWidth = getProgramWidth();
int currProgramHeight = getProgramHeight();
int possibleWidth = (int) (currProgramWidth * 0.7);
int possibleHeight = (int) (currProgramHeight * 0.7);
// Set the size and location of the JDialog as needed
if( (possibleWidth > (minimumProgramWidth-25)) && (possibleHeight > (minimumProgramHeight-25)) ) {
setupProjectDialog.setPreferredSize( new Dimension(possibleWidth,possibleHeight) );
setupProjectDialog.setLocation( ((currProgramWidth/2)-(possibleWidth/2)), ((currProgramHeight/2)-(possibleHeight/2)) );
else {
setupProjectDialog.setPreferredSize( new Dimension( (minimumProgramWidth-25), (minimumProgramHeight-25)) );
setupProjectDialog.setLocation( ((currProgramWidth/2)-((minimumProgramWidth-25)/2)), ((currProgramHeight/2)-((minimumProgramHeight-25)/2)) );
setupProjectDialog.setResizable(false);
setupProjectDialog.toFront();
setupProjectDialog.pack();
setupProjectDialog.setVisible(true);
public static void main ( String[] args ) {
Main frame = new Main();
frame.pack();
frame.setVisible(true);
createSetupProjectDialog();
// None of these get fired when the Jframe is switched to. I also tried a ComponentListener, but had no joy there either.
public void windowGainedFocus(WindowEvent e) {
System.out.println("Gained");
setupProjectDialog.setVisible(true);
public void windowLostFocus(WindowEvent e) {
System.out.println("GainedLost");
public void windowOpened(WindowEvent e) {
System.out.println("YAY1!");
public void windowClosing(WindowEvent e) {
System.out.println("YAY2!");
public void windowClosed(WindowEvent e) {
System.out.println("YAY3!");
public void windowIconified(WindowEvent e) {
System.out.println("YAY4!");
public void windowDeiconified(WindowEvent e) {
System.out.println("YAY5!");
public void windowActivated(WindowEvent e) {
System.out.println("YAY6!");
public void windowDeactivated(WindowEvent e) {
System.out.println("YAY7!");
public void focusGained(FocusEvent e) {
System.out.println("YAY8!");
public void focusLost(FocusEvent e) {
System.out.println("YAY9!");
SetupProject.java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowFocusListener;
import java.awt.event.WindowListener;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class SetupProject extends JDialog implements ActionListener {
public SetupProject( final JFrame frame, String title, boolean modal ) {
// Setup the JDialog
super( frame, title, modal );
setDefaultCloseOperation( JDialog.DISPOSE_ON_CLOSE );
// Bad code. Is only temporary
add( new JLabel("This is a test.") );
// !!! TESTING
addWindowFocusListener( new WindowFocusListener() {
public void windowGainedFocus(WindowEvent e) {
// Naturally this now doesn't get called after the setVisible(false) call below
public void windowLostFocus(WindowEvent e) {
System.out.println("Lost");
setVisible(false); // Doing this sort of thing since frame.someMethod() always fires a null pointer exception?!
}Any help would be very much greatly appreciated.
Thanks!
TristanHi,
Many thanks for the reply. Isn't that what I'm doing with the super() call though?
As in, in Main.java I'm doing:
setupProjectDialog = new SetupProject( frame, "Create Your Website Project", true );Then the constructor in SetupProject is:
public SetupProject( final JFrame frame, String title, boolean modal ) {
// Setup the JDialog
super( frame, title, modal );
And isn't the super call (since the class extends JDialog) essentially like doing new JDialog(frame,title,modal)?
If not, that would make sense due to the null pointer exception errors I've been getting. Although I did think I'd done it right hence am confused as to the right way to handle this,if so.
Thanks,
Tristan
Edited by: 802573 on 20-Oct-2010 08:27 -
My iPod Touch (3rd Gen) is having problems with the touch screen being unresponsive, too responsive, freezing and constantly resizing. It varies between not responding when I tap the screen and acting as if I double-tap or tap and hold when I tap. Every so often it freezes for a minute or so and then comes back. The scren is constantly changing sizes too such that I often can't see most of the top status bar or other edges. This makes typing almost impossible, ruins most games and generally makes everything difficult, but otherwise the iPod is working correctly. Powering off, shutting down apps, letting it sit have not worked. This has happened once before months ago, but the issue resolved itself somehow. Is this a common problem? Is there a fix?
Try this for the freezing
http://www.apple.com/support/ipodtouch/assistant/ipodtouch/
Or if they don't work put it into recovery mode
See here
http://www.apple.com/support/ipodtouch/assistant/restore/
Then restore
http://support.apple.com/kb/HT1414 -
Problem with the GridBagLayout Manager
Hello i am new to Java Swing and i am facing a problem with the GridBagLayout layout manager . the code in question is attached. First compile and run the code. It will execute w/o probs . Then go to the "Console" tab. There the diff components (6 buttons and 1 text area) are haphazardly arranged where as all measures where taken to prevent it in the code. The GridBagLayout manager for this tab is not working properly please help.
The code in question:-
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class MainForm extends JFrame{
JTabbedPane jtp = new JTabbedPane();
Container generalContainer; // container for the general pane
Container consoleContainer; // container for the console pane
GridBagLayout consoleLayout = new GridBagLayout(); // GridBagLayout for the console
GridBagConstraints consoleConstraints;// GridBagConstraints for the console
public MainForm()
super("Welcome to Grey Griffin -- Network Simulator");
setSize(700,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel generalPane = new JPanel();
generalPane.setLayout(new BoxLayout(generalPane, BoxLayout.Y_AXIS));
JPanel consolePane = new JPanel();
consolePane.setLayout(new BoxLayout(consolePane, BoxLayout.Y_AXIS));
JPanel designPane = new JPanel();
designPane.setLayout(new BoxLayout(designPane, BoxLayout.Y_AXIS));
JPanel outputPane = new JPanel();
outputPane.setLayout(new BoxLayout(outputPane, BoxLayout.Y_AXIS));
//Setting up Layout for all the tabs
//for general tab
FlowLayout layout= new FlowLayout();
generalContainer = generalPane;
layout.setAlignment(FlowLayout.CENTER);
generalContainer.setLayout( layout );
//for console tab
consoleContainer = consolePane;
consoleConstraints = new GridBagConstraints();
// *******Finished********
//********** All buttons text areas are declared here**********
//*******for the general tab**********
JButton generalCreate = new JButton("Create a New Network");
JButton generalOpen = new JButton("Open an Existing Network");
JButton generalSave = new JButton("Save the Network");
JButton generalSaveAs = new JButton("Save As..........");
JButton generalExit = new JButton("Exit");
//******END******
//*******for the console tab
//text area
JTextArea consoleCode = new JTextArea();
consoleCode.setEditable(true);
consoleCode.setMaximumSize(new Dimension(700,400));
consoleCode.setAlignmentX(0.0f);
//text area complete
//*******for the Console tab**********
JButton consoleCompile = new JButton("Compile Code");
JButton consoleSimulate = new JButton("Simulate Code");
JButton consoleReset = new JButton("Reset");
JButton consoleOpen = new JButton("Open script files");
JButton consoleSave = new JButton("Save script files");
JButton consoleConvert = new JButton("Convert Script files to graphical form");
//***************END****************
//Adding buttons and text areas to there respective tabs
// for the general tab
generalContainer.add(generalCreate);
generalContainer.add(generalOpen);
generalContainer.add(generalSave);
generalContainer.add(generalSaveAs);
generalContainer.add(generalExit);
//****END****
// for the console tab
consoleConstraints.fill = GridBagConstraints.BOTH;
addComp(consoleOpen,0,0,1,1);
consoleConstraints.fill = GridBagConstraints.BOTH;
addComp(consoleSave,1,1,1,1);
consoleConstraints.fill = GridBagConstraints.BOTH;
addComp(consoleConvert,1,2,1,1);
consoleConstraints.fill = GridBagConstraints.BOTH;
addComp(consoleCode,1,0,3,1);
consoleConstraints.fill = GridBagConstraints.BOTH;
addComp(consoleCompile,2,0,1,1);
consoleConstraints.fill = GridBagConstraints.BOTH;
addComp(consoleSimulate,2,1,1,1);
consoleConstraints.fill = GridBagConstraints.BOTH;
addComp(consoleReset,2,2,1,1);
//****END****
// adding the tabs
jtp.addTab("General",null,generalPane,"Choose General Options");
jtp.addTab("Design",null,designPane,"Design your own network!!");
jtp.addTab("Console",null,consolePane,"Type commands in console for designing");
jtp.addTab("Output",null,outputPane,"View output");
getContentPane().add(jtp, BorderLayout.CENTER);
//****END****
//This method is used to ad the buttons in the GridBagLayout of the Console tab
private void addComp( Component c,int row,int column,int width,int height)
// set gridx and gridy
consoleConstraints.gridx=column;
consoleConstraints.gridy=row;
//set gridwidth and grid height
consoleConstraints.gridwidth=width;
consoleConstraints.gridheight=height;
//set constraints
consoleLayout.setConstraints(c,consoleConstraints);
consoleContainer.add(c);
class TabManager implements ItemListener
Component tab;
public TabManager(Component tabToManage)
tab = tabToManage;
public void itemStateChanged(ItemEvent ie)
int index=jtp.indexOfComponent(tab);
if (index!=-1)
jtp.setEnabledAt(index,ie.getStateChange()== ItemEvent.SELECTED);
MainForm.this.repaint();
public static void main(String args[])
MainForm form = new MainForm();
form.setVisible(true);
}Thanks for the suggestions. I did away with the GridBagLayout Altogether :-D
and put all the buttons in a seperate JPanel and added that JPanel into the Console tabs container which was using a BorderLayout this time. Take a look
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class MainForm extends JFrame{
JTabbedPane jtp = new JTabbedPane();
public MainForm()
super("Welcome to Grey Griffin -- Network Simulator");
setSize(800,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel generalPane = new JPanel();
generalPane.setLayout(new BoxLayout(generalPane, BoxLayout.Y_AXIS));
JPanel consolePane = new JPanel();
consolePane.setLayout(new BoxLayout(consolePane, BoxLayout.Y_AXIS));
JPanel designPane = new JPanel();
designPane.setLayout(new BoxLayout(designPane, BoxLayout.Y_AXIS));
JPanel outputPane = new JPanel();
outputPane.setLayout(new BoxLayout(outputPane, BoxLayout.Y_AXIS));
//Setting up Layout for all the tabs
//**for the general tab
Container generalContainer;
FlowLayout layoutGeneral= new FlowLayout();
generalContainer = generalPane;
layoutGeneral.setAlignment(FlowLayout.CENTER);
generalContainer.setLayout( layoutGeneral );
//**for the console tab
Container consoleContainer;
consoleContainer = consolePane;
consoleContainer.setLayout(new BorderLayout() );
//Creating buttonpanel for adding the buttons
JPanel buttonPanel1 = new JPanel();
buttonPanel1.setLayout(new GridLayout(1,3));
JPanel buttonPanel2 = new JPanel();
buttonPanel2.setLayout(new GridLayout(1,3));
// All buttons / text areas / images are declared here
//**Buttons for the general tab**//
JButton generalCreate = new JButton("Create a New Network");
JButton generalOpen = new JButton("Open an Existing Network");
JButton generalSave = new JButton("Save the Network");
JButton generalSaveAs = new JButton("Save As..........");
JButton generalExit = new JButton("Exit");
//declaring the buttons
JButton consoleCompile = new JButton("Compile");
JButton consoleRun = new JButton("Run");
JButton consoleReset = new JButton("Reset");
JButton consoleOpen = new JButton("Open script files");
JButton consoleSave = new JButton("Save script files");
JButton consoleConvert = new JButton("Convert Script files to graphical form");
//declares the textarea where the code is written
JTextArea consoleCode = new JTextArea();
consoleCode.setEditable(true);
consoleCode.setMaximumSize(new Dimension(500,600));
consoleCode.setAlignmentX(0.0f);
//Adding buttons and text areas to there respective tabs
//**Buttons and text pads for the general tab**
generalContainer.add(generalCreate);
generalContainer.add(generalOpen);
generalContainer.add(generalSave);
generalContainer.add(generalSaveAs);
generalContainer.add(generalExit);
//adding buttons to the button panel 1
buttonPanel1.add(consoleOpen);
buttonPanel1.add(consoleSave);
buttonPanel1.add(consoleConvert);
//adding buttons to the button panel2
buttonPanel2.add(consoleRun);
buttonPanel2.add(consoleReset);
buttonPanel2.add(consoleCompile);
//adding button panels and textarea
consoleContainer.add(buttonPanel1,BorderLayout.NORTH);
consoleContainer.add(consoleCode,BorderLayout.CENTER);
consoleContainer.add(new JScrollPane(consoleCode));
consoleContainer.add(buttonPanel2,BorderLayout.SOUTH);
//adding the tabs
jtp.addTab("General",null,generalPane,"Choose General Options");
jtp.addTab("Design",null,designPane,"Design your own network!!");
jtp.addTab("Console",null,consolePane,"Type commands in console for designing");
jtp.addTab("Output",null,outputPane,"View output");
getContentPane().add(jtp, BorderLayout.CENTER);
class TabManager implements ItemListener
Component tab;
public TabManager(Component tabToManage)
tab = tabToManage;
public void itemStateChanged(ItemEvent ie)
int index=jtp.indexOfComponent(tab);
if (index!=-1)
jtp.setEnabledAt(index,ie.getStateChange()== ItemEvent.SELECTED);
MainForm.this.repaint();
public static void main(String args[])
MainForm form = new MainForm();
form.setVisible(true);
} -
Getting problem with the new java.util.concurrent package
i m using the new concurrency package of jdk 1.5 in my code. see the line:
Executor threadPool = Executors.newCachedThreadPool();
about this, api doc says Creates a thread pool that creates new threads as needed, but will reuse previously constructed threads when they are available
but i dont find this method to create new threads whenever required. please tell me about this.
in my code, in some rare cases many threads r created, and very difficult to detect the number of active threads.
as the previous one failed i tried with another one newFixedThreadPool(int). but here i got another problem. it works successfully but i dont understand what should be the size of the pool. i tried with 1000, it works well, but in a very rare case, it failed also. then i tried with 10000. but i m still confused, i dont know whether it would work always or not. with traditional threads my code never fails.
please tell me, what should be the size of the pool and also let me know what is the problem with the first one (newCachedThreadPool)The thread pool should not be more than 100 threads. Ideally you should only have a small number of threads per CPU. If your threads are not long running it is possible that you could add 10,000 runnables but on start a small number of threads. Note, adding a thread take a non trivial amount of time so while the thread is added, all the others could finish. This could mean the number of threads could be 140 or smaller.
Have you looked at the code to see what it does? -
Strange problem with the mail app on an iPad
I've got a bit of a strange problem with the mail app on an iPad - it's sending and receiving mail ok but won't let you delete mail. If you keep at it, it appears as if you have deleted mail (though takes a very long time as you just have to keep deleting it over and over again) - but the size of the app still keeps going up - reached 600mb so far, even though there is hardly any mail or attachments (goes up quite a lot each time you try to delete anything) - any idea what's causing this and how I can fix it?
It occasionally comes up with a dialogue panel saying to check my account settings, but I have checked those and they are fine. The little 'loading' icon just keeps spinning constantly too.go to Settings > Mail > your account > Advanced > Move Discarded Messages Into
and make sure that Deleted Mailbox is ticked, and not Archive Mailbox
You can also adjust how long the deleted mail stays in the trash immediately below that.
If you are talking about a gmail account, you may also have to login to your account on the gmail server and update the settings there. This is what Barney previously posted about that: -
Premiere Pro CS4 - Problem with the monitor program.
Hi. I'm not able solving problems with the monitor using PremiereProCS4. When I drag a photo (also only one photo) in the timeline and play it in the monitor program, vision in the monitor program doesn't run:black monitor or a little part of the photo appear... sometimes distort colours. Asus P5QPRO, Intel 9550 and Sparkle Nvidia GeForce 9800 GTX+ 1024 DDR3; last gpu driver and directX are installed. Different configuration of stratch disks were tested. Where am I wrong?
Dear Bill,
thanks for your answer and your article. I tried with your NTSC 4:3 720x480 PAR 0.9 and, "magically", no more problem!!! I used the script pocedure in Photoshop CS4 to resize my images. Now, before starting my workflow and hoping not to overuse your patience, I would like to indicate you my equipment and my target: I use a Canon Eos 7D (generally for still images, 90% are vertical, and just some videos) and I use Premiere Pro CS4 to burn a dvd (normal, 4.7 Gb or double side, more than 8 Gb) with a 16.9 lcd tv (I'm Italian); my camera save as .jpg and .raw (but why use heavy .raw files if I've to redute to 720x480?!??).
So, according to your "everyone wants the highest quality that they can obtain when doing theri videos..." and "your video project may vary, so you will need to plug in the dimensions for YOUR video project in that case", I've a question: which is the best for me?
And then:
1 - Premiere Pro CS4 havn't a batch or a script procedure for still image like PS (only for videos)!?!
2 - Premiere does'nt allow you to import images like 4.181 Kb (a too large dimension file error appears)!
3 - In the timeline of Premiere, after you dragged images, you can select them and right click to perform "resize to frame size": it seems to run good without problem, but what appen to the photo? Which is it's pixel?
4 - In the general preferences of Premiere you can to optimize rendering for "memory" or not: which is the best for you?
5 - I attached file with a screen of something strange in Premiere: dragging an image (the first of the project) in the timeline, the timeline appears distort (you can see the part in the yellow square): then, when I render the project and play in the monitor program, it becames normal.
Thanks! -
Space problems with the SAP Database MS SQL 2000
Hi,
Actually, I have a size problem with the database, I have MS SQL Server 2000 with Service Pack4 on a Windows 2003 Server environment that is my DataBase Server of my ERP ECC 6.0. On the other hand I have a storage where I have 229 Gb of free space used only for the database files of the SAP data and the SAP log file.
But when I check the DB space allocation on trx. DB02 I saw this:
3 Database files and 1 transaction log:
The 3 database files are: PRDDATA1 (size 15,313 MB used 15016 MB) , PRDDATA2 (size 14106 MB used 13984 MB), PRDDATA3 (size 14472 MB used 14352 MB) and the log file is PRDLOG1 ( size 1000 MB) all of them with no limit option and growth by 10%.
So I went to the SQL Enterprise Manager and I saw that my Database PRD properties and I got this information:
My database size is 44892.48 Mb size with only 1330.36 Mb of free space and that is alarming.
So the question here is how ,if I have a storage where the sap data is storing with 229 Gb of free space, can I make the database files grow up in order to use all the available space of my storage.
Can you help me please because it is critical being my productive system?
Best Regards
Erik EspinosaI resolved this issue myself. Thanks for all your help.
Best Regards,
Erik Espinosa -
Function module based generic extractor - Problem with the selection
Hi all
The following is my code in the function module. I am able to get the entire data if i dont give any selections and the number of records is also correct. But when i select a MATNR value, it returns 0 records where as it needs to return 3 records. If i give selection based on bukrs, werks, lgort its working fine. But if i give selection based on MATNR, then it is not working.... I think there is a problem in the bold part of my code. If i debug, LS_MATNR is having the correct value which indicates that there is no problem with the value being passed to LS_MATNR from my selection screen of my datasource in RSA3. Even GT_WERKS is also having data. Please help.
OPEN CURSOR WITH HOLD S_CURSOR FOR
SELECT MARA~MANDT
MARA~MATNR
MARC~WERKS
MARD~LGORT
MARA~MEINS
MARD~LABST
MARD~EINME
MARD~SPEME
MARD~RETME
MARD~INSME
MARD~UMLME
MARD~VMLAB
MARD~VMEIN
MARD~VMSPE
MARD~VMRET
MARD~VMINS
MARD~VMUML
MARC~XCHPF
MARD~KLABS
MARD~KEINM
MARD~KSPEM
MARD~KINSM
from MARA inner join MARC on
MARAMANDT = MARCMANDT AND
MARAMATNR = MARCMATNR
inner join MARD on
MARAMANDT = MARDMANDT AND
MARAMATNR = MARDMATNR
AND MARCWERKS = MARDWERKS
for all entries in gt_werks
where MARC~werks EQ gt_werks-werks
AND MARA~MATNR in LS_MATNR.
ENDIF. "First data package ?
Fetch records into interface table.
named E_T_'Name of extract structure'.
FETCH NEXT CURSOR S_CURSOR
APPENDING CORRESPONDING FIELDS
OF TABLE E_T_DATA
PACKAGE SIZE S_S_IF-MAXSIZE.try this
select marc~matnr MARC~WERKS into t_marc for all entries in gt_werks
where werks EQ gt_werks-werks and lvorm = space.
if t_marc is not initial.
select MARD~LGORT MARD~WERKS MARA~MEINS MARD~LABST MARD~EINME
MARD~SPEME MARD~RETME MARD~INSME MARD~UMLME
MARD~VMLAB MARD~VMEIN MARD~VMSPE MARD~VMRET
MARD~VMINS MARD~VMUML MARC~XCHPF MARD~KLABS
MARD~KEINM MARD~KSPEM MARD~KINSM MARA~MEINS from
mard inner join MARA on mard~matnr = mara~matnr
for all entries in t_marc where mard~matnr = t_marc-matnr and mard-werks = t_marc-matnr
and mard~lvorm = space. -
Problem with the default selection screen condition
hi guys,
I have got some problem with the default screen given by the PNP logical database, P0000 infotype automatically populated according to the condition given in default screen.
Reg,
HariharanDon know what u r trying to acheive.
1) when u have specified PNP in the logical databse field of attributes of program, the SAP wil proivde u default PNP screen and here u can also add ur paramters if u want.
2) in the program u have to declare like
INFOTYPES: 0000,0001. "Etc
for all the infotypes u want to use in the program.
3) it is the GET PERNR event which wil fil all the p0000 and p0001 (internal tables for al the infotypes declared via INFOTYPES syntax as shown above)
4) after tht get pernr, u now have data in P tables and u can use it for further reporting.
5) refer below dummy code -
REPORT ZPPL_PREVEMPLOYERS message-id rp
line-size 250
line-count 65.
*Program logic :- This Report is used to Download all the Previous
* Employer (IT0023) records of the employees
*eject
*& Tables and Infotypes *
tables: pernr.
infotypes: 0000,
0001,
0002,
0023.
*eject
*& Constants *
constants: c_1(1) type c value '1' ,
c_3(1) type c value '3' ,
c_i(1) type c value 'I' ,
c_x(1) type c value 'X' ,
c_eq(2) type c value 'EQ' ,
c_pl03 like p0001-werks value 'PL03'.
*eject
*& Selection-Screen *
parameters: p_file like rlgrap-filename default 'C:TempABC.xls',
p_test as checkbox default c_x .
*eject
*& Internal tables *
* Internal Table for Output
data: begin of t_output occurs 0 ,
pernr like pernr-pernr ,
nachn like p0002-nachn ,
vorna like p0002-vorna ,
orgeh_stext like p1000-stext ,
plans_stext like p1000-stext ,
begda like p0023-begda ,
endda like p0023-endda ,
land1 like p0023-land1 ,
arbgb like p0023-arbgb ,
ort01 like p0023-ort01 .
data: end of t_output .
*eject
*& Variables *
data: o_stext like p1000-stext,
p_stext like p1000-stext.
*eject
*& Initialization *
Initialization.
* Initialize Selection-Screen values
perform init_selction_screen.
*eject
*& AT Selection-screen *
at selection-screen .
* Check if Test run selected, download file name should be entered
if p_test is initial. "
if p_file is initial.
message e016 with 'Please enter file name'
'specifying complete path'.
endif.
endif.
*eject
*& Start-of Selection *
Start-of-selection.
get pernr.
clear t_output.
* Read Infotype 0
rp-provide-from-last p0000 space pn-begda pn-endda.
check pnp-sw-found eq c_1.
* Check if employee is active
check p0000-stat2 in pnpstat2. "pernr Active
* Read Infotype 1
rp-provide-from-last p0001 space pn-begda pn-endda.
check pnp-sw-found eq c_1.
* check if employee belongs to PL03
check p0001-werks in pnpwerks. "belongs to PL03
* Check if emp belongs to Active Group
check p0001-persg in pnppersg.
* Read Infotype 2
rp-provide-from-last p0002 space pn-begda pn-endda.
check pnp-sw-found eq c_1.
* Read Org Unit Text.
CALL FUNCTION 'HR_READ_FOREIGN_OBJECT_TEXT'
EXPORTING
OTYPE = 'O'
objid = p0001-orgeh
begda = p0001-begda
endda = p0001-endda
reference_date = p0001-begda
IMPORTING
object_text = o_stext
EXCEPTIONS
nothing_found = 1
wrong_objecttype = 2
missing_costcenter_data = 3
missing_object_id = 4
OTHERS = 5.
*Read Position Text.
CALL FUNCTION 'HR_READ_FOREIGN_OBJECT_TEXT'
EXPORTING
OTYPE = 'S'
objid = p0001-plans
begda = p0001-begda
endda = p0001-endda
reference_date = p0001-begda
IMPORTING
object_text = p_stext
EXCEPTIONS
nothing_found = 1
wrong_objecttype = 2
missing_costcenter_data = 3
missing_object_id = 4
OTHERS = 5.
* Gather all the required information related to the emp
move: pernr-pernr to t_output-pernr,
o_stext to t_output-orgeh_stext,
p_stext to t_output-plans_stext,
p0002-nachn to t_output-nachn,
p0002-vorna to t_output-vorna.
* Gather previous Employee details
loop at p0023.
move-corresponding p0023 to t_output.
append t_output.
endloop.
*eject
*& End-of Selection *
end-of-selection.
perform print_report.
* Downlaod the file
if not t_output[] is initial.
if p_test eq space.
perform download_file.
endif.
else.
write: 'No records selected' color col_negative.
endif.
*eject
*& Top-of-page *
Top-of-page.
* Print Header
perform print_header.
*eject
*& Form download_file
* Description :
FORM download_file .
DATA: full_file_name TYPE string,
z_akt_filesize TYPE i .
full_file_name = p_file.
* download table into file on presentation server
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = full_file_name
filetype = 'DAT'
NO_AUTH_CHECK = c_x
codepage = '1160'
IMPORTING
FILELENGTH = z_akt_filesize
CHANGING
data_tab = t_output[]
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
not_supported_by_gui = 22
error_no_gui = 23
OTHERS = 24.
IF sy-subrc NE 0.
MESSAGE e016 WITH 'Download-Error; RC:' sy-subrc.
ENDIF.
ENDFORM. " download_file
*eject
*& Form print_report
*Description:
FORM print_report .
data: i type i,
w_count type i.
sort t_output.
* Print the report
loop at t_output.
i = sy-tabix mod 2.
if i eq 0.
format color col_normal intensified on.
else.
format color col_normal intensified off.
endif.
write:/1 t_output-pernr ,
10 t_output-vorna(25) ,
35 t_output-nachn(25) ,
61 t_output-orgeh_stext ,
102 t_output-plans_stext ,
143 t_output-begda ,
154 t_output-endda ,
168 t_output-land1 ,
178 t_output-arbgb(40) ,
219 t_output-ort01 ,
249 space .
endloop.
uline.
Describe table t_output lines w_count.
Skip 2.
Write:/ 'Total No of Records Downloaded: ' color col_total,
w_count.
ENDFORM. " print_report
*eject
*& Form print_header
*Description:
FORM print_header .
skip 1.
Uline.
format Intensified on color col_heading.
write:/1 'Pers. #' ,
10 'Last Name' ,
35 'First Name' ,
61 'Org Unit' ,
102 'Position' ,
143 'Beg Date' ,
154 'End Date' ,
168 'Cntry Key' ,
178 'Prev Employer' ,
219 'City' ,
249 space .
format intensified off color off.
uline.
ENDFORM. " print_header
*eject
*& Form init_selction_screen
*Description:
FORM init_selction_screen .
refresh: pnpwerks,
pnppersg,
pnpstat2.
clear: pnpwerks,
pnppersg,
pnpstat2.
pnpwerks-sign = c_i.
pnpwerks-option = c_EQ.
pnpwerks-low = c_pl03.
append pnpwerks.
pnppersg-sign = c_i.
pnppersg-option = c_EQ.
pnppersg-low = c_1.
append pnppersg.
pnpstat2-sign = c_i.
pnpstat2-option = c_EQ.
pnpstat2-low = c_3.
append pnpstat2.
ENDFORM. " init_selction_screen
Maybe you are looking for
-
I have an two infocubes with different info objects but of same data . Ex: Cube 1 is having Event code.(XEVT).Data in this cube is up to from 2009 to 2010. CUBE 2 is having Event code but tecnical name is different (XEVT1).from 2011 to till date. No
-
Goods receipt for Delivery completed PO
Hi, I have issue with a user(Only one user having this issue),who is able to receive the goods for Fully delivered PO.User can receive up to over delivery tolerance given in the PO.How to restrict this. Issue is this, Purchase Order qty=30 EA Over De
-
Create Connection to MySQL database
Has anyone figured out how to use the cPanel interface at goDaddy in conjunction with Dreamweaver to connect to a database? (They used to use Starfield where I would build my databases and connect to them, but that is all changed now.) Now I cannot e
-
Error when trying to set Organizationalaccountsuffix through Set-AdfsClaimsProviderTrust
I'm in the process of migrating from ADFS 2.0 to 3.0 for our Office 365 integration. It has mostly gone over quite painless being able to export and import the rules quite easily. However on the old system clients where able to log in with just their
-
Photoshop Doesn't Start.
Hello, Photoshop worked fine until yesterday. I wanted to start up my photoshop and i see my mouse cursor loads and then nothing is happening. Already Re-Installed it then he worked then i restarted my pc and it gots the same problem again. I'm an De