2 Jpanels

Status
Niet open voor verdere reacties.

ifstatement

Gebruiker
Lid geworden
16 apr 2012
Berichten
91
Beste iedereen,

Ik ben net nieuw met Java, maar ik heb twee Jpanels die ik wil toevoegen aan een Jframe. Eentje bestaat uit knoppen en Textvlakken. Op de ander wil ik Graphics tekenen, maar die worden niet zichtbaar.
Ik heb de code nu helaas niet bij de hand, dus kan ze niet toevoegen. Ik add beide panels aan een derde panel, met een eigen Border, en zet die als setContentPane op mijn frame.
Kan iemand zo snel vertellen wat er mis gaat? Code volgt nog.

Bedankt
 
Hoi ifstatement,

Het kan goed zijn dat je vergeet je Panels te positioneren.
Of de JPanel zelf, of de positie van de JFrame kan fout zijn.
Het hoeft niet fout te zijn, het is een mogelijkheid.

Code zou inderdaad meer duidelijkheid geven. Ik wacht er op!

Groetjes,
 
Hier is m'n Frame:
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class Basic extends JFrame
{

    public static void main(String args[] ) 
    {
        // Create application frame
        JFrame frame = new Basic();
        frame.setSize( 1200, 1000);
        frame.setLocation( 0, 50);
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
        frame.setTitle( "Java");
        frame.setContentPane(new Doublepanel());
        frame.setVisible(true);
    }
    
}

In mijn doublepanel add ik dus mijn twee overige panels:

Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class Doublepanel extends JPanel
{
	public Doublepanel()
	{
		setLayout( new BorderLayout ());
		
		BasicPanel paneel1 = new BasicPanel();
		ViewPanel paneel2 = new ViewPanel();
		
		add (paneel1, BorderLayout.NORTH);
		add (paneel2, BorderLayout.SOUTH);
	}
	
}

De BasicPanel is dus zichtbaar, maar de ViewPanel niet, dit is die classe:

Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class ViewPaneel extends JPanel
{
	
public ViewPaneel() 
    {
 		setBackground(Color.YELLOW);
 		setLayout( new GridLayout(1,1));
    
    }
	
		public void paintComponent( Graphics g )



		{
		
			int X = 80;
			int Y = 660;
			int A = 450;
		    int midden = getBounds().width / 2;
			g.setColor( Color.YELLOW );	
			g.drawRect( midden -10, 100, 10, 10 );
			g.fillRect( midden -11, 110, 10, 10 );
			g.setColor( Color.RED );
		}
	
}

Hoe zou het dan mis kunnen gaan met de posities van de panelen en het frame? Je ziet wel dat er een 'north' border, met de inhoud van BasicPanel, een 'south' border die dus leeg blijft.

Toch bedankt ;)
 
Hoi,

Sowieso de volgende fout:
ViewPanel != ViewPaneel. Zie de naamvergelijkingen, deze komen niet overeen.

Voor de rest denk ik dat de code in orde is.


Groetjes,
 
okay, ik heb het nu anders gedaan, de knoppen en tekening staan nu op 1 paneel en hebben allemaal een eigen plaats toegewezen gekregen. Het zal wel makkelijker kunnen, maar dit werkt prima!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan