Window statt Frame

Status
Nicht offen für weitere Antworten.

Rasta80

Mitglied
Hallo

möchte statt einem Frame ein Window (also ohne Rahmen und Titelleiste verwenden) erstellen.
Code:
import java.awt.event.*;
import java.awt.*;


public class Bars1 extends Window 
{
	int h,b;
	boolean active;

	
	public Bars1(int höhe, int breite)
	{
		h = höhe;
		b = breite;

		setSize(450,100);
		setBackground(Color.gray);
		setVisible(true);
		repaint();
		
	}
	
	public void paint(Graphics g)
	{
		if (active)
		{
			g.setColor(Color.blue);
			g.fillRect(50,50,h,b);
		}
		else
		{
			g.setColor(Color.black);
			g.drawRect(50,50,h,b);
		}
			
	}
	
	public static void main(String[] args)
	{
		new Bars1(400, 50);
	}
}

Erhalte dann immer folgende Fehlermeldung: Window() is not public in java.awt.Window; cannot be accessed from outside package {

Ween ich aber Window durch Frame ersetze gehts ohne probleme. Hatt jemand ne Idee? Danke im voraus
 
Ja... der Kontruktor Window() ist nicht public... wie die Fehlermeldung und die API ziemlich deutlich sagen.

Benutz ein Frame, und ruf "Frame.setUndecorated( true );" auf (noch bevor es sichtbar ist), dann werde Titelleisten etc. entfernt.
 
Hatte ich mir auch schon überlegt allerdings lautet die Klausurstellung:

Erstellen sie eine Klasse Bars mit folgenden Eigenschaften:

- Bars ist Unterklasse von Window und soll einen Kostruktor haben, welchem als Parameter die Breite und Höhe eines noch zu zeichnenden Balkens übergeben werden, sowie diese KLasse sichtbar setzt...............

sonst noch ne Idee?
 
Frame erbt ja von Window, dementsprechend wäre auch eine Klasse die von Frame erbt eine Unterklasse von Window.

Sonst bleibt dir nur die Möglichkeit ein Dummy-Frame zu erstellen (ein Frame das nie sichtbar gemacht wird), und dem Konstruktor von Window zu übergeben.
 
und die möglichkeit java zu verarschen indem du den kostruktor ein (Frame) null übergibst
 
Das funktioniert nicht so lange Roar... ich würde mal schätzen etwa 5 Nanosekunden nach dem Aufruf des Konstruktors kommt eine Exception zurück.. :bae:
 
🙁 hm da hab ich mich wohl geirrt. aber mit swing geht das jedenfalls: new JWindow((JFrame)null); 🙂
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben