How to senter a JPanel on a parent container
Hi,
I have a fixed sized JPanel that I want to add to the center of a container. I would like my JPanel's center to be fixed to the center of the container.
I have tried to use GridBagLayout with a GridbagConstraint like follows:
GridBagLayout gridbag = new GridBagLayout();
getContentPane().setLayout(gridbag);
GridBagConstraints c = new GridBagConstraints();
c.fill = c.CENTER;
SubPanel subPanel = new SubPanel();
gridbag.setConstraints(subPanel, c);
getContentPane().add(subPanel);
setSize(400, 500);
setVisible(true);
But this results in the upper left corner of my JPanel being put in the center of the container. Does anyone know how to get the center of my JPanel being placed in the center?
Best regards
// Johan
how about flowlayout?
this.setLayout( new Flowlayout( Flowlayout.CENTER ) );
this.add( subPanel );
This might put it at the center at the top though.
Another way would be to use GridLayout and set the grids, when you add your panel it Should size the cells equal to your largest component which would be the JPanel, then just add blank JLabels to the other cells and add your subpanel to the center cell, that my work better.
Similar Messages
-
How to fire mouse wheel events to parent container?
Hi,
When I create a JPanel (let's say jParent) inside a JScrollPane and this JPanel is larger than the current viewport I can use my mouse wheel to scroll the JPanel's containt without coding anything about that.
But if I add another JPanel-derived component (let's say jChild) to the first JPanel, mouse wheel events are not received by the first JPanel when the mouse is over the new added child JPanel.
How can I forward child's mouse wheel events to the first JPanel?
If I use:
jChild.addMouseWheelListener(jParent)I must implement a mouseWheelMoved() method in jParent that requires some code to work while it was doing it byitself before...
Thanks in advance for any help :-)
Regards,
Lara.you have a mouseWheelListener added to jChild?
if so, in the mouseWheelMoved code include this line
jParent.dispatchEvent(mouseWheelEvent);//or to the scrollpane -
How to tint a JPanel that paints an Image
Hello all,
I have a basic understanding of Java Swing architecture and the Drawing capabilities of the Graphics and Graphics2D classes. However, i am utterly confused how to implement a basic tint over an image.
Overview:
I have a GCard (Graphical Card) class that extends JPanel. This class contains a BufferedImage so that when the GCard is added to a higher-level Container, it paints the BufferedImage. What I want to do is tint that card image to a user specified color (let's say RED) via the GCard.setTint(Color.RED) method and then allow them to control if the tint is on/off via the GCard.setTinted(true) method.
What I have:
Currently, I have the following in my GCard.paintComponent(Graphics g) method:
@Override
protected void paintComponent(Graphics g) {
int xPosition = 0;
int yPosition = 0;
if(image != null) {
g.drawImage(image, xPosition, yPosition, null);
if(isTinted() && tint != null) {
g.setColor(tint);
for(int x = xPosition; x < (xPosition + image.getWidth()); x += 2)
for(int y = yPosition; y < (yPosition + image.getHeight()); y += 2)
g.drawLine(x, y, x, y);
}All this does is implement a rudimentary tinting scheme by setting every other pixel in the panel to the tint color.
What I want:
What I'd like to see instead is a red haze over the entirety of the image. Much like the multiple item selection process that occurs when you select multiple things in a modern-day OS.
How can i do this?
From what I've read/thought out, I can either edit the actual image data to increase the level of the appropriate tint color, but I would prefer to be non-destructive to the image I'm holding in memory. I would prefer to imitate the 'layer' functionality of Adobe Photoshop where my image is the 'background' and I have a transparent panel that is tinted which can be switched on and off. Can I accomplish all of this in the paintComponent() method or will i need to add a JPanel (let's call it a tintPanel)to the GCard object and then add/remove that component from the GCard as necessary?
Thanks for the help!
-PheezSomething likeprotected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(....);
g.setColor(new Color(r, g, b, a)); // where a <1.0
g.fillRect(aRectThatOverlapsTheImage);
}db -
How to make a JPanel selectable
When extending a JPanel and overriding the paintComponent() method the custom JPanel can not be selected so that it gets for example KeyEvents.
But if I make the new Class extend a JButton it gets of course selected and able to receive for example KeyEvents.
My question is therefore; what does the JButton implement that a JPanel doesn’t so that a JButton gets selectable? Or in other words; how to make a JPanel selectable?
Aleksander.Try this extended code. Only the first panel added can get the Focus.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Test extends JFrame
public Test()
setLocation(400,300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel panel1 = new JPanel(new BorderLayout());
JPanel panel2 = new JPanel(new BorderLayout());
ImagePanel imgPanel = new ImagePanel();
panel1.setFocusable(true);
panel2.setFocusable(true);
panel1.setPreferredSize(new Dimension(0, 50));
panel2.setPreferredSize(new Dimension(0, 50));
panel1.setBorder(BorderFactory.createLineBorder(Color.RED, 4));
panel2.setBorder(BorderFactory.createLineBorder(Color.CYAN, 4));
imgPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 4));
panel1.add(new JLabel("Panel 1"), BorderLayout.CENTER);
panel2.add(new JLabel("Panel 2"), BorderLayout.CENTER);
getContentPane().add(panel1, BorderLayout.NORTH);
getContentPane().add(panel2, BorderLayout.SOUTH);
getContentPane().add(imgPanel, BorderLayout.CENTER);
pack();
panel1.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent ke){
System.out.println("Panel1");}});
panel2.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent ke){
System.out.println("Panel2");}});
public static void main(String[] args){new Test().setVisible(true);}
class ImagePanel extends JPanel
Image img;
public ImagePanel()
setFocusable(true);
setPreferredSize(new Dimension(400,300));
try{img = javax.imageio.ImageIO.read(new java.net.URL(getClass().getResource("Test.gif"), "Test.gif"));}
catch(Exception e){/*handled in paintComponent()*/}
addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent ke){
System.out.println("ImagePanel");}});
public void paintComponent(Graphics g)
if(img != null)
g.drawImage(img, 0,0,this.getWidth(),this.getHeight(),this);
else
g.drawString("This space for rent",50,50);
} -
How to dynamically resize JPanel at runtime??
Hello Sir:
I met a problem, I need to resize a small JPanel called panel within a main Control JPanel (with null Layout) if I click the mouse then I can Drag and Resize this small JPanel Border to the size I need at runtime, I know I can use panel.setSize() or panel.setPreferredSize() methods at design time,
But I have no idea how to do it even I search this famous fourm,
How to dynamically resize JPanel at runtime??
Can any guru throw some light or good example??
ThanksWhy are you using a null layout? Wouldn't having a layout manager help you in this situation?
-
How to place a JPanel at the center of another JPanel?
Can anyone tell me how to place a JPanel inside another JPanel? The first JPanel consists of three JPanels each consisting of a label&textfield and are placed using BoxLayout. The second JPanel is a big blank screen. So, i would like to put the first JPanel at the center of second JPanel(horizontally & vertically). The problem is that i don't have any other component. So,if i try to use FlowLayout, i am able to put it at the center(horizontally, not vertically) only on the top edge. I tried to use BoxLayout. But, i couldn't(as i don't have any other elements). I tried to create some blank elements. But, they are messing up the elements of my JPanel. Any cluesssssssss??????????
import java.awt.*;
import javax.swing.*;
public class CenteredLayout
private JPanel getPanel()
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = new Insets(2,2,2,2);
JPanel p = new JPanel(gridbag);
addComponents(new JLabel("label 1"), new JTextField(8), p, gbc);
addComponents(new JLabel("label 2"), new JTextField(8), p, gbc);
addComponents(new JLabel("label 3"), new JTextField(8), p, gbc);
JPanel panel = new JPanel(gridbag);
panel.setBackground(Color.pink);
gbc.anchor = GridBagConstraints.CENTER;
gbc.insets = new Insets(0,0,0,0);
panel.add(p, gbc);
return panel;
private void addComponents(Component c1, Component c2, Container c,
GridBagConstraints gbc)
gbc.anchor = GridBagConstraints.EAST;
gbc.gridwidth = GridBagConstraints.RELATIVE;
c.add(c1, gbc);
gbc.anchor = GridBagConstraints.WEST;
gbc.gridwidth = GridBagConstraints.REMAINDER;
c.add(c2, gbc);
public static void main(String[] args)
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(new CenteredLayout().getPanel());
f.setSize(400,400);
f.setLocation(200,200);
f.setVisible(true);
} -
How to add an Icon to a parent menu item in Command Center?
Hi guys,
does anybody know how to add an icon to a parent maenu item in Command Center? BTW, I'm using SBO 6.5
Cheers,
OkiThe SDK doesn't provide any features for adding icons to the command center in SBO6.5.
Version 2004 has a new image property for menu items that can be used.
John. -
How to sent the data reading in labview to excel datasheet
Hi,
I have aquire the current input from Cb68LP connector block to the labview.Thank a lot
But I not sure how to sent the data to the excel datasheet(with row and column).
thankHi.
You can save your data as "Spreadsheet-File". I my case I aquire digital data.
the channels are the rows and the pattern are the columns.
The Spreadsheet-File you can save as .txt then you can open it directly
in Excel.
Attachments:
wf.JPG 194 KB -
How do I put some kind of parental controls on my ipad 2? My 7 year old daughter just purchased, without my permission, $275 worth of in app purchases in Mall Stars game. Any tips on how to reverse that purchase?
You can also contact itunes support and ask for a refund.
expresslane.apple.com
https://expresslane.apple.com/Issues.action -
How can i centre two side by side divs vertically so they both are in the centre of there parent /containing div? One of the divs is larger than the other so i would want the smaller one to centre inside a parent div like so:
Grey= parent/container (Width of both orange and red div)
Orange= Div 1
Red= Smaller div- centralised (hopefully)If you wanted to go completely "Not for IE8 or lower" and use some of the often overlooked viewport units, it could be very responsive to browser resizing...
<!doctype html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<title> VW, it's not just a car for Mac users...</title>
<style>
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
box-sizing:border-box;
#gray {
background-color:gray;
width:80vw;
margin:0 auto;
height:40vw;
font-size:2vw;
#red {
width:50%;
height:50%;
background-color:red;
margin-top:12.5%;
float:left;
#orange {
background-color:orange;
width:50%;
height:100%;
float:left;
</style>
<!--[if lt IE 9]>
<link href="IE-only.css" rel="stylesheet" type="text/css">
<![endif]-->
</head>
<body>
<div id="gray">
<div id="orange"></div>
<div id="red"></div>
</div>
</body>
</html> -
How to sent importet RAW files into the cloud? The files was importet from Canon EOS via camera adapter to the iPad. The Files was stored in the folder importet. But the files does not sync with photostream.
Welcome to the Apple community.
Only photos taken on the iOS device and after photo stream was enabled will be added to photo stream. -
How to sent/recie​ve simple USB commands?
Hello,
Before I start. I've been reading om the internet (USB tutorials, nuggets, etc.) for the last 2 days to get this,
but it is really confusing and I still have no idea how to do this. So I'm asking for your help.
I setup a custom USB device in MAX.
I need to sent this command: 0x2 M 1 0x3
Were 0x2 defines the start and 0x3 defines the end of the command.
I think I have to use a control transfer, but I do not understand what to use at the Index, Value, Request Value,
Request and Length inputs. I also do not understand how to sent Hex, Dec and ASCII at the same time.
Do I need to convert these values?
I would really appreciate some example code. Can I use the VISA commands?
Kudos will be given, thank you in advance
The Enrichment Center is required to remind you that you will be baked, and then there will be cake.
Solved!
Go to Solution.Heinen wrote:
I need to sent this command: 0x2 M 1 0x3
I also do not understand how to sent Hex, Dec and ASCII at the same time.
Do I need to convert these values?
I am not sure about the Index, Value, Request Value,
But about sending your comand....
I assume the space before the "M" and the space after the "1" is not needed,
but the space between the "M" and the "1" is needed
Omar -
How do i change birthday and get parent approval
We created a account for our son but we used a different b-day. how do change is birthday and get parent approval. He is a minor.
Hi mmitchell619,
Welcome to the Apple Support Communities!
I understand that you would like to edit the birth date for your son’s Apple ID. To change the birthday, please use the steps located in the following article.
Update the birth date associated with your Apple ID - Apple Support
Best regards,
Joe -
How to create multiple BOM of same parent item?
Hi All,
Please guide me, How to create multiple BOM of same parent item? I tried but system throws a message as same Parent Item already exist in the table. I am afraid if system supports this functionality or not?Hi,
You are welcome.......
Well the exact process would be as I mentioned in my previous post.
1. Create the BOM for an item
2. Choose this item in the Production Order
3. Then in this Production order you can change/ delete/ add whichever item you want .
OR
If all the child items are completely different from the original BOM then you can use the Special Type BOM in which you can always create the BOM while creating the Production Order itself. There is no standard BOM here.
J Nagesh -
How to sent text from my C# WinForm program to another program - where the cursore is
hi
how to sent text from my C# WinForm program to another program - where the cursore is
for example: i have in my program label that contain "ABC" , when i press 'Z'
the ABC will Appears where the cursore is standing.
how to do it ?
what to look for ?
thanksHi E_Gold,
You'll need to:
1) Bring the app to the front
2) SendKeys to the app
This code will send "ABC" to MS Word:
using System.Runtime.InteropServices;
private void Form1_Load(object sender, EventArgs e)
// Send the keys 'ABC' to MS Word:
SendKeysToApp("word", "ABC");
private void SendKeysToApp(string appName, string keys)
if (BringAppToFront(appName))
SendKeys.Send(keys);
[DllImport("User32.dll")]
private static extern void SwitchToThisWindow(IntPtr hWnd, bool fAltTab);
private bool BringAppToFront(string processName)
IntPtr hWnd = HWnd(processName);
if (hWnd != new IntPtr(0))
SwitchToThisWindow(hWnd, true);
return true;
else
return false;
private IntPtr HWnd(string processName)
IntPtr hwnd = new IntPtr(0);
using (Process process = ProcessGet(processName))
if (process != null)
try
IntPtr h = process.MainWindowHandle;
hwnd = h;
catch
if (hwnd != new IntPtr(0))
return hwnd;
return hwnd;
public Process ProcessGet(string processNameToGet)
if (processNameToGet == "")
return null;
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
if (process.ProcessName.IndexOf(processNameToGet, StringComparison.CurrentCultureIgnoreCase) != -1)
return process;
return null;
For info on sending special keys such as "Enter", so this page on MS website:
SendKeys Class
Hope this helps.
Thanks, Andy
Maybe you are looking for
-
Indifferent behaviour of non database CHECKBOX in Forms6i
I've the following kind of UI in forms 6i: There's a multi record data block to which i have added a non database checkbox(just an UI item). Depending on whether the checkbox is checked i need to mass update the records, if unchecked then no need of
-
ODI Knowledge Module for UNION - UNION ALL - INTERSECT Case Study
All about BI & Data Integration: ODI Knowledge Module for UNION , UNION_ALL, INTERSECT
-
How to use command line with acrobat to extract page(s) from pdf file?
I have adobe acrobat, and have a pdf file with over 500 pages. I need to extract small chunks of pages from it as seperate pdf files. I was hoping I could use command line interface to do this faster. Something like: acrobat src des start end so for
-
Problems viewing PDFs filled out on a Mac on a PC
After searching the forums, I didn't see this exact issue, so my apologies if it is posted somewhere. I'm using Abode Pro 9 and created new applications for our students to use with LiveCycle Designer ES 8.2 (using a PC with XP). We then Reader enabl
-
Urgent-------ACLs with Custom Realm.
Can anyone list acls that have to define in my Custom Realm to start default server successfully? Thanks.