SwingConstants.Center Koordinaten für JLabel herausfinden

Status
Nicht offen für weitere Antworten.

aze

Bekanntes Mitglied
Hi,ich möchte gerne wissen wie man es schafft die Koordinaten zu bekommen ,die SwingConstans.Center für ein Label berechnet.

Der Hintergrund ist folgender. Ich möchte ein Label erschaffen ,dass nicht eine herkömmliche Schrift benutzt ,sondern eine Art "3d Schrift" die dadurch entsteht ,dass man zwei mal den gleichen Text mit unterschiedlichen Farben und minimalen Abstand übereinander zeichnet.Und die Schrift soll im Label zentral geschrieben werden.Ich stell mir dass nun so vor dass wenn ich die oben beschriebenen Koordinaten x und y habe folgendes mache:

Java:
int x = ?? // X Koordinate SwingConstants.Center
int y = ?? // Y Koordinate SwingConstants.Center

int value = 5; // Oder eben en andere zahl

graphics.setColor(_shadow);

graphics.drawString(" " + _value,x,y);

graphics.setColor(_text);

graphics.drawString(" " + _value,x - 1,y - 1);

Ich hoffe ihr versteht was ich meine

Schöne Grüße

Aze
 

Wildcard

Top Contributor
Zunächst mal: SwingConstants.CENTER berechnet nichts, das macht das Label.
Es wäre einfacher und vermutlich auch schöner eine entsprechende Schrift mit einem 3D bzw. Schlagschatten Effekt zu setzen.
 

aze

Bekanntes Mitglied
Hmm ich hab jetzt mal auf der genannten Seite und auf ähnlichen geguckt.Irgendwie sind mir die Schriftarten aber zu verspielt.Ich benötige eigentlich was seriöses.
 

Wildcard

Top Contributor
3d Schrift und seriös passt IMO nicht zusammen, aber mach wie du denkst, war wie gesagt nur ein Random Treffer.
 

KrokoDiehl

Top Contributor
Hallo.

Ich denke für die Zentrierung deiner Schriftart muss du die Position selbst berechnen und es dann mit
Code:
Graphics.drawString(String, int, int)
zeichnen lassen.
Ich habe älteren Code gefunden, der mir in einem eigenen
Code:
JTextField
den Text versetzt gezeichnet hat:
Java:
    @Override
    protected void paintComponent(Graphics g) 
    {
        super.paintComponent(g);
        try
        {
          g = g.create();
          String      text        = this.getText();
          FontMetrics metric      = g.getFontMetrics();
          int         fntHeight   = metric.getHeight();
          int         h           = this.getHeight();
          int         y           = (int)( h - (h - (fntHeight))/2) - metric.getDescent();
          int         x           = metric.charsWidth(text.toCharArray(), 0, text.length());
        
          g.setFont( this.getFont() );
          g.setColor( Color.gray );
          g.drawString("versetzt", x+MARGIN, y);
        } //try
        finally
        {
          g.dispose();
        }
    } //void paintComponent(Graphics)

Hiermit wird neben dem normalen Text im Textfeld das Wort "versetzt" in grau mit etwas Abstand dahinter (
Code:
MARGIN
) gemalt.

