paint Methode

Status
Nicht offen für weitere Antworten.

Paddel

Bekanntes Mitglied
Ich habe mal ne Frage zu der Paint Methode. Ich habe wie unten zu sehen eine Klasse von JPanel abgeileitet und in den Frame gepackt. Das steht in der unteren Klasse wo die Kommentare stehen. Aber ich verstehe nicht was nun daran falsch sein soll. Laut meinem Buch muss man nur eine von JPanel abgeleitete Klasse mit der Drwa Methode in einen Frame adden und dann zeichnet sich due Linie neu... Hab es auch mit Repiant versucht. Aber mein Fehler eluchtet mir irgendwie nicht ein... Wäre nett wenn mir da jemand helfen köönte Gruss Paddel
Code:
import java.awt.Graphics;

import javax.swing.JPanel;

public class Panel2 extends JPanel
{
	public void draw(Graphics g)
	{
		g.drawLine(10, 10, 100, 10);
	}
}

Code:
public class Index {
	
	JFrame frame=new JFrame("Michi ist doof");
	JButton eingeben=new JButton("eingeben");
	TextArea ausgabe=new TextArea();
	JPanel links=new JPanel();
	JPanel rechts=new JPanel();
	JPanel innen=new JPanel();
	
	GridLayout layout=new GridLayout(1, 0);
	
	TextField eingabe=new TextField(20);
	JMenuBar menuBar = new JMenuBar(); 
	String text=null;
	
	public void aufrufen()
	{
	
		JMenu fileMenu = new JMenu( "Datei" ); 
		menuBar.add( fileMenu ); 
		fileMenu.add( new JMenuItem("Beenden") );
		frame.setJMenuBar(menuBar);
		menuBar.add( fileMenu ); 
 

		
	    frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); 
	frame.setSize(400, 400);
	frame.setLayout(null);
	Panel2 pan=new Panel2();    //HIER GEHTS LOS!
	pan.setBounds(10,10, 100, 100);
	frame.add(pan);                 //ENDE
		eingeben.addActionListener(new ActionListener() {
	       public void actionPerformed(ActionEvent e) {
	    	   text=eingabe.getText();
	    	   ausgabe.setText(text);
	    	   
	       }
    });
	frame.pack();
	frame.setVisible(true);
	
	}
	public static void main(String[] args) {
		Index index=new Index();
		index.aufrufen();
	}
 
Code:
import java.awt.Graphics;

import javax.swing.JPanel;

public class Panel2 extends JPanel
{
	 @Override 
	  protected void paintComponent( Graphics g ) 
	  { 
	    super.paintComponent( g ); 
		g.drawLine(10, 10, 100, 10);
	}
}
so hab ichs nun geändert steht orginal hier[/quote]
 
> Aber ich verstehe nicht was nun daran falsch sein soll.

beschreibe doch mal, was daran denn falsch IST?!

bei mir funktionierts, außer das du mit pack() eine minimale GUI hast,
verwende
frame.setSize(400,400);
statt pack();
dann sieht man auch was,

und noch ein Tipp:
Border verwenden, dann siehst du eher, ob Komponenten gezeichnet werden


pan.setBorder(BorderFactory.createLineBorder(Color.GREEN));
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben