Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JPanel;
public class Freihandzeichnen extends Applet implements MouseListener
{
private static final long serialVersionUID = 1L;
private JPanel drawPanel = new JPanel();
private Point startPoint = new Point();
@Override
public void init() {
setLayout(new BorderLayout());
drawPanel.addMouseListener(this);
add( drawPanel );
setVisible( true );
}
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {
startPoint.x = e.getX();
startPoint.y = e.getY();
}
public void mouseReleased(MouseEvent e) {
Graphics g = drawPanel.getGraphics();
g.drawLine(startPoint.x, startPoint.y, e.getX(), e.getY());
}
}
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JPanel;
public class Freihandzeichnen extends Applet implements MouseMotionListener, ActionListener
{
private static final long serialVersionUID = 1L;
private JPanel drawPanel = new JPanel();
private Vector<Point> pointCache = new Vector<Point>();
private JButton changeColorButton = new JButton("Change Color");
private Graphics g;
private Vector<Color> colorCache = new Vector<Color>();
private Color cachedColor;
@Override
public void init() {
setLayout(new BorderLayout());
drawPanel.addMouseMotionListener(this);
add( drawPanel, BorderLayout.CENTER );
changeColorButton.addActionListener(this);
add(changeColorButton, BorderLayout.SOUTH);
colorCache.add(Color.RED);
setVisible( true );
}
public void mouseDragged(MouseEvent e) {
Point p = new Point(e.getX(), e.getY());
g = drawPanel.getGraphics();
// draw point
g.drawLine(p.x, p.y, p.x, p.y);
//cache drawed point
pointCache.add(p);
}
public void mouseMoved(MouseEvent e) {}
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals(changeColorButton.getActionCommand())){
changeColor();
}
}
public void changeColor(){
if(g != null){
Point p;
// get cached color
cachedColor = colorCache.firstElement();
// delete cached color
colorCache.remove(0);
// add current color
colorCache.add(g.getColor());
g.setColor(cachedColor);
// change color for each point
for(int i=0; i < pointCache.size(); i++ ){
p = pointCache.get(i);
g.drawLine(p.x, p.y, p.x, p.y);
}
}
}
}