carookee - group communication for you
Home / JavaForum / Swing + AWT
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.106 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 193 von 1460 (13%) |<   <   >   >|

Autor Merci
Datum 10.12.03, 15:24
Betreff Programm schreiben


1.Schreiben Sie die Methode
Achteck(x,y,w,h), die in dem von den 4 Koordinaten definierten Raum ein Achteck darstellt

2.Scheiben Sie ein Programm, das ein Fenster erzeugt, das immer den Focus behält (d.h. sich den Focus sofort zurückholt, wenn es ihn verliert). (Unten der Teil müsste modifiziert werden)

Ich muß eine dieser Aufgaben lösen, jedoch blieben
alle Versuche von mir bisher ohne Erfolg.

Danke



import java.awt.*;
import java.awt.event.*;

/**

Zeigt Fokus beim an- und Abschalten mit String an
mit eigenem Objekt für die Koordinatenberechung des Ausgabetextes
*/


class myFocus3 extends Frame
{

// public int kreisX = 30;
// int kreisY = 30;

// private boolean hatFocus = true;
private Font f;
public String AUSGABETEXT = "xxx";
private final int FONTGROESSE = 26;


public static void main (String[] args)
{
myFocus3 mf = new myFocus3();
}



public myFocus3()
{
super("Schreibt einen Text der anzeigt, ob das Fenster den Focus hat ");
addWindowListener(new WindowClosingAdapter(false));
addFocusListener(new myFocusListener());
setBackground(new Color(0,88,0));
f = new Font("Verdana", Font.PLAIN, FONTGROESSE);

setSize(500,400);
setVisible(true);
}



public void paint(Graphics gra)
{

Dimension di = getSize();
gra.setColor(new Color(99,255,88));

gra.fillRect(0,0, di.width, di.height ) ;

textKoordinaten tk = new textKoordinaten(AUSGABETEXT, FONTGROESSE,f);

Point textPunkt = tk.textKoBer(this, gra);

gra.drawString(AUSGABETEXT, textPunkt.x, textPunkt.y);

}
}

class textKoordinaten
{
int FONTGROESSE;
String AUSGABETEXT;
Font f;

textKoordinaten(String AUSGABETEXT, int FONTGROESSE,Font f )
{
this.AUSGABETEXT = AUSGABETEXT;
this.FONTGROESSE = FONTGROESSE;
this.f = f;
}

// Koordinaten für zentrierten Text berechnen
Point textKoBer(myFocus3 fenster, Graphics gra)
{
Dimension di = fenster.getSize();

int minOben, minLinks, maxRechts, maxUnten, hoehe, breite;

// Grenzen des beschreibbaren Fensters
minOben = fenster.getInsets().top;
minLinks = fenster.getInsets().left;
maxUnten = di.height - fenster.getInsets().bottom;
maxRechts = di.width - fenster.getInsets().right;

// hohe Breite des beschreibbaren Fensters
hoehe = maxUnten -minOben;
breite = maxRechts - minLinks;

gra.setColor(Color.blue);
gra.setFont(f);
FontMetrics fm = gra.getFontMetrics();
int stringLaenge = fm.stringWidth(AUSGABETEXT);


int textX, textY;

textX = minLinks + (int)breite/2 - (int)stringLaenge/2;
textY = minOben + (int)hoehe/2 + (int)FONTGROESSE/2;

Point ergPunkt = new Point (textX,textY);
return ergPunkt;

}
}

class myFocusListener extends FocusAdapter
{

public void focusGained(FocusEvent event)
{

myFocus3 fenster = (myFocus3) event.getSource();
fenster.AUSGABETEXT = "Focus !!" ;
fenster.repaint();
}

public void focusLost(FocusEvent event)
{
myFocus3 fenster = (myFocus3) event.getSource();

fenster.AUSGABETEXT = "Kein Focus !!" ;
fenster.repaint();
}

}


Diskussionsverlauf:
Programm schreiben
    Re: Programm schreiben

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com