FlowLayout ausrichtung | "Wasserzeichen" im JFrame

Status
Nicht offen für weitere Antworten.

b0unc3

Bekanntes Mitglied
Ich habe folgendes problem:

ich will ein JLabel links anzeigen lassen, deshalb füge ich es so ein . . .

Code:
getContentPane().add(meinJLabel, FlowLayout.LEFT);

aber dann wird es mir trotzdem immernoch mittig angezeit, kann mir jemand sagen, warum?
 

Timmah

Bekanntes Mitglied
Was hat denn das ContentPane für ein Layout?

Du solltest evtl. dem JLabel diese Ausrichtung schon mitgeben. Dann sollte das funktionieren.
 

b0unc3

Bekanntes Mitglied
ContentPane hat das FlowLayout . .

Das mitgeben geht auch nicht. . hab es jetzt so gemacht:

Code:
JLabel meinLabel = new JLabel("Text", FlowLayout.LEFT);

aber steht miemrnoch mittig

//EDIT:

achja das layout hab ich im kopf so festgelegt

getContentPane().setLayout( new FlowLayout());
 

Ralf Ueberfuhr

Bekanntes Mitglied
Der Parameter im Konstruktor von JLabel sollte SwingConstants.LEFT sein und bedeutet die innere Ausrichtung im JLabel selbst. Das sagt nichts über die Ausrichtung auf dem ContentPane.

Code:
getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT));
 

b0unc3

Bekanntes Mitglied
ah okay, thx . .hab das Problem jetzt anders gelöst. Ich habe ein "null" Layout genommen und hab das jetzt alles da hin gesetzt, wo es hinsoll xD . . Aber ich hab mal ne andere Frage:

Kann ich in einem JFrame eine Art Wasserzeichen im Hintergrund einfügen?
 

André Uhres

Top Contributor
b0unc3 hat gesagt.:
..Kann ich in einem JFrame eine Art Wasserzeichen im Hintergrund einfügen?
Code:
//package paint;
/*
 * WatermarkSimulator.java
 * [url]http://today.java.net/pub/a/today/2005/07/12/visualizations.html?page=2[/url]
 */
import java.awt.*;
import java.awt.image.BufferedImage;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;
public class WatermarkSimulator {
    public static void main(String[] args) {
        BufferedImage image = null;
        JFrame frame = new JFrame("WatermarkSimulator");
        frame.setSize(new Dimension(510, 450));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.getContentPane().setLayout(new GridBagLayout());
        frame.getContentPane().add(new JButton("Hello"));
        JWatermark.createWatermark(frame, "Development");
        frame.setVisible(true);
    }
}
class JWatermark extends JComponent{
    private static final float OPACITY = 0.15f;
    private static final double ROTATION = -(Math.PI / 4);
    private Font font = UIManager.getFont("Label.font");
    private String text = "";
    public static Integer WATER_MARK_LAYER
            = new Integer(JLayeredPane.FRAME_CONTENT_LAYER.intValue()
            + 1);
    public JWatermark(String text) {
        this.text = text;
    }
    public void paintComponent(Graphics g){
        super.paintComponent(g);
        Window window = SwingUtilities.getWindowAncestor(this);
        Rectangle viewRect = window.getBounds();
        int halfWidth = viewRect.width / 2;
        int halfHeight = viewRect.height / 2;
        Graphics2D graphics2D = (Graphics2D) g;
        AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, OPACITY);
        graphics2D.setComposite(ac);
        final int minSide = Math.min(viewRect.width, viewRect.height);
        font = font.deriveFont((float)( minSide / 7));
        graphics2D.setFont(font);
        Rectangle textRect = new Rectangle();
        graphics2D.setFont(font);
        graphics2D.rotate(ROTATION, halfWidth, halfHeight);
        SwingUtilities.layoutCompoundLabel(this,
                graphics2D.getFontMetrics(), text, null,
                SwingConstants.CENTER, SwingConstants.CENTER,
                SwingConstants.CENTER, SwingConstants.CENTER,
                viewRect, new Rectangle(), textRect,
                0);
        graphics2D.setColor(getForeground());
        int string_x = halfWidth - (int) (textRect.width / 2);
        int y = halfHeight + textRect.height / 7;
        graphics2D.drawString(text, string_x, y);
    }
    public static void createWatermark(JFrame frame, String text){
        JWatermark watermark = new JWatermark(text);
        watermark.setOpaque(false);
        Dimension screenSize =
                Toolkit.getDefaultToolkit().getScreenSize();
        watermark.setBounds(0, 0,
                (int)screenSize.getWidth(),
                (int)screenSize.getHeight());
        watermark.setVisible(true);
        watermark.setForeground( Color.BLUE );
        final JLayeredPane jLayeredPane = frame.getLayeredPane();
        jLayeredPane.add(watermark, WATER_MARK_LAYER, 0);
    }
}
 

