Witam, pisze edytor map do mojej gry, i mam pewien problem, mianowicie kiedy próbuje coś narysować za pomocą Graphics2D znika mi Gui zrobione JFrame, czy ktoś wie czym to jest spowodowane lub jak mozna to naprawic?
package pl.thejakubx.paperman.worldeditor;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Okno extends JFrame implements MouseListener, MouseMotionListener, ActionListener {
JButton BXD, BExit;
JLabel Px, Py, Pt, Pid1,Pid2;
JTextField Tx, Ty;
JComboBox CObiectId;
public Okno(){
addMouseListener(this);
// addMouseMotionListener(this);
setSize(960+150,640);
setTitle("Paperman WorldEditor");
setLayout(null);
setResizable(false);
Pid1 = new JLabel("ID:");
Pid1.setBounds(958,10,100,10);
add(Pid1);
Pid2 = new JLabel("176");
Pid2.setBounds(958+15,10,100,10);
add(Pid2);
Px = new JLabel("X: ");
Px.setBounds(958,35,100,10);
add(Px);
Py = new JLabel("Y: ");
Py.setBounds(958+55,35,100,10);
add(Py);
Tx = new JTextField("x");
Tx.setBounds(960+10,30,40,20);
add(Tx);
Tx.addActionListener(this);
Ty = new JTextField("y");
Ty.setBounds(960+10+55,30,40,20);
add(Ty);
Ty.addActionListener(this);
Pt = new JLabel("Type:");
Pt.setBounds(960,60,40,20);
add(Pt);
CObiectId =new JComboBox();
CObiectId.setBounds(960+30, 60, 100, 20);
CObiectId.addItem("---");
CObiectId.addItem("Wall");
CObiectId.addItem("R_Wall");
CObiectId.addItem("L_Wall");
CObiectId.addItem("Roof");
CObiectId.addItem("Floor");
CObiectId.addItem("D_Spikes");
CObiectId.addItem("Saw");
CObiectId.addItem("Point");
CObiectId.addItem("Start");
CObiectId.addItem("Finish");
CObiectId.addActionListener(this);
add(CObiectId);
}
public void paint(Graphics g) {
// super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
// prostokat
g2d.drawRect(10, 10, 380, 380);
// kolo
g2d.drawOval(10, 10, 380, 380);
}
public static void main(String[] args){
Okno okno = new Okno();
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
okno.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
Object zrodlo = e.getSource();
if(zrodlo == CObiectId){
System.out.print(CObiectId.getSelectedItem());
}
/* if(zrodlo == BXD){
LWypisz.setText(LWypisz.getText()+"XD");
}
if(zrodlo == BExit){
dispose();
}
if(zrodlo == Ttekst){
LWypisz.setText(Ttekst.getText());
}*/
}
@Override
public void mouseClicked(MouseEvent e) {
Tx.setText(e.getX()+"");
Ty.setText(e.getY()+"");
}
@Override
public void mouseEntered(MouseEvent e) {
Tx.setText(e.getX()+"");
Ty.setText(e.getY()+"");
}
@Override
public void mouseExited(MouseEvent e) {
Tx.setText(e.getX()+"");
Ty.setText(e.getY()+"");
}
@Override
public void mouseMoved(MouseEvent e) {
Tx.setText(e.getX()+"");
Ty.setText(e.getY()+"");
}
@Override
public void mousePressed(MouseEvent e) {
Tx.setText(e.getX()+"");
Ty.setText(e.getY()+"");
}
@Override
public void mouseReleased(MouseEvent e) {
Tx.setText(e.getX()+"");
Ty.setText(e.getY()+"");
}
@Override
public void mouseDragged(MouseEvent e) {
Tx.setText(e.getX()+"");
Ty.setText(e.getY()+"");
}
}