Ich habe ein Swing Programm, in welchem ich ein Rechteck zeichnen möchte.
Dafür habe ich die Methode paint(Graphics g) eingefügt. Wie kann ich aber diese jetzt aufrufen. Habe es einmal mit rpaint() versucht. Funktioniert leider nicht. Hier der Code:
Dafür habe ich die Methode paint(Graphics g) eingefügt. Wie kann ich aber diese jetzt aufrufen. Habe es einmal mit rpaint() versucht. Funktioniert leider nicht. Hier der Code:
Code:
package Programm;
import java.io.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.*;
import javax.swing.border.BevelBorder;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class GUI extends JFrame implements ActionListener{
private JFrame frame = new JFrame();
JButton btnStart = new JButton("Start");
JButton btnReset = new JButton("Reset");
JLabel lblTitel = new JLabel("Robotersteuerung");
JTextField txtX = new JTextField();
JTextField txtY = new JTextField();
JLabel lblX = new JLabel("x-Koordinate");
JLabel lblY = new JLabel("y-Koordinate");
JLabel lbll1 = new JLabel("");
JLabel lbll2 = new JLabel("");
public GUI() {
}
/**
* Diese Methode initialisiert das GUI und startet dieses
*/
public void initGUI()
{
JPanel panelButtonLabel = new JPanel();
panelButtonLabel.setLayout(new GridLayout(4,2,10,10));
panelButtonLabel.add(lblX);
panelButtonLabel.add(txtX);
panelButtonLabel.add(lblY);
panelButtonLabel.add(txtY);
panelButtonLabel.add(btnStart);
panelButtonLabel.add(lbll1);
panelButtonLabel.add(btnReset);
panelButtonLabel.add(lbll2);
JPanel panelAuswahl = new JPanel();
panelAuswahl.setLayout(new FlowLayout());
panelAuswahl.add(flasche);
panelAuswahl.add(golfball);
JPanel panelUnterteilung = new JPanel();
panelUnterteilung.setLayout(new GridLayout(2,2,10,10));
panelUnterteilung.add(lblTitel);
panelUnterteilung.add(panelAuswahl);
panelUnterteilung.add(panelButtonLabel);
btnStart.addActionListener(this);
btnReset.addActionListener(this);
frame = new JFrame("Robotersteuerung");
frame.setSize(900,500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
Container contentPane = frame.getContentPane();
contentPane.setLayout(new BorderLayout());
contentPane.add(panelUnterteilung, BorderLayout.CENTER);
JMenuBar menuBar = new JMenuBar();
JMenuItem beenden = new JMenuItem("Beenden");
JMenuItem ueber = new JMenuItem("Über Robotersteuerung");
beenden.addActionListener(this);
ueber.addActionListener(this);
JMenu menu = new JMenu("Menu");
menu.add(beenden);
JMenu hilfe = new JMenu("Hilfe");
hilfe.add(new JMenuItem("Über Robotersteuerung"));
hilfe.add(ueber);
menuBar.add(menu);
menuBar.add(hilfe);
frame.setJMenuBar(menuBar);
System.out.println(frame.getSize());
frame.setVisible(true);
repaint();
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand()=="Beenden"){
System.out.println("Beenden");
System.exit(0);
}
if(e.getActionCommand()=="Über Robotersteuerung"){
System.out.println("Über Robotersteuerung");
}
}
public void paint(Graphics g)
{
System.out.println("Test");
g.drawLine(100,100,20,300);
g.drawRect(10,10,100,100);
}
public static void main(String[]args){
GUI myGUI = new GUI();
myGUI.initGUI();
}
}