b0unc3

Bekanntes Mitglied
danke für die hilfe xD hab auch gleich noch ne frage. . kann ich in einem Frame, nachdem ich mit JTextField.setText("Der Text");
dem JFrame sagen, er soll erst warten, bis ein Button geklickt wurde, bevor er den rest des Codes Abarbeitet?
 

b0unc3

Bekanntes Mitglied
ok das Problem wäre gelöst. jetzt hab ich aber schon wieder ein neues, was ich nicht verstehe:

Bei einem Buttonklick soll er mir in einem Textfeld eine Frage ausgeben und einen Integer um 1 erhöhen. Die Fragen liegen in einem Mehrdimensionalem Array.

Wenn ich das erste mal auf den Button klicke, dann gibt er mir Die Frage aus und erhöht den Integer um 1. Wenn ich aber dann nochmal darauf klicke, gibt er mir die selbe frage aus, erhöht aber den Integer nicht mehr.

Kann mir jemand sagen, woran das liegen könnte und wie ich dieses Problem beheben könnte?

Hier mal ein BeispielCode ( aus der Luft gegriffen ) :

Code:
/**
 *Inhalte des JFrames erzeugen
 *ActionCommands zuweisen
 *ActionListener hinzufügen
 */
.
.
.
public void actionPerformed ( ActionEvent evt ) {

   int fragenNummer = 0;

    if ( evt.getActionCommand().equals("Nächste Frage")  )
    {
        meinJTextField.setText(fragen[fragenNummer][0]);
        fragenNummer++;
    }
}

//EDIT:

okay ich habe jetzt herausgefunden, dass er den Integer fragenNummer immer auf 0 zurück setzt. Aber ich weiß immernoch nicht, wie ich den COde ändern muss, dass es klappt.

