Discussions
Categories
- 197K All Categories
- 2.5K Data
- 546 Big Data Appliance
- 1.9K Data Science
- 450.8K Databases
- 221.9K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 552 MySQL Community Space
- 479 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.1K ORDS, SODA & JSON in the Database
- 556 SQLcl
- 4K SQL Developer Data Modeler
- 187.2K SQL & PL/SQL
- 21.4K SQL Developer
- 296.3K Development
- 17 Developer Projects
- 139 Programming Languages
- 293K Development Tools
- 110 DevOps
- 3.1K QA/Testing
- 646.1K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 158 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.2K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 19 Java Essentials
- 162 Java 8 Questions
- 86K Java Programming
- 81 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 205 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 468 LiveLabs
- 39 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 175 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 233 Portuguese
Problem with callin components in jpanel

874712
Member Posts: 5
I created a function to change panels in jPanel1 of my application. This code worked for a while, but as I added a panel it stopped working. Now it is not working for any of the panels, it was working with before.
The change panel function is as follows:
Edited by: 871709 on 12-Jul-2011 02:21
The change panel function is as follows:
public void changePanel(JPanel panelchange) { System.out.println("entered in changePanel function phase1"); // just for debugging purpose //panelchange = new EditMemberPanel(); panelchange.setVisible(true); jPanel1.removeAll(); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(this.jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(panelchange, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); System.out.println("entered in changePanel function phase2"); // just for debugging purpose jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(panelchange, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); System.out.println("exiting changePanel function"); // just for debugging purpose }when I call this fuction all the debugging phrases are coming in the command line, even the size of the panel is changing as the size of the panel passed, but the components are'nt visible. Any help will be highly appreciated. thnx
Edited by: 871709 on 12-Jul-2011 02:21
Answers
-
Just call in the end of the method.
JPanel1.revalidate(); JPanel1.repaint();
-
already tried
jPanel1.revalidate()
jPanel1.repaint()
The main problem is that the code was working perfectly fine until I used this function to change a panel. After that the code didnt worked at all.
not even on the panels it was working on before. -
I see nothing wrong in the code. Post SSCCE to show the problem.
Why do you change visibility of the panel? May be somewhere outside it is made invisible. -
I used netbeans to generate code for me. It had some error, because when I generated this code again it started working.
Current code ispublic void changePanel(JPanel panelchange) { System.out.println("entered in changePanel function phase1"); //panelchange = new EditMemberPanel(); jPanel1.removeAll(); jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(37, 37, 37) .addComponent(panelchange, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(162, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(44, 44, 44) .addComponent(panelchange, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(605, Short.MAX_VALUE)) ); panelchange.setVisible(true); System.out.println("exiting changePanel function"); jPanel1.revalidate(); jPanel1.repaint(); }
This discussion has been closed.