Swing Problem ( JPanel & JButton )

  • Themenstarter Themenstarter wapo
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
W

wapo

Gast
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class GraphTest extends JFrame {
	
	private Leinwand leinwand;
	private JPanel schalterfeld;
	private JButton clear;
	private JButton aus;
	private JComboBox radius;
	private JComboBox art;
	private JComboBox farbe;
	static final long serialVersionUID = 1L;
	
	public GraphTest() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setTitle("GraphTest");
		Container container = getContentPane();
		container.setBackground(Color.LIGHT_GRAY);
		
		//Leinwand
		leinwand = new Leinwand();
		leinwand.setBackground(Color.WHITE);
		
		//Schalterfeld
		schalterfeld = new JPanel();
		
		clear = new JButton("Clear");
		clear.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.out.println(e);
			}
		});
		aus = new JButton("Exit");
		aus.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
		
		schalterfeld.add(clear);
		schalterfeld.add(aus);

		container.add(schalterfeld, BorderLayout.NORTH);
		container.add(leinwand, BorderLayout.CENTER);

	}
	
	public class Leinwand extends JPanel {
		
		static final long serialVersionUID = 1L;
		
		public Leinwand() {
			addMouseListener(new MouseAdapter() {
				public void mousePressed(MouseEvent e) {
					
				}
			});
		}
		
		public void paint(Graphics g) {
			
		}
	}
	
	public static void main(String[] args) {
		GraphTest fenster = new GraphTest();
		fenster.setSize(400,300);
		fenster.setLocation(100,100);
		fenster.setVisible(true);
	}
}

Was nicht funktioniert sind 3 Sachen.
1) Er wird nicht ordentlich schliessen.
2) JPanel leinwand ist nicht vorhanden.
3) Die Buttons gehen nicht.

Kann mir da einer helfen?
 
Ist das zufällig die siebte freiwillige Übung aus dem 1. Semester Informatik an der Uni Lübeck, Vorlesung Programmieren?
 
1. probier mal das frame mit dispose() einfach verschwinden zu lassen, in der regel wird dann alles beendet wenn das letzte sichtbare frame verschwindet (man korrigiere mich wenn das nich ganz stimmt)

2. setze mal minimumSize oder preferredSize des leinwand-Panels und nutze ein fenster.pack() vor setVisible

3. was funktioniert denn nich?
 
bbnvacx hat gesagt.:
Ist das zufällig die siebte freiwillige Übung aus dem 1. Semester Informatik an der Uni Lübeck, Vorlesung Programmieren?

Ja ist es, aber das hilft mir nicht weiter.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben