Auf Thema antworten

Ich versuche mich auch gerade in die Grafikprogrammierung von Java hineinzuarbeiten.

Daher möchte ich keinen neuen Thread aufmachen sondern diesen hier mit nutzen.


Man lehrte uns, die Bibliothek awt - "Graphics" einzubziehen.. Sie wird für die 2D - Programmierung genutzt.


Damit kann man Linien, Kreise, Rechtecke, Quadrate usw. zeichnen.

Dazu habe ich auch ein Tutorial gefunden. Leider aber auf Englisch:

Java Programming Tutorial - 84 - Drawing Graphics - YouTube


Wir nutzen gerade den Window Builder. Er dient als Java GUI Designer:

Eclipse Tutorial: GUI-Anwendungen mit WindowBuilder: Der Einstieg - YouTube

Er soll als Hilfe dienen um Fenster schneller aufbauen zu können.


Nun bin ich gerade dabei, einfache Rechtecke in einem JPanel zu zeichnen.

Es funktioniert auch. Aber, ich diese Rechtecke werden auf der Grundfläche im content Pane gezeichnet.

Ich möchte diese Rechtecke aber in einem weiteren JPanel zeichnen lassen. 

Also die Bounds davon als Bezugspunkt nutzen. Wie bekomme ich das hin? ???:L


Hier mein aktueller Quelltext:


[code=Java]package Sinus;

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.EventQueue;

import java.awt.Graphics;        // für Grafiken in der GUI

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import javax.swing.JButton;

import javax.swing.JTextField;



public class Sinus extends JFrame {


   

   

    JPanel contentPane = new JPanel();

    private JPanel Sinuspanel;

    private JTextField textField;

    private Graphics g2D;

   

   

    /**

     * Launch the application.

     */

   


   

   

    public static void main(String[] args) {

        EventQueue.invokeLater(new Runnable() {

            public void run() {

                try {

                   

                    Sinus frame = new Sinus();

                    frame.setVisible(true);

                   

                   

                } catch (Exception e) {

                   

                   

                    e.printStackTrace();

                   

                   

                }

            }

        });

    }


   

   

   

   

    /**

     * Create the frame.

     */

   

   

    public Sinus() {

       

       

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        setBounds(100, 100, 800, 400);

        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

        setContentPane(contentPane);

        contentPane.setLayout(null);

       

        JPanel Sinuspanel = new JPanel();

        Sinuspanel.setBounds(50, 50, 450, 207);

        contentPane.add(Sinuspanel);

        Sinuspanel.setLayout(null);

       

        textField = new JTextField();

        textField.setBounds(25, 251, 86, 20);

        contentPane.add(textField);

        textField.setColumns(10);

        contentPane.add(Sinuspanel);

       

        // 900 = Start des Fensters vom linken Bildschirmrand bis zum Beginn der linken Seite des Fensters

        // 400 = Start des Fensters vom oberen Bildschirmrand bis zum Beginn der Kopfseite des Fensters

        // 130 = Die Breite des Fensters

        // 300 = Die Höhe des Fensters

   


       

    }        // Wie kann ich diesen Teil in einem JPanel ( in meinem Fall: "Sinuspanel") integrieren?

    public void paint (Graphics g2D){

       

        g2D.setColor(Color.BLUE);

        g2D.fillRect(25,35,100,30);

       

        }

    }

[/code]



Oben