Was für dich wohl am interessantesten ist, ist das
Code:
FontMetrics
-Objekt, mit dem du ausrechnen (lassen) kannst, wie hoch und breit ein Text ist. Diesen schließlich noch zentriert zu positionieren sollte dann auch noch möglich sein :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Jtabbedpane(SwingConstants.RIGHT) titel nach rechts Wie? AWT, Swing, JavaFX & SWT 2
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
M Bewegtes Bild im BorderLayout.CENTER AWT, Swing, JavaFX & SWT 6
T JLabel in die Mitte(JLabel.CENTER geht nicht) AWT, Swing, JavaFX & SWT 12
A BorderLayout "Center" Inhalt wechseln AWT, Swing, JavaFX & SWT 1
R BorderLayout: EAST, CENTER, WEST AWT, Swing, JavaFX & SWT 5
O Skalierung des Center-Bereichs unterbinden AWT, Swing, JavaFX & SWT 2
G Komponente die im Center und North Bereich liegt zurückgebe? AWT, Swing, JavaFX & SWT 6
D BorderLayout.Center mit 3 Panel und dynamischer Größe AWT, Swing, JavaFX & SWT 2
G Austausch der Center-Fläche AWT, Swing, JavaFX & SWT 3
K Center Text in TextArea AWT, Swing, JavaFX & SWT 8
L Alle Inhalte in BorderLayout.CENTER löschen? AWT, Swing, JavaFX & SWT 2
J Größe con CENTER AWT, Swing, JavaFX & SWT 3
C Polygon Koordinaten richtig sortieren AWT, Swing, JavaFX & SWT 7
C Kleineres Bild an bestimmte Koordinaten setzen AWT, Swing, JavaFX & SWT 6
S JButtons an Koordinaten setzen AWT, Swing, JavaFX & SWT 3
J Java FX Koordinaten NACH Animation setzen, wie? AWT, Swing, JavaFX & SWT 9
F Swing Rotation eines Bildes mit beliebigen Koordinaten um den Mittelpunkt AWT, Swing, JavaFX & SWT 3
B Transformation und Darstellung von Koordinaten AWT, Swing, JavaFX & SWT 5
J in actionPerformed() Koordinaten ändern AWT, Swing, JavaFX & SWT 9
P JavaFX Szenegraph - Koordinaten von Children einer Group AWT, Swing, JavaFX & SWT 0
C Bild Koordinaten AWT, Swing, JavaFX & SWT 6
S Polygon mit double-Koordinaten AWT, Swing, JavaFX & SWT 2
K 3D-Grafik 2 "Boxen" auf unterschiedlichen Koordinaten AWT, Swing, JavaFX & SWT 2
Luk10 Fragen zum Koordinaten System AWT, Swing, JavaFX & SWT 3
K LayoutManager Buttons auf bestimmte x und y Koordinaten AWT, Swing, JavaFX & SWT 2
W 2D-Grafik Koordinaten nicht immer die selben AWT, Swing, JavaFX & SWT 9
J Koordinaten von JButton AWT, Swing, JavaFX & SWT 2
C Caret Position mit X-Y-Koordinaten ermitteln AWT, Swing, JavaFX & SWT 2
D Swing JTable, Zellen-Farbe über Koordinaten ändern AWT, Swing, JavaFX & SWT 9
Y AWT Maus Koordinaten abspeichern in eine Textfile AWT, Swing, JavaFX & SWT 3
D Swing JViewPort, Absolut Koordinaten berechnen. AWT, Swing, JavaFX & SWT 2
C permanente aktualisierung der Koordinaten der Maus auf einem Panel AWT, Swing, JavaFX & SWT 8
T SWT Canvas Koordinaten per MouseMove auslesen AWT, Swing, JavaFX & SWT 1
S Koordinaten aus Array verwenden zum zeichnen auf JPanel?! AWT, Swing, JavaFX & SWT 3
S Swing Text -> HTML: Caret-Koordinaten verschoben AWT, Swing, JavaFX & SWT 6
T Choice "gezielt" darstellen aber wie - mit Koordinaten aber wie? AWT, Swing, JavaFX & SWT 6
D Koordinaten von einem Kreissegment berechnen AWT, Swing, JavaFX & SWT 6
D Mouse Koordinaten AWT, Swing, JavaFX & SWT 2
R drawString mit double Koordinaten AWT, Swing, JavaFX & SWT 5
M Grafik flexibel an berechneten Koordinaten positionieren AWT, Swing, JavaFX & SWT 4
N Alle Pixel-Koordinaten von z.B. g.drawLine(.) speichern AWT, Swing, JavaFX & SWT 7
N Koordinaten erfassen AWT, Swing, JavaFX & SWT 5
S Koordinaten/Raster (ähnlich Schachbrett) anzeigen/ausblenden AWT, Swing, JavaFX & SWT 10
F Ermittlung der X- und Y- Koordinaten im Tree bei Tastaturst. AWT, Swing, JavaFX & SWT 5
D Koordinaten der Bildschirmposition auslesen (MouseListener?) AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben