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