Einzelnen Beitrag anzeigen
Alt 09.12.2003, 09:36   #4 (permalink)
Plautze
Overclocker
 

Registriert seit: 29.08.2003
Beiträge: 270

Plautze befindet sich auf einem aufstrebenden Ast

Standard

also hier die main-klasse:

Code:
package xerces;

import javax.swing.UIManager;
import java.awt.*;

public class Application1 {
  private boolean packFrame = false;

  //Construct the application
  public Application1() {
    Frame2 frame = new Frame2();
    if (packFrame) {
      frame.pack();
    }
    else {
      frame.validate();
    }
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = frame.getSize();
    if (frameSize.height > screenSize.height) {
      frameSize.height = screenSize.height;
    }
    if (frameSize.width > screenSize.width) {
      frameSize.width = screenSize.width;
    }
    frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
    frame.setVisible(true);
  }

  public static void main(String[] args) {
    try {
      UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    }
    catch(Exception e) {
      e.printStackTrace();
    }
    new Application1();
  }
}
hier das frame:

Code:
package xerces;

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

public class Frame2 extends JFrame {
  private JPanel contentPane;
  private TestCanvas test = new TestCanvas(); //unser canvas instanziieren


  //Construct the frame
  public Frame2() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception  {
    contentPane = (JPanel) this.getContentPane();
    contentPane.setLayout(null);
    this.setSize(new Dimension(800, 600)); //grösse
    test.setBounds(new Rectangle(10, 10, 600, 280)); //abmessung unseres canvas-bereiches
    test.setVisible(true); //canvas sichtbar setzen
    contentPane.add(test); //canvas zum frame hinzufügen
  }

  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      System.exit(0);
    }
  }
}
und hier unser canvas:

Code:
package xerces;

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Polygon;
import java.awt.Rectangle;

public class TestCanvas extends Canvas {

  public TestCanvas() {
  }

  public void paint(Graphics g) //paint-methode überschrieben
    {
      Graphics2D g2 = (Graphics2D) g;

      g2.setPaint(Color.red); //zeichenfarbe setzen
      g2.drawRect(10,10,50,50); //quadrat zeichen bei x=10, y=10, breite=50, höhe=50
      g2.fillRect(10,10,50,50); //quadrat mit farbe füllen bei x=10, y=10, breite=50, höhe=50
      g2.setPaint(Color.black); //zeichenfarbe ändern
      g2.drawString("hi smash", 10, 150); //string ausgeben
      g2.drawOval(160,10,200,100); //ellipse ausgeben

    }
}
bei weiteren fragen einfach fragen

grüße
Plautze ist offline   Mit Zitat antworten