//EDIT2:
okay ich habs jetzt geschafft. . mein Fehler war, dass ich den Integer in der actionPerformed Methode deklariert hab. Jetzt hab ich ihn an den Kopf des Programmes gesetzt ;-)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
frager2345 JTextLabel im Flowlayout verschieben AWT, Swing, JavaFX & SWT 4
A hilfe für flowlayout AWT, Swing, JavaFX & SWT 6
T Swing Größe einer Komponente in einem BoxLayout / FlowLayout festlegen AWT, Swing, JavaFX & SWT 7
P LayoutManager TextField.setSize(); in einem FlowLayout AWT, Swing, JavaFX & SWT 3
I BoxLayout, FlowLayout und Komponentengrößen AWT, Swing, JavaFX & SWT 1
R LayoutManager JSeparator in FlowLayout AWT, Swing, JavaFX & SWT 4
M Problem mit FlowLayout, JLabel und JButton AWT, Swing, JavaFX & SWT 4
B FlowLayout Buttons verschieben? AWT, Swing, JavaFX & SWT 13
B Swing JScrollBar in einem JPanel mit FlowLayout AWT, Swing, JavaFX & SWT 15
M FlowLayout Alignment?! AWT, Swing, JavaFX & SWT 9
F AlignmentY bei FlowLayout AWT, Swing, JavaFX & SWT 8
P LayoutManager Komponenten einfügen (FlowLayout, BoxLayout) AWT, Swing, JavaFX & SWT 2
D Komponente im FlowLayout nicht mittig sondern rechts. Wie? AWT, Swing, JavaFX & SWT 4
C JPanel mit FlowLayout in JScrollPane - keinen Scrollbalken AWT, Swing, JavaFX & SWT 2
E LayoutManager FlowLayout mit angepassetr PreferedSize? AWT, Swing, JavaFX & SWT 3
aze FlowLayout:Lücken "schließen" AWT, Swing, JavaFX & SWT 2
O FlowLayout Button Event zuweisen? AWT, Swing, JavaFX & SWT 7
R FlowLayout: 1 Objekt pro Zeile AWT, Swing, JavaFX & SWT 5
N JTable in FlowLayout verweigert änderungen AWT, Swing, JavaFX & SWT 3
hdi FlowLayout Alternative AWT, Swing, JavaFX & SWT 10
0 Vertikales FlowLayout ? AWT, Swing, JavaFX & SWT 4
M Problem mit jPanel (FlowLayout) in ScrollPane AWT, Swing, JavaFX & SWT 4
E Mysthische Punkte auf JFrame(FlowLayout) nach Komboboxklick AWT, Swing, JavaFX & SWT 5
D Toolbars und Zeilenumbruch (benutze FlowLayout) AWT, Swing, JavaFX & SWT 2
I Vertical FlowLayout AWT, Swing, JavaFX & SWT 1
G position im FlowLayout AWT, Swing, JavaFX & SWT 11
rgubler Umbrechendes Flowlayout AWT, Swing, JavaFX & SWT 2
O Zeilenumbruch erzwingen (FlowLayout? AWT, Swing, JavaFX & SWT 1
K FlowLayout AWT, Swing, JavaFX & SWT 2
F FlowLayout in BorderLayout AWT, Swing, JavaFX & SWT 4
R FlowLayout-Problem AWT, Swing, JavaFX & SWT 17
L LayoutManager ähnlich wie FlowLayout AWT, Swing, JavaFX & SWT 5
N Problem mit JScrollPane und JPane(FlowLayout) AWT, Swing, JavaFX & SWT 4
S toolbar - flowlayout problem AWT, Swing, JavaFX & SWT 5
M FlowLayout in BorderLayout einbinden? AWT, Swing, JavaFX & SWT 6
P Größe und Ausrichtung von Komponenten festlegen AWT, Swing, JavaFX & SWT 13
R Swing Verändern der Ausrichtung JButton und neu anzeigen AWT, Swing, JavaFX & SWT 2
X JMenu Menu-Bar ausrichtung ändern im Programm AWT, Swing, JavaFX & SWT 0
C LayoutManager JFrame größe und ausrichtung + Position von Fensterelementen AWT, Swing, JavaFX & SWT 2
M Ausrichtung Vertikaler BOX funktioniert nicht AWT, Swing, JavaFX & SWT 3
J Swing JTable cell-ausrichtung für zahlen mit alternierenden zeilenfarben AWT, Swing, JavaFX & SWT 2
M Ausrichtung von Box'en AWT, Swing, JavaFX & SWT 3
C Swing GridBag-Probleme (Größe und Ausrichtung) AWT, Swing, JavaFX & SWT 3
H Swing Ausrichtung innerhalb der Reiterlasche eines JTabbedPanes AWT, Swing, JavaFX & SWT 9
M JFreeChart Ausrichtung der Balken AWT, Swing, JavaFX & SWT 2
R Swing JLabel Text ausrichtung AWT, Swing, JavaFX & SWT 2
N Swing Ausrichtung von Text in JTable AWT, Swing, JavaFX & SWT 9
W GUI übernimmt ausrichtung nicht AWT, Swing, JavaFX & SWT 5
D SWT SWT TableViewer ausrichtung des Inhaltes nach Datentyp AWT, Swing, JavaFX & SWT 2
G BoxLayout: Ausrichtung der Komponenten AWT, Swing, JavaFX & SWT 2
C Ausrichtung im JPanel AWT, Swing, JavaFX & SWT 19
G Ausrichtung in der GUI - Problem AWT, Swing, JavaFX & SWT 16
N ausrichtung Button - hilfe bitte AWT, Swing, JavaFX & SWT 2
A JScrollPane und mittige ausrichtung AWT, Swing, JavaFX & SWT 5
G GridbagLayout Ausrichtung AWT, Swing, JavaFX & SWT 3
M Ausrichtung eines Panels AWT, Swing, JavaFX & SWT 7
G tabbedpane ausrichtung der reiter AWT, Swing, JavaFX & SWT 4
T Ausrichtung eines Jbuttons AWT, Swing, JavaFX & SWT 6
R Ausrichtung am oberen Rand beim Gridbag-Layout AWT, Swing, JavaFX & SWT 2
S Keine Ausrichtung im JTextPane? AWT, Swing, JavaFX & SWT 3
J Ermittlung der Ausrichtung einer Komponente im BorderLayout AWT, Swing, JavaFX & SWT 3
F Ausrichtung einer Spalte ändern? AWT, Swing, JavaFX & SWT 4
C Ausrichtung von Zelleninhalten bei JTable AWT, Swing, JavaFX & SWT 2
G Wasserzeichen in Bildern feststellen AWT, Swing, JavaFX & SWT 6
K Wasserzeichen wie vorgehen? AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben