<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://javawiki.sowas.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://javawiki.sowas.com/feed.php">
        <title>Java Wiki swing</title>
        <description></description>
        <link>http://javawiki.sowas.com/</link>
        <image rdf:resource="http://javawiki.sowas.com/lib/images/favicon.ico" />
       <dc:date>2023-09-17T18:47:33+02:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:actions&amp;rev=1579723170&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:antialiasing&amp;rev=1320240393&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:anwendung_beenden_beim_schliessen_eines_jframe&amp;rev=1424168378&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:application-icon&amp;rev=1334728737&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:beep&amp;rev=1423473498&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:convert-icon-to-image&amp;rev=1424783117&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:cursor&amp;rev=1551786453&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:display-html&amp;rev=1579723171&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:editorkit-tutorial-document-example&amp;rev=1410510072&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:find-out-sorting-jtable&amp;rev=1420716818&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:fontmetrics&amp;rev=1400063147&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:glasspane-mouse-cursor-problem&amp;rev=1409730134&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:gridbaglayout&amp;rev=1400063298&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:htmldocument&amp;rev=1400057402&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:htmleditorkit-getstylesheet&amp;rev=1262469276&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:hyperlinklistener&amp;rev=1400057384&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:image-bufferedimageicon&amp;rev=1287987908&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:invokelater-invokeandwait&amp;rev=1262469240&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jbutton-icon&amp;rev=1417511742&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jbutton-insets&amp;rev=1579723172&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jcheckbox-listener&amp;rev=1400049639&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jcombobox-layout&amp;rev=1413193668&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jcombobox-listener&amp;rev=1421398676&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jcombobox-visible-popup-lines&amp;rev=1424168612&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jeditorpane-unvisible-text&amp;rev=1579723171&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jfilechooser&amp;rev=1402557510&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jframe-find&amp;rev=1320240187&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jlabel-hyperlink&amp;rev=1320240204&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jlabel-insets&amp;rev=1579723169&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jpanel-transparent&amp;rev=1320240217&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jprogressbar&amp;rev=1283420384&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jradiobutton&amp;rev=1302588064&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtabbedpane-with-components-beside-tabs&amp;rev=1424267082&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtabbedpane&amp;rev=1400842218&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtable-center-cell&amp;rev=1376638753&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtable-column-width&amp;rev=1579723171&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtable-commit-on-lostfocus&amp;rev=1579723171&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtable-dnd&amp;rev=1262804761&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtable-fix-columns&amp;rev=1579723168&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtable-get-content&amp;rev=1579723171&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtable-getselection&amp;rev=1579723169&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtable-row-height-from-text&amp;rev=1408368577&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtable-row-height&amp;rev=1320240510&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtable-rowheader&amp;rev=1320240548&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtable-setselection&amp;rev=1320240536&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtable-tablecellrenderer&amp;rev=1579723172&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtextfield-border-margin&amp;rev=1406794787&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtextfield-numeric&amp;rev=1320240482&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtextfield-size&amp;rev=1321435128&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtextfield-with-hint-prompt&amp;rev=1424094915&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtextpane-readonly&amp;rev=1408618061&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtextpane-set-caretposition-on-right-mouse-click&amp;rev=1579723171&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtextpane-undo-redo&amp;rev=1579723171&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtoolbar-fixed-not-dragable&amp;rev=1579723170&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtoolbar-one-button-right-align&amp;rev=1579723172&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtooltip-images&amp;rev=1423139170&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtree-checkbox&amp;rev=1405422156&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtree-double-click-selection&amp;rev=1401795657&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtree-expand-all&amp;rev=1416902133&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtree-icons&amp;rev=1405498807&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtree-individual-icons&amp;rev=1579723168&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtree-insets&amp;rev=1579723172&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtree-iterate&amp;rev=1579723171&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtree-node-selection&amp;rev=1401791783&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtree-refresh&amp;rev=1579723168&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtree-transparent&amp;rev=1258149270&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtree-treenode&amp;rev=1420465867&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:jtree&amp;rev=1405945857&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:keylistener-keyevent&amp;rev=1320240282&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:look&amp;rev=1292325768&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:modifyfont&amp;rev=1262469183&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:mouse-position-without-listener&amp;rev=1579723168&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:resize-listener&amp;rev=1424168234&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:return-enter&amp;rev=1259510925&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:revalidate-invalidate-validate-repaint&amp;rev=1579723170&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:rowsorter-jtable&amp;rev=1401965733&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:scale-image&amp;rev=1579723169&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:simple-input-dialog&amp;rev=1579723169&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:splashscreen&amp;rev=1579723169&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:strong-lines&amp;rev=1291289856&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:stylesheet&amp;rev=1331799432&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:swing-messagebox&amp;rev=1579723169&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:swing&amp;rev=1670944946&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:systemcolors&amp;rev=1320240294&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:tablecelleditor-jtextarea&amp;rev=1408455208&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:tooltip-delay&amp;rev=1320240259&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:tooltip&amp;rev=1285825775&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:treepath&amp;rev=1421394151&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:tutorial-2&amp;rev=1401441884&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:tutorial-3&amp;rev=1401443599&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:tutorial&amp;rev=1401094719&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:uidefaults-uimanager&amp;rev=1421404559&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:window-center&amp;rev=1380875221&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:window-maximize&amp;rev=1262975913&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:window-minimize&amp;rev=1579723172&amp;do=diff"/>
                <rdf:li rdf:resource="http://javawiki.sowas.com/doku.php?id=swing:window-restore&amp;rev=1579723172&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://javawiki.sowas.com/lib/images/favicon.ico">
        <title>Java Wiki</title>
        <link>http://javawiki.sowas.com/</link>
        <url>http://javawiki.sowas.com/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:actions&amp;rev=1579723170&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:30+02:00</dc:date>
        <title>swing:actions</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:actions&amp;rev=1579723170&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.Action

Actions sind ein möglicher Ersatz für ActionListener/actionPerformed. Der Vorteil von Actions ist, dass Sie mehrfach verwendet werden können.

So lässt sich beispielsweise die selbe Action für einen Button, einen Menüpunkt und einen Toolbarbutton verwenden.</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:antialiasing&amp;rev=1320240393&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-02T14:26:33+02:00</dc:date>
        <title>swing:antialiasing</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:antialiasing&amp;rev=1320240393&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.Graphics2D

java.awt.RenderingHints








Das Code-Beispiel zeichnet eine Linie und einen String (fast) ohne Treppeneffekt:




public void paint(Graphics g) {
   Graphics2D g2 = (Graphics2D)g;
   g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
   g2.drawLine(0, 0, 100, 100);
   g2.drawString(&quot;Test&quot;, 0, 20);
}</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:anwendung_beenden_beim_schliessen_eines_jframe&amp;rev=1424168378&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-17T11:19:38+02:00</dc:date>
        <title>swing:anwendung_beenden_beim_schliessen_eines_jframe</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:anwendung_beenden_beim_schliessen_eines_jframe&amp;rev=1424168378&amp;do=diff</link>
        <description>Java - AWT/Swing



Normalerweise wird beim Betätigen des „x“-Button des Frames die Anwendung nur versteckt aber nicht geschlossen. Durch folgenden Anweisung kann dies geändert werden:









JFrame frame = new JFra...
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:application-icon&amp;rev=1334728737&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-18T07:58:57+02:00</dc:date>
        <title>swing:application-icon</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:application-icon&amp;rev=1334728737&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.Toolkit

Die Klasse JFrame verfügt über die Methode setIconImage, über welche das Anwendungs-Icon gesetzt werden kann.









   Image img = Toolkit.getDefaultToolkit().getImage(&quot;images/tdg.png&quot;);
   setIconImage(img);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:beep&amp;rev=1423473498&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-09T10:18:18+02:00</dc:date>
        <title>swing:beep</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:beep&amp;rev=1423473498&amp;do=diff</link>
        <description>Java - AWT/Swing



Einen einfachen Piepton, wie er für Fehlermeldungen verwendet wird, kann man so erzeugen:









java.awt.Toolkit.getDefaultToolkit().beep();







Stichworte:



Piepton, beep, Signalton</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:convert-icon-to-image&amp;rev=1424783117&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-24T14:05:17+02:00</dc:date>
        <title>swing:convert-icon-to-image</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:convert-icon-to-image&amp;rev=1424783117&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.Image

javax.swing.Icon

Folgenden kleine Methode konvertiert ein Icon zu einem Image:






Da Icon nur ein Interface ist, hängt es davon ab, wer dieses Interface implementiert hat. Besonders einfach ist es bei ImageIcon.</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:cursor&amp;rev=1551786453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-03-05T12:47:33+02:00</dc:date>
        <title>swing:cursor</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:cursor&amp;rev=1551786453&amp;do=diff</link>
        <description>Java - AWT/Swing




JLabel label = ...
label.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:display-html&amp;rev=1579723171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:31+02:00</dc:date>
        <title>swing:display-html</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:display-html&amp;rev=1579723171&amp;do=diff</link>
        <description>Java - AWT/Swing



Die Klasse JEditorPane ermöglicht es auf ganz einfache Weise HTML darzustellen.









JEditorPane editor = new JEditorPane();
editor.setContentType(&quot;text/html&quot;);
editor.setEditable(false);
editor.setText(&quot;&lt;html&gt;&lt;body&gt;&lt;p&gt;Hallo World!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;&quot;);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:editorkit-tutorial-document-example&amp;rev=1410510072&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-09-12T10:21:12+02:00</dc:date>
        <title>swing:editorkit-tutorial-document-example</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:editorkit-tutorial-document-example&amp;rev=1410510072&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.text.EditorKit

javax.swing.text.Document

In diesem Tutorial wird anhand eines Beispiels die Funktionsweise des Editorkits im Zusammenspiel mit Document erklärt.

Ziel dieses Tutorials ist ein Editor, welcher Text ausixen (also mit lauter X überschrieben) kann.</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:find-out-sorting-jtable&amp;rev=1420716818&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-08T12:33:38+02:00</dc:date>
        <title>swing:find-out-sorting-jtable</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:find-out-sorting-jtable&amp;rev=1420716818&amp;do=diff</link>
        <description>Java - AWT/Swing



Möchte man feststellen nach welcher Spalte sortiert wird und ob die Sortierung auf- oder absteigend erfolgt so genügt folgender Source:









JTable table = new JTable(...
List&lt;? extends SortKey&gt; sortKeys = table.getRowSorter().getSortKeys();
int col = sortKeys.get(0).getColumn();
int sortDirection = sortKeys.get(0).getSortOrder();  // ASCENDING oder DESCENDING</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:fontmetrics&amp;rev=1400063147&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-05-14T12:25:47+02:00</dc:date>
        <title>swing:fontmetrics</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:fontmetrics&amp;rev=1400063147&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.FontMetrics

java.awt.Graphics

Diese Klasse liefert Informationen zu einem Font.

Das Beispiel gibt die Gesamtebreite eines Strings aus:









public void paint(Graphics g) {
   String str = &quot;Test&quot;;
   FontMetrics fm = g.getFontMetrics(g.getFont());
   System.out.println(&quot;Breite von 'Test': &quot;+fm.stringWidth(str));
}</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:glasspane-mouse-cursor-problem&amp;rev=1409730134&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-09-03T09:42:14+02:00</dc:date>
        <title>swing:glasspane-mouse-cursor-problem</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:glasspane-mouse-cursor-problem&amp;rev=1409730134&amp;do=diff</link>
        <description>Java - AWT/Swing



Ein Beispiel für die Verwendung einer Glasspane findet sich hier.

An dieser Stelle geht es um das Problem, dass bei Verwendung einer Glasspane verschiedene Problem auftreten. So funktionieren beispielsweise Mauscusor-Änderungen nicht. Um dies zu vermneiden hilft ein einfacher Trick. Die Glasspane muss einfach die Methode contains(intx, int y) so überschreiben, dass sie immer false zurück liefert:</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:gridbaglayout&amp;rev=1400063298&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-05-14T12:28:18+02:00</dc:date>
        <title>swing:gridbaglayout</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:gridbaglayout&amp;rev=1400063298&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.GridBagLayout

Immer wieder hört man, dass das GridBagLayout so kompliziert sei. Zwar ist es wirklich sehr umfangreich, aber in der Regel benötigt man nur wenige Methoden.
Grundsätzlich arbeitet das GridBagLayout mit einem gedachten Gitter. Jedes Feld in diesem Gitter kann durch seine Position (x,y) adressiert werden.
Um die Größe des Gitters zu bestimmen, kann man sich das gewünschte Layout ja auf einem Stück Papier skizzieren.
Mit der Klasse GridBagConstraints werd…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:htmldocument&amp;rev=1400057402&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-05-14T10:50:02+02:00</dc:date>
        <title>swing:htmldocument</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:htmldocument&amp;rev=1400057402&amp;do=diff</link>
        <description>Java - AWT/Swing



Im Beispiel wird ein HTML-Dokument zu reinem Text konvertiert (naja, lediglich das &lt;br&gt;-Tag wird berücksichtigt):









package com.sowas.javawiki.snippets;

import java.io.Reader;
import java.io.StringReader;

import javax.swing.text.EditorKit;
import javax.swing.text.MutableAttributeSet;
import javax.swing.text.html.HTML;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLEditorKit;

public class HtmlToText {

   public static String getText(Stri…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:htmleditorkit-getstylesheet&amp;rev=1262469276&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-01-02T22:54:36+02:00</dc:date>
        <title>swing:htmleditorkit-getstylesheet</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:htmleditorkit-getstylesheet&amp;rev=1262469276&amp;do=diff</link>
        <description>Java - AWT/Swing



Wenn in JEditorPane HTML-Code dargestellt werden soll, so kann mit folgendem Code der Basis-Zeichensatz geändert werden:









StyleSheet css = ((HTMLEditorKit)jmEditorPane.getEditorKit()).getStyleSheet();
css.addRule(&quot;P { margin: 0; font-family: Arial, sans-serif; font-size: 11px; font-style: normal; }&quot;);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:hyperlinklistener&amp;rev=1400057384&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-05-14T10:49:44+02:00</dc:date>
        <title>swing:hyperlinklistener</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:hyperlinklistener&amp;rev=1400057384&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.event.HyperlinkListener









JTextPane tp = ...
tp.setText(&quot;&lt;html&gt;&lt;body&gt;&lt;a href=http://javawiki.sowas.com&gt;JavaWiki&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;&quot;);
tp.addHyperlinkListener(new HyperlinkListener() {
   public void hyperlinkUpdate(HyperlinkEvent e) {
      if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
	 System.out.prinln(&quot;Sie haben diesen Link angeklickt: &quot; + e.getDescription());
      }
});</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:image-bufferedimageicon&amp;rev=1287987908&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-10-25T08:25:08+02:00</dc:date>
        <title>swing:image-bufferedimageicon</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:image-bufferedimageicon&amp;rev=1287987908&amp;do=diff</link>
        <description>Java - AWT/Swing









JLabel dummyObserver = new JLabel();
Image image          = Toolkit.getDefaultToolkit().getImage(&quot;myimage.jpg&quot;);
int width            = image.getWidth(dummyObserver);
int height           = image.getHeight(dummyObserver);
BufferedImage bImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
bImage.getGraphics().drawImage(image, 0, 0, dummyObserver);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:invokelater-invokeandwait&amp;rev=1262469240&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-01-02T22:54:00+02:00</dc:date>
        <title>swing:invokelater-invokeandwait</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:invokelater-invokeandwait&amp;rev=1262469240&amp;do=diff</link>
        <description>Java - AWT/Swing



com.javax.SwingUtilities

Bei Swing ist der selbe Thread dafür zuständig, die Oberfläche neu zu zeichnen und die Events abzuarbeiten. Dies ist besonders unangenehm, wenn beim Drücken eines Buttons eine rechenintensive Operation ausgelöst wird. Dies führt dazu, dass der Button gedrückt erscheint, solange die Operation andauert. Das GUI wirkt eingefroren, bis die Operation abgeschlossen ist.








Hier stellen Die SwingUtilities zwei Methoden zur Verfügung: invokeLater und in…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jbutton-icon&amp;rev=1417511742&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-12-02T10:15:42+02:00</dc:date>
        <title>swing:jbutton-icon</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jbutton-icon&amp;rev=1417511742&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JButton







URL url = getClass().getResource(&quot;images/close-4x4.png&quot;);
Button myButton = new JButton(new ImageIcon(url));
// Oder:
// myButton.setIcon(new ImageIcon(url));






Dabei ist die Standardanordnung von Icon und Text nebeneinander.

Um diese untereinander anzuzeigen muss folgender Code ergänzt werden:</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jbutton-insets&amp;rev=1579723172&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:32+02:00</dc:date>
        <title>swing:jbutton-insets</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jbutton-insets&amp;rev=1579723172&amp;do=diff</link>
        <description>Java - AWT/Swing



Möchte man die Innenränder (Insets) eines JButton setzten, so sucht man eine Methode setInsets(..) vergeblich. Statt dessen hilft dieser Code:







JButton myButton = new JButton(&quot;Klick mich&quot;);
myButton.setMargin(new Insets(2, 2, 2, 2));</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jcheckbox-listener&amp;rev=1400049639&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-05-14T08:40:39+02:00</dc:date>
        <title>swing:jcheckbox-listener</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jcheckbox-listener&amp;rev=1400049639&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JCheckBox








JCheckBox myCheckBox = new JCheckBox();
myCheckBox.addChangeListener(new ChangeListener() {
   @Override
   public void stateChanged(ChangeEvent e) {
      System.out.println(&quot;Die CheckBox wurde &quot; + ((JCheckBox)e.getSource()).isSelected() ? &quot;selektiert&quot; : &quot;deselektiert&quot;);
   }
});</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jcombobox-layout&amp;rev=1413193668&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-10-13T11:47:48+02:00</dc:date>
        <title>swing:jcombobox-layout</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jcombobox-layout&amp;rev=1413193668&amp;do=diff</link>
        <description>Java - AWT/Swing



Das Layout mit einer JComboBox kann unter umständen etwas kompliziert sein.

Die PreferredSize einer JComboBox ist bei langen Texteinträgen nämlich die Breite des längsten Eintrags.

Diese Eigentschaft kann unter Umständen dazu führen, dass das ganze Layout zerstört wird.

Einfache Abhilfe ist das manuelle Setzten der PreferredSize:</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jcombobox-listener&amp;rev=1421398676&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-16T09:57:56+02:00</dc:date>
        <title>swing:jcombobox-listener</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jcombobox-listener&amp;rev=1421398676&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JComboBox

Natürlich möchte man bei einee ComboBox auch erfahren, wenn ein Eintrag ausgewählt wird:







JBomboBox comboBox = new JComboBox(new String[] {&quot;Eintrag 1&quot;, &quot;Eintrag 2&quot;});
comboBox.addItemListener(new ItemListener() {
   @Override
   public void itemStateChanged(ItemEvent e) {
      if (e.getStateChange() == ItemEvent.SELECTED)
         System.out.println(e.getItem());  // Ein Eintrag wurde selektiert
   }
});</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jcombobox-visible-popup-lines&amp;rev=1424168612&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-17T11:23:32+02:00</dc:date>
        <title>swing:jcombobox-visible-popup-lines</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jcombobox-visible-popup-lines&amp;rev=1424168612&amp;do=diff</link>
        <description>Java - AWT/Swing



Die Anzahl der sichbaren Zeilen in der Liste kann durch folgenden Befehl festgelegt werden:









JBomboBox cb = new JComboBox();
cb.setMaximumRowCount(20);  // Bis zu 20 Zeilen werden ohne Scrollbar dargestellt







Stichworte:</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jeditorpane-unvisible-text&amp;rev=1579723171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:31+02:00</dc:date>
        <title>swing:jeditorpane-unvisible-text</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jeditorpane-unvisible-text&amp;rev=1579723171&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JEditorPane

Möchte man Text in einer JEditorPane verstecken, so kann man sich eines kleines Tricks bedienen.

Man erzeugt einen Style mit eine Fontgröße von 0 Pixeln:









import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.text.BadLocationException;
import javax.swing.text.Style;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyleContext;
import javax.swing.text.StyledDocument;
impor…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jfilechooser&amp;rev=1402557510&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-06-12T09:18:30+02:00</dc:date>
        <title>swing:jfilechooser</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jfilechooser&amp;rev=1402557510&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JFileChooser









JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
fc.setMultiSelectionEnabled(false);
fc.setCurrentDirectory(new File(System.getProperty(&quot;user.home&quot;)));  // Setzt das Startverzeichnis
if (fc.showDialog(this, &quot;Datei öffnen&quot;) == JFileChooser.APPROVE_OPTION) {
   System.out.println(fc.getSelectedFile().getAbsoluteFile());
}</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jframe-find&amp;rev=1320240187&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-02T14:23:07+02:00</dc:date>
        <title>swing:jframe-find</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jframe-find&amp;rev=1320240187&amp;do=diff</link>
        <description>Java - AWT/Swing









Component frame = SwingUtilities.getRoot(myComponent);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jlabel-hyperlink&amp;rev=1320240204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-02T14:23:24+02:00</dc:date>
        <title>swing:jlabel-hyperlink</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jlabel-hyperlink&amp;rev=1320240204&amp;do=diff</link>
        <description>Java - AWT/Swing



Jedes Label kann mit wenig Code einen Hyperlink enthalten:









JLabel label = new JLabel(&quot;&lt;html&gt;&lt;body&gt;&lt;a href=\&quot;http://javawiki.sowas.com\&quot;&gt;http://javawiki.sowas.com&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;&quot;);
label.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
label.addMouseListener(new MouseAdapter() {
   @Override
   public void mouseClicked(MouseEvent e) {
      if (e.getClickCount() &gt; 0) {
         // Browseraufruf (für Windows):
         Runtime.getRuntime().exec(&quot;cmd.exe /c…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jlabel-insets&amp;rev=1579723169&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:29+02:00</dc:date>
        <title>swing:jlabel-insets</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jlabel-insets&amp;rev=1579723169&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JLabel

Um den Innenabstand in einem JLabel zu verändern muss man einen neuen Border setzen:









JLabel llHuhu = new JLabel(&quot;Huhu&quot;);
llHuhu.setBorder(new EmptyBorder(new Insets(0, 4, 0, 0)));






Stichworte:




JLabel, Innenrand, Abstand, Border, gap</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jpanel-transparent&amp;rev=1320240217&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-02T14:23:37+02:00</dc:date>
        <title>swing:jpanel-transparent</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jpanel-transparent&amp;rev=1320240217&amp;do=diff</link>
        <description>Java - AWT/Swing









JPanel panel = new JPanel();
panel.setOpaque(false);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jprogressbar&amp;rev=1283420384&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-09-02T11:39:44+02:00</dc:date>
        <title>swing:jprogressbar</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jprogressbar&amp;rev=1283420384&amp;do=diff</link>
        <description>Java - AWT/Swing









int MAX = 10;
JProgressBar progressBar;
progressBar = new JProgressBar(0, MAX);

progressBar.setValue(0);
progressBar.setMaximum(MAX);

for (int i=0; i &lt;= MAX; i++) {
   try {
      Thread.sleep(100);
   } catch {
      e.printStackTrace();
   }
   progressBar.setValue(i);
}</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jradiobutton&amp;rev=1302588064&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-04-12T08:01:04+02:00</dc:date>
        <title>swing:jradiobutton</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jradiobutton&amp;rev=1302588064&amp;do=diff</link>
        <description>Java - AWT/Swing



Der Beispielcode erzeugt zwei Radiobuttons die zu einer Gruppe gehören:









// Zwei RadioButtons erzeugen:
JRadioButton rb1 = new JRadioButton(&quot;Button 1&quot;, false);
JRadioButton rb2 = new JRadioButton(&quot;Button 2&quot;, false);
// Beide RadioButtons einer ButtonGroup zuweisen, damit immer nur ein Radiobuttons zur Zeit gewählt werden kann:
ButtonGroup bg = new ButtonGroup();
bg.add(rb1);
bg.add(rb2);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtabbedpane-with-components-beside-tabs&amp;rev=1424267082&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-18T14:44:42+02:00</dc:date>
        <title>swing:jtabbedpane-with-components-beside-tabs</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtabbedpane-with-components-beside-tabs&amp;rev=1424267082&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JTabbedPane








Das folgenden Codebeispiel demonstriert, wie man rechts neben den Tabs unter Verwendung einer GlassPane noch weitere Komponenten (hier Buttons) unterbringen kann:









import javax.swing.*;
import java.awt.*;

public class TabbedPaneDemo extends JFrame {

   public TabbedPaneDemo() {
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);

      initGUI();
   }

   public void initGUI() {
      JTabbedPane t…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtabbedpane&amp;rev=1400842218&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-05-23T12:50:18+02:00</dc:date>
        <title>swing:jtabbedpane</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtabbedpane&amp;rev=1400842218&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JTabbedPane








Das folgenden Codebeispiel demonstriert, wie man Tabulatoren mit Swing verwendet:









import javax.swing.*;
import java.awt.*;

public class TabbedPaneDemo extends JFrame {

   public TabbedPaneDemo() {
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);

      initGUI();
   }

   public void initGUI() {
      JTabbedPane tabbedPane = new JTabbedPane();

      for (int i = 0; i &lt; 3; i++) {
         JPan…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtable-center-cell&amp;rev=1376638753&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-08-16T09:39:13+02:00</dc:date>
        <title>swing:jtable-center-cell</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtable-center-cell&amp;rev=1376638753&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.table.JTable



Um den Inhalt einer oder aller Tabellenzellen zu zentrieren, muss ein TableCellRenderer verwendet werden:









public class MyCellRenderer extends JLabel implements TableCellRenderer {
   public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, 
                                                  boolean hasFocus, int row, int column) {
      setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
      retu…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtable-column-width&amp;rev=1579723171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:31+02:00</dc:date>
        <title>swing:jtable-column-width</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtable-column-width&amp;rev=1579723171&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.table.JTable









JTable table = new JTable(10, 20);

// Autoresizing abschalten, sonst sind alle Spalten gleich breit:
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
   
// Erste Spalte auf 100 Pixel Breite setzen:
final int INDEX_COLUMN1 = 0;
TableColumn col = table.getColumnModel().getColumn(INDEX_COLUMN1);
col.setPreferredWidth(100);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtable-commit-on-lostfocus&amp;rev=1579723171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:31+02:00</dc:date>
        <title>swing:jtable-commit-on-lostfocus</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtable-commit-on-lostfocus&amp;rev=1579723171&amp;do=diff</link>
        <description>Java - AWT/Swing



Es gibt ein Property, welches dafür sorgt, dass bei einem Focusverlust des aktuellen CellEditors dessen Inhalt übernommenwird:









JTable table = new JTable(...
table.putClientProperty(&quot;terminateEditOnFocusLost&quot;, Boolean.TRUE);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtable-dnd&amp;rev=1262804761&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-01-06T20:06:01+02:00</dc:date>
        <title>swing:jtable-dnd</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtable-dnd&amp;rev=1262804761&amp;do=diff</link>
        <description>Java - AWT/Swing



Wenn das Drag und Drop bei einer leeren Tabelle nicht funktioniert, dann sollte man es mit folgendem Code versuchen:









table.setFillsViewportHeight(true);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtable-fix-columns&amp;rev=1579723168&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:28+02:00</dc:date>
        <title>swing:jtable-fix-columns</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtable-fix-columns&amp;rev=1579723168&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.table.JTable

Normalerweise können die Spalten einer JTable mit der Maus verschoben werden.

Möchte man dies vermeiden, so genügt folgenden Anweisung:









JTable table = new JTable(10, 20);
table.getTableHeader().setReorderingAllowed(false);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtable-get-content&amp;rev=1579723171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:31+02:00</dc:date>
        <title>swing:jtable-get-content</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtable-get-content&amp;rev=1579723171&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.table.JTable



Um den Inhalt einer oder aller Tabellenzellen auszulesen, kann die Funktion getValueAt(row, col) verwendet werden (Im Beispiel wird der Inhalt der oberen linken Zelle auf die Konsole ausgegeben):</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtable-getselection&amp;rev=1579723169&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:29+02:00</dc:date>
        <title>swing:jtable-getselection</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtable-getselection&amp;rev=1579723169&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JTable

javax.swing.event.ListSelectionListener

Um in einer JTable eine Änderung der Auswahl/Markierung fest zu stelllen muss ein ListSelectionListener verwendet werden:









JTable table = new JTable(...
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
   @Override
   public void valueChanged(ListSelectionEvent e) {
      System.out.println(&quot;Erste selektierte Zeile: &quot; + e.getFirstIndex());
      System.out.println(&quot;Letzte sele…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtable-row-height-from-text&amp;rev=1408368577&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-08-18T15:29:37+02:00</dc:date>
        <title>swing:jtable-row-height-from-text</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtable-row-height-from-text&amp;rev=1408368577&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JTable

Im folgenden Bespiel bestimmt der Textinhalt die Zeilenhöhe.
Dazu wird eine JTextArea als CellRenderer verwendet:











import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
import java.awt.BorderLayout;
import java.awt.Component;

public class TextAreaRendererDe…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtable-row-height&amp;rev=1320240510&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-02T14:28:30+02:00</dc:date>
        <title>swing:jtable-row-height</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtable-row-height&amp;rev=1320240510&amp;do=diff</link>
        <description>Java - AWT/Swing



JTable bietet einen einfachen Befehl um die Zeilenhöhe zu setzen:




JTable table = new JTable(...
table.setRowHeight(24);



Der Font bleibt dabei übrigens unverändert. Soll dieser geändert werden, so muss ein TableCellRenderer eingesetzt werden.</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtable-rowheader&amp;rev=1320240548&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-02T14:29:08+02:00</dc:date>
        <title>swing:jtable-rowheader</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtable-rowheader&amp;rev=1320240548&amp;do=diff</link>
        <description>Java - AWT/Swing



Manchmal möchte man auch für die Zeilen einer Tabelle eine Beschriftung, so wie es bei Tabellenkalkulationen üblich ist. Dies kann man durch eine zusätzliche Liste links neben der Tabelle erreichen.











package com.sowas.javawiki.rowheadertable;

import java.awt.BorderLayout;
import java.awt.Component;

import javax.swing.AbstractListModel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtable-setselection&amp;rev=1320240536&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-02T14:28:56+02:00</dc:date>
        <title>swing:jtable-setselection</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtable-setselection&amp;rev=1320240536&amp;do=diff</link>
        <description>Java - AWT/Swing



Um in einer JTable die Auswahl/Markierung zu setzen muss man das SelectionModel verwenden:









JTable table = new JTable(...
table.getSelectionModel().setSelectionInterval(1, 3);  // Markiert die Zeilen 1-3</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtable-tablecellrenderer&amp;rev=1579723172&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:32+02:00</dc:date>
        <title>swing:jtable-tablecellrenderer</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtable-tablecellrenderer&amp;rev=1579723172&amp;do=diff</link>
        <description>Java - AWT/Swing



JTable bietet die Möglichkeit die Darstellung einer Tabelle mittels eines TableCellRenderer zu verändern:



public class MyRenderer extends JLabel implements TableCellRenderer {
   public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, 
                                                  boolean hasFocus, int row, int column) {
      TableModel model = table.getModel();
      setOpaque(true);
      setBackground(row%2==0 ? Color.WHITE : …</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtextfield-border-margin&amp;rev=1406794787&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-07-31T10:19:47+02:00</dc:date>
        <title>swing:jtextfield-border-margin</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtextfield-border-margin&amp;rev=1406794787&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JTextField

Leider wird durch das Setzen eines Borders der Innenabstand im JTextField ignoriert.

Möchte man also wieder einen Innenabstand haben, so kann man dies unter Verwendung des CompoutBorder erreichen.

Dieser ermöglicht es zwei Border zu kombinieren. Dabei ist der erste Parameter der äußere Rand (Border) und der zweite Parameter der innere Rand (Border).</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtextfield-numeric&amp;rev=1320240482&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-02T14:28:02+02:00</dc:date>
        <title>swing:jtextfield-numeric</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtextfield-numeric&amp;rev=1320240482&amp;do=diff</link>
        <description>Java - AWT/Swing



Im folgenden Code-Beisiel werden nur numerische Eingaben akzeptiert:

Dazu wird ein eigenes Document „NumberDocument“ definiert.









package com.sowas.snippets.jtextfield;

import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
import javax.swing.text.AttributeSet;
import java.math.BigDecimal;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class NumberDocument extends PlainDocument {
   @Override
   public void i…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtextfield-size&amp;rev=1321435128&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-16T10:18:48+02:00</dc:date>
        <title>swing:jtextfield-size</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtextfield-size&amp;rev=1321435128&amp;do=diff</link>
        <description>Java - AWT/Swing



Im folgenden Code-Beisiel wird die maximale Anzahl von Zeichen auf 10 begrenzt:

Dazu wird ein eigenes Document „MaxSizeDocument“ definiert.









package com.sowas.snippets.jtextfield;
import java.awt.BorderLayout;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
 
 
public class MaxSizeDocument extends PlainDocument…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtextfield-with-hint-prompt&amp;rev=1424094915&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-16T14:55:15+02:00</dc:date>
        <title>swing:jtextfield-with-hint-prompt</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtextfield-with-hint-prompt&amp;rev=1424094915&amp;do=diff</link>
        <description>Java - AWT/Swing



Möchte man ein Textfield mit grauem Hinweistext, welcher beim Anklicken verschwindet, so hilft dieser Code:









public class PromptTextField extends JTextField {
   private String promptText;

   public PromptTextField(String promptText) {
      super(promptText);
      this.promptText = promptText;
      addFocusListener(new FocusListener() {
         public void focusGained(FocusEvent e) {
            PromptTextField.this.setForeground(Color.BLACK);
            if (Pro…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtextpane-readonly&amp;rev=1408618061&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-08-21T12:47:41+02:00</dc:date>
        <title>swing:jtextpane-readonly</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtextpane-readonly&amp;rev=1408618061&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JTextPane

Es ist relativ einfach möglich in einer JTextPane einzelne Bereiche nur lesbar (read-only) zu machen.

Das folgende Beispiel macht das Wort „crazy“ read-only (und grau):









import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.text.AbstractDocument;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.DocumentFil…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtextpane-set-caretposition-on-right-mouse-click&amp;rev=1579723171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:31+02:00</dc:date>
        <title>swing:jtextpane-set-caretposition-on-right-mouse-click</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtextpane-set-caretposition-on-right-mouse-click&amp;rev=1579723171&amp;do=diff</link>
        <description>Java - AWT/Swing



Folgender Code zeigt wie die Caretposition durchen einen Klick auf die rechte Maustaste gesetzt wird:









JTextPane tp = new JTextPane();
tp.addMouseListener(new MouseAdapter() {
   @Override
   public void mouseClicked(MouseEvent e) {
      if (e.getButton() == 3){  // rechte Maustaste?
         tp.setCaretPosition(tp.viewToModel(e.getPoint()));
      }
   }
});</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtextpane-undo-redo&amp;rev=1579723171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:31+02:00</dc:date>
        <title>swing:jtextpane-undo-redo</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtextpane-undo-redo&amp;rev=1579723171&amp;do=diff</link>
        <description>Java - AWT/Swing



Undo und redo mit Strg-Z (Ctrl-Z) und Strg-Y (Ctrl-Y):

javax.swing.JTextPane









JTextPane editor = new JTextPa...
UndoManager manager = new UndoManager();
editor.getDocument().addUndoableEditListener(manager);
Action undoAction = new UndoAction(manager);
Action redoAction = new RedoAction(manager);
editor.registerKeyboardAction(undoAction, KeyStroke.getKeyStroke(KeyEvent.VK_Z, InputEvent.CTRL_MASK), JComponent.WHEN_FOCUSED);
editor.registerKeyboardAction(redoAction, Ke…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtoolbar-fixed-not-dragable&amp;rev=1579723170&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:30+02:00</dc:date>
        <title>swing:jtoolbar-fixed-not-dragable</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtoolbar-fixed-not-dragable&amp;rev=1579723170&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JToolBar

Normalerweise ist ein JToolBar verschiebbar. Häufig möchte man dieses Effekt aber abschalten. Dazu ist dieser Code zu verwenden:









JToolBar toolbar = new JToolBar();
toolbar.setFloatable(false);






Stichworte:</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtoolbar-one-button-right-align&amp;rev=1579723172&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:32+02:00</dc:date>
        <title>swing:jtoolbar-one-button-right-align</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtoolbar-one-button-right-align&amp;rev=1579723172&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JToolBar

Normalerweise werden alle Buttons linksbündig in der JToolBar angeordnet. Möchte man einen oder mehrere Buttons rechtsbündig anordnen, so hilft folgender Sourcecode:









JToolBar toolbar = new JToolBar();
toolbar.add(...);  // normal linksbündig angeordnete Komponente
toolbar.add(...);  // normal linksbündig angeordnete Komponente
toolBar.add(Box.createHorizontalGlue());  // Ab hier werden die Buttons rechtsbündig angeordnet
toolBar.add(...);  // re…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtooltip-images&amp;rev=1423139170&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-05T13:26:10+02:00</dc:date>
        <title>swing:jtooltip-images</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtooltip-images&amp;rev=1423139170&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JToolTip

Es gibt eine einfache Möglichkeit ein Tooltip mit einem Bild zu versehen (mit HTML):









String imageName = &quot;file:image.gif&quot;;
component.setToolTipText(&quot;&lt;html&gt;Bild: &lt;img src=&quot;+imageName+&quot;&gt;&lt;/html&gt;&quot;); 







Stichworte:</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtree-checkbox&amp;rev=1405422156&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-07-15T13:02:36+02:00</dc:date>
        <title>swing:jtree-checkbox</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtree-checkbox&amp;rev=1405422156&amp;do=diff</link>
        <description>Java - AWT/Swing



Ein einfaches Beispiel für einen JTree, bei welchem die LeafNodes Checkboxen erhalten:



(Die dargestellten Daten sind die Default-Daten und werden daher nicht explizit in den Tree eingetragen)









import javax.swing.AbstractCellEditor;
import javax.swing.Icon;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.UIManager;
import javax.swing.border.LineBorder;
import javax.swing.tree.Defau…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtree-double-click-selection&amp;rev=1401795657&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-06-03T13:40:57+02:00</dc:date>
        <title>swing:jtree-double-click-selection</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtree-double-click-selection&amp;rev=1401795657&amp;do=diff</link>
        <description>Einen Doppelklick auf einen Treenode kann man so feststellen:









final JTree tree = new JTree();
tree.addMouseListener(new MouseAdapter() {
   public void mousePressed(MouseEvent e) {
      int row = tree.getRowForLocation(e.getX(), e.getY());
      TreePath path = tree.getPathForLocation(e.getX(), e.getY());
      if (row != -1) 
         if (e.getClickCount() == 2)
            System.out.println(&quot;Row: &quot; + row + &quot;  Path: &quot; + path + &quot;  Node: &quot; + tree.getLastSelectedPathComponent());
    }
…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtree-expand-all&amp;rev=1416902133&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-11-25T08:55:33+02:00</dc:date>
        <title>swing:jtree-expand-all</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtree-expand-all&amp;rev=1416902133&amp;do=diff</link>
        <description>Java - AWT/Swing



Ein einfaches Beispiel für einen JTree, bei welchem alle Knoten aufgeklappt sind:











JTree tree = new JTree(...
for (int r = 0; r &lt; tree.getRowCount(); r++) {
   tree.expandRow(r);
}





Einen bestimmten TreeNode kann mann natürlich auf öffnen:</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtree-icons&amp;rev=1405498807&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-07-16T10:20:07+02:00</dc:date>
        <title>swing:jtree-icons</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtree-icons&amp;rev=1405498807&amp;do=diff</link>
        <description>Java - AWT/Swing









JTree myTree = new JTree();
DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)myTree.getCellRenderer();
renderer.setClosedIcon(iconClosed);  // Icon für zugeklappten Knoten
renderer.setOpenIcon(iconOpen);      // Icon für aufgeklappten Knoten
renderer.setLeafIcon(iconLeaf);      // Icon für ein Blatt</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtree-individual-icons&amp;rev=1579723168&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:28+02:00</dc:date>
        <title>swing:jtree-individual-icons</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtree-individual-icons&amp;rev=1579723168&amp;do=diff</link>
        <description>Java - AWT/Swing



Ein einfaches Beispiel für einen JTree, bei welchem die Nodes individuelle Icons erhalten:









package com.sowas.icontree.javawiki;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import java.awt.BorderLayout;

public class IconTreeDemo extends JFrame {

   public IconTreeDemo() {
      super(&quot;Icon Tree Demo&quot;);
      setDefaultCloseOperation(EXIT_ON_CLOSE);

      setLayout(new BorderLayout());

      Im…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtree-insets&amp;rev=1579723172&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:32+02:00</dc:date>
        <title>swing:jtree-insets</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtree-insets&amp;rev=1579723172&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JTree

Ein einfaches Beispiel für einen JTree mit 5 Pixel Innenrand:









JTree tree = new JTree();
tree.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtree-iterate&amp;rev=1579723171&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:31+02:00</dc:date>
        <title>swing:jtree-iterate</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtree-iterate&amp;rev=1579723171&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JTree









DefaultMutableTreeNode rootNode = ...
for (Enumeration e = rootNode.depthFirstEnumeration(); e.hasMoreElements();) {
   DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) e.nextElement();
   System.out.println(treeNode);
}</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtree-node-selection&amp;rev=1401791783&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-06-03T12:36:23+02:00</dc:date>
        <title>swing:jtree-node-selection</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtree-node-selection&amp;rev=1401791783&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.event.TreeSelectionListener

Möchte man auf die Änderung der Selektion eines JTree reagieren, so kann man dies mit einem TreeSelectionListener tun:









final JTree tree = new JTree();
tree.addTreeSelectionListener(new TreeSelectionListener() {
   @Override
   public void valueChanged(TreeSelectionEvent e) {
      DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent(); 
      System.out.println(selectedNode);
   }
});…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtree-refresh&amp;rev=1579723168&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:28+02:00</dc:date>
        <title>swing:jtree-refresh</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtree-refresh&amp;rev=1579723168&amp;do=diff</link>
        <description>Java - AWT/Swing








Mit folgendem Codee wird der gesamte Baum neu aufgebaut:




((DefaultTreeModel)tree.getModel()).nodeStructureChanged(myRootNode);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtree-transparent&amp;rev=1258149270&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-11-13T22:54:30+02:00</dc:date>
        <title>swing:jtree-transparent</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtree-transparent&amp;rev=1258149270&amp;do=diff</link>
        <description>AWT/Swing



javax.swing.JTree

javax.swing.tree.DefaultTreeCellRenderer



Um einen JTree total transparent zu bekommen muss ein eigener CellRenderer implementiert werden:









DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer() {  
   
   public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, 
                               boolean expanded, boolean leaf, int row, boolean hasFocus) {
      setOpaque(false);
      return super.getTreeCellRendererCo…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtree-treenode&amp;rev=1420465867&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-05T14:51:07+02:00</dc:date>
        <title>swing:jtree-treenode</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtree-treenode&amp;rev=1420465867&amp;do=diff</link>
        <description>Java - AWT/Swing



Eine immer wieder gestellte Frage ist, wie man nachträglich den Text eines TreeNodes ändert.
Dabei geht das denkbar einfach:









node.setUserObject(&quot;Neuer Name&quot;);
treeModel.nodeChanged(node);







Stichworte:




TreeNode umbenennen Text ändern rename</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:jtree&amp;rev=1405945857&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-07-21T14:30:57+02:00</dc:date>
        <title>swing:jtree</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:jtree&amp;rev=1405945857&amp;do=diff</link>
        <description>Java - AWT/Swing



Ein einfaches Beispiel für einen JTree:











package com.sowas.javawiki.jtree;
 
import java.awt.BorderLayout;
 
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
 
public class JTreeDemo extends JFrame {
 
   public JTreeDemo() {
      setLayout(new BorderLayout());
 
      DefaultMutableTreeNode root = new DefaultMutableTreeNode(&quot;Root&quot;);
      DefaultMutableTreeNode node = new DefaultMu…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:keylistener-keyevent&amp;rev=1320240282&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-02T14:24:42+02:00</dc:date>
        <title>swing:keylistener-keyevent</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:keylistener-keyevent&amp;rev=1320240282&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.event.KeyEvent

java.awt.event.KeyAdapter

Im Beispiel sollen die Tasten „Ctrl +“ und „Ctrl -“ erkannt werden:


myControl.addKeyListener(new KeyAdapter() {
   public void keyPressed(KeyEvent e){
      if (e.isControlDown()){  // Ctrl
         if (e.getKeyCode()==KeyEvent.VK_PLUS) {  // +
            System.out.println(&quot;Strg +&quot;);
         }else{
            if (e.getKeyCode()==KeyEvent.VK_MINUS) {  // -
               System.out.println(&quot;Strg -&quot;);
            }
     …</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:look&amp;rev=1292325768&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-14T12:22:48+02:00</dc:date>
        <title>swing:look</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:look&amp;rev=1292325768&amp;do=diff</link>
        <description>javax.swing.UIManager

Alle verfügbaren Look&amp;Feel's auflisten:



UIManager.LookAndFeelInfo[] info = UIManager.getInstalledLookAndFeels();
for (int i = 0; i &lt; info.length; i++) {
   System.out.println(info[i].getName());  // Der lesbare Name
   String className = info[i].getClassName();  // kann mit setLookAndFeel(..) gesetzt werden
}</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:modifyfont&amp;rev=1262469183&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-01-02T22:53:03+02:00</dc:date>
        <title>swing:modifyfont</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:modifyfont&amp;rev=1262469183&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.Font

Möchte man einen vorhandenen Font ändern, so geht das am Einfachsten mit folgendem Code:









Label label = new Label(&quot;Test&quot;);
label.setFont(label.getFont().deriveFont(Font.BOLD));  // Font style auf BOLD setzen
label.setFont(label.getFont().deriveFont(12.0f));  // Font size auf 12 setzen</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:mouse-position-without-listener&amp;rev=1579723168&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:28+02:00</dc:date>
        <title>swing:mouse-position-without-listener</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:mouse-position-without-listener&amp;rev=1579723168&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.MouseInfo

Folgender Code genügt um die absolute Mausposition zu ermitteln:









Point location = MouseInfo.getPointerInfo().getLocation();
System.out.println(location.x + &quot;/&quot; + location.y);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:resize-listener&amp;rev=1424168234&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-17T11:17:14+02:00</dc:date>
        <title>swing:resize-listener</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:resize-listener&amp;rev=1424168234&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.event.ComponentListener

Falls man drüber informiert werden möchte, ob sich die Größe eines Fensters ändert oder das Fenster verschoben wird, so hilft folgender Code:




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

Frame frame = new Frame();
frame.addComponentListener(new ComponentListener() {
   @Override
   public void componentHidden(ComponentEvent e) {
   }
   @Override
   public void componentMoved(ComponentEvent e) {
      System.out.println(&quot;Moved&quot;);
   }
   …</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:return-enter&amp;rev=1259510925&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-11-29T17:08:45+02:00</dc:date>
        <title>swing:return-enter</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:return-enter&amp;rev=1259510925&amp;do=diff</link>
        <description>AWT/Swing



Die beiden Return-/Entertasten liefern den KeyCode VK_ENTER (10). Die Unterscheidung ist nur an Hand der Position möglich:









if (e.getKeyCode() == KeyEvent.VK_ENTER) {
   if(e.getKeyLocation() == KeyEvent.KEY_LOCATION_STANDARD) 
      System.out.println(&quot;Return&quot;);
   else
     if (e.getKeyLocation() == KeyEvent.KEY_LOCATION_NUMPAD) 
        System.out.println(&quot;Enter&quot;);
}</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:revalidate-invalidate-validate-repaint&amp;rev=1579723170&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:30+02:00</dc:date>
        <title>swing:revalidate-invalidate-validate-repaint</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:revalidate-invalidate-validate-repaint&amp;rev=1579723170&amp;do=diff</link>
        <description>Java - AWT/Swing



revalidate() ruft invalidate() auf und markiert die Komponente als invalid („Layout kaputt“); es erfolgt kein Aufruf von repaint()

invalidate() teilt allen über- und untergeordneten Komponenten mit, dass das Layout invalid ist; es erfolgt kein Aufruf von repaint()

validate() berechnet das Layout der Komponenten neu, welche zuvor als invalid markiert wurden; es erfolgt kein Aufruf von repaint()

repaint() zeichnet die Komponenten neu.
 






Ein typische Aufruf wäre somit:…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:rowsorter-jtable&amp;rev=1401965733&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-06-05T12:55:33+02:00</dc:date>
        <title>swing:rowsorter-jtable</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:rowsorter-jtable&amp;rev=1401965733&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.table.TableRowSorter

JTable kann Zeilen sortieren. Dazu muss der eingebaute RowSorter aktiviert werden:




JTable table = new JTable(new MyTableModel());
table.setAutoCreateRowSorter(true);










Wichtig hierbei ist, dass der Index der sichtbaren Tabelle ins Model umgerechnet wird!</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:scale-image&amp;rev=1579723169&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:29+02:00</dc:date>
        <title>swing:scale-image</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:scale-image&amp;rev=1579723169&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.image

Im Beispiel wird eine Bild der Größe 100px x 100px auf 50px x 50px verkleinert:









ImageIcon bigImage = new ImageIcon(&quot;100x100.png&quot;);
Image smallImage = bigImage.getScaledInstance(50, 50, Image.SCALE_DEFAULT);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:simple-input-dialog&amp;rev=1579723169&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:29+02:00</dc:date>
        <title>swing:simple-input-dialog</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:simple-input-dialog&amp;rev=1579723169&amp;do=diff</link>
        <description>Java - AWT/Swing



 javax.swing.JOptionPane.showInputDialog(..)

Für eine einfache Eingabe gibt es bereits einen vorgefertigten Dialog:









String result = JOptionPane.showInputDialog(null, &quot;Eingabe bitte:&quot;, &quot;Eingabe-Titel&quot;, JOptionPane.QUESTION_MESSAGE);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:splashscreen&amp;rev=1579723169&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:29+02:00</dc:date>
        <title>swing:splashscreen</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:splashscreen&amp;rev=1579723169&amp;do=diff</link>
        <description>Java - AWT/Swing



Ein Splashscreen wird meist beim Start eines Programmes angezeigt. Es handelt sich um einen normalen JFrame, bei welchem lediglich die Dekorationen abgeschaltet sind.










package com.sowas.javawiki.splashscreen;
 
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Label;

import javax.swing.JFrame;
 
public class SplashScreenDemo extends JFrame {
 
   public SplashScreenDemo(){
      setLayout(new BorderLayout());
      setLo…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:strong-lines&amp;rev=1291289856&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-02T12:37:36+02:00</dc:date>
        <title>swing:strong-lines</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:strong-lines&amp;rev=1291289856&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.Graphics2D

java.awt.Stroke








Das Code-Beispiel zeichnet eine Linie mit einer Stärke von drei Pixeln:




public void paint(Graphics g) {
   Graphics2D g2 = (Graphics2D)g;
   g2.setStroke(new BasicStroke(3));
   g2.drawLine(0, 0, 100, 100);
}</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:stylesheet&amp;rev=1331799432&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-03-15T09:17:12+02:00</dc:date>
        <title>swing:stylesheet</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:stylesheet&amp;rev=1331799432&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.JTextPane

javax.swing.text.html.StyleSheet







JTextPane textPane;
StyleSheet css = new StyleSheet();
css.addRule(&quot;p {margin: 0; font-family: Arial, sans-serif; font-size: 12px; }&quot;);
((HTMLEditorKit)textPane.getEditorKit()).setStyleSheet(css);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:swing-messagebox&amp;rev=1579723169&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:29+02:00</dc:date>
        <title>swing:swing-messagebox</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:swing-messagebox&amp;rev=1579723169&amp;do=diff</link>
        <description>Java - AWT/Swing



Im einfachsten Fall lässt sich eine MessageBox unter Swing so verwirklichen:









JOptionPane.showMessageDialog(null, &quot;My message!&quot;);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:swing&amp;rev=1670944946&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-13T16:22:26+02:00</dc:date>
        <title>swing:swing</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:swing&amp;rev=1670944946&amp;do=diff</link>
        <description>*  Actions
	*  Anwendung beenden beim Schließen eines JFrame
	*  Anwendungs-Icon setzen
	*  Aktionen ausführen nach GUI-Update
	*  Cursor setzen
	*  Dicke Linien
	*  Einzeiliger Eingabe-Dialog
	*  Fenster maximieren
	*  Fenster minimieren
	*  Fenster wiederherstellen
	*  Fenster zentrieren
	*  Font ändern
	*  FontMetrics
	*  Glasspane, Probleme Cursor/Maus umgehen
	*  GridBagLayout
	*  HTML darstellen, JEditorPane</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:systemcolors&amp;rev=1320240294&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-02T14:24:54+02:00</dc:date>
        <title>swing:systemcolors</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:systemcolors&amp;rev=1320240294&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.SystemColor








SystemColor Welche Farbe darauf ansprichtdesktop Farbe des Desktop-HintergrundsactiveCaption Hintergrundfarbe für Text im FensterrahmenactiveCaptionText Farbe für Text im FensterrahmenactiveCaptionBorder Rahmenfarbe für aktiven FensterrahmeninactiveCaption Hintergrundfarbe für inaktiven Text im FensterrahmeninactiveCaptionText Farbe für inaktiven Text im FensterrahmeninactiveCaptionBorder Rahmenfarbe für inaktiven Fensterrahmenwindow Hintergrundfa…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:tablecelleditor-jtextarea&amp;rev=1408455208&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-08-19T15:33:28+02:00</dc:date>
        <title>swing:tablecelleditor-jtextarea</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:tablecelleditor-jtextarea&amp;rev=1408455208&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.table.TableCellEditor

javax.swing.JTextArea



Folgendes Beispiel zeigt, wie eine TextArea als CellEditor verwendet werden kann:

[TextArea als TableCellEditor]









import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.event.CellEditorListener;
import javax.swing.event.ChangeEvent;
import javax.swing.event.Even…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:tooltip-delay&amp;rev=1320240259&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-11-02T14:24:19+02:00</dc:date>
        <title>swing:tooltip-delay</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:tooltip-delay&amp;rev=1320240259&amp;do=diff</link>
        <description>Java - AWT/Swing









ToolTipManager.sharedInstance().setInitialDelay(1000);  // Wert in ms</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:tooltip&amp;rev=1285825775&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-09-30T07:49:35+02:00</dc:date>
        <title>swing:tooltip</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:tooltip&amp;rev=1285825775&amp;do=diff</link>
        <description>Jede Komponente in Swing kann Tooltips erhalten.



component.setToolTipText(&quot;Ein Tool-Tipp&quot;);



Es ist übrigens auch möglich HTML-Code in Tooltips zu übergeben.
Damit können beispielweise auch mehrzeilige Tooltips realisiert werden.



component.setToolTipText(&quot;&lt;html&gt;Dies ist die erste Zeile&lt;br&gt;und dies ist die Zweite&lt;/html&gt;&quot;);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:treepath&amp;rev=1421394151&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-16T08:42:31+02:00</dc:date>
        <title>swing:treepath</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:treepath&amp;rev=1421394151&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.tree.TreePath

javax.swing.tree.TreeNode






public TreePath getPath(TreeNode treeNode){
   List list = new ArrayList();
   
   while (treeNode != null) {
      list.add(treeNode);
      treeNode = treeNode.getParent();
   }
   Collections.reverse(list);
    
   return new TreePath(list.toArray());
}</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:tutorial-2&amp;rev=1401441884&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-05-30T11:24:44+02:00</dc:date>
        <title>swing:tutorial-2</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:tutorial-2&amp;rev=1401441884&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.*

Nun, ein „Hello World!“ ist auf Dauer wenig befriedigend.

Daher werden wir im Verlauf dieses Swing-Tutorials eine kleine Anwendung entwickeln.

Dabei soll es sich um eine einfache Adressverwaltung handeln, welche oben die übliche Toolbar, links einen Navigationsbaum und in der Mitte eine Tabelle mit den Adressen haben soll.



Im ersten Schritt sorgen wir für das gewünschte Layout. Allerdings verwenden wir statt der Toolbar, des Trees und der Tabelle, einfach …</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:tutorial-3&amp;rev=1401443599&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-05-30T11:53:19+02:00</dc:date>
        <title>swing:tutorial-3</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:tutorial-3&amp;rev=1401443599&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.*






package com.sowas.javawiki.swingtutorial;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSplitPane;
import javax.swing.JToolBar;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
 
public class SwingTutorial extends JFrame {
   public SwingTutorial() {
      set…</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:tutorial&amp;rev=1401094719&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-05-26T10:58:39+02:00</dc:date>
        <title>swing:tutorial</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:tutorial&amp;rev=1401094719&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.*



Dieses Tutorial soll einen Einführung in Swing geben!

Vorausetzung für dieses Tutorial sind allgemeine Java-Kenntnisse.


Wie sollte es auch anders sein, wir beginnen mit dem brühmten „Hallo World!“:

Da es sich um eine Swing-Anwendung handeln soll benötigen wir ein Hauptfenster. Das ist in Swing der JFrame.

Dieser verfügt über eine ContentPane, in welcher die GUI-Elemente angeordnet werden.

In unserem Fall fügen wir einfach ein Label (JLabel) mit unserem …</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:uidefaults-uimanager&amp;rev=1421404559&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-16T11:35:59+02:00</dc:date>
        <title>swing:uidefaults-uimanager</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:uidefaults-uimanager&amp;rev=1421404559&amp;do=diff</link>
        <description>Java - AWT/Swing



javax.swing.UIDefaults

javax.swing.UIManager

Verschiedene Einstellung des Look &amp; Feels lassen sich einfach durch die Properties des UIManagers beeinflussen:









String key = ... // Siehe Tabelle unten
String value = ...  // Siehe Tabelle unten
UIManager.put(key, value);</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:window-center&amp;rev=1380875221&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-10-04T10:27:01+02:00</dc:date>
        <title>swing:window-center</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:window-center&amp;rev=1380875221&amp;do=diff</link>
        <description>Java - AWT/Swing



java.awt.Window

In Java kann ein Fenster (JFrame, JDialog, ...) mit der Methode setLocationRelativeTo(Component c) zentrieren werden.

Dabei gibt der Parameter c an, zu welchem übergeordneten Fenster zentriert werden soll. Der Parameter c darf auch null sein. In diesem Fall wird auf dem Bildschirm zentriert:</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:window-maximize&amp;rev=1262975913&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-01-08T19:38:33+02:00</dc:date>
        <title>swing:window-maximize</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:window-maximize&amp;rev=1262975913&amp;do=diff</link>
        <description>Java - AWT/Swing



Wie in Java das Anwendungsfenster zu maximieren ist zeigt folgender Code:









package com.sowas.javawiki;

import java.awt.*;
import javax.swing.*;

public class MaxFrame extends JFrame {
    public MaxFrame() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setExtendedState(JFrame.MAXIMIZED_BOTH);  // Hier wird das Fenster maximiert
    }

    public static void main(final String[] args) {
       new MaxFrame().setVisible(true);
    }
}</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:window-minimize&amp;rev=1579723172&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:32+02:00</dc:date>
        <title>swing:window-minimize</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:window-minimize&amp;rev=1579723172&amp;do=diff</link>
        <description>Java - AWT/Swing



Wie in Java ein Anwendungsfenster minimiert wird zeigt folgender Code:









JFrame frame = new JFrame();
frame.setExtendedState(JFrame.ICONIFIED);  // Hier wird das Fenster minimiert</description>
    </item>
    <item rdf:about="http://javawiki.sowas.com/doku.php?id=swing:window-restore&amp;rev=1579723172&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:32+02:00</dc:date>
        <title>swing:window-restore</title>
        <link>http://javawiki.sowas.com/doku.php?id=swing:window-restore&amp;rev=1579723172&amp;do=diff</link>
        <description>Java - AWT/Swing



Wie in Java ein minimiertes Anwendungsfenster wiederhergestellt wird zeigt folgender Code:









JFrame frame = new JFrame();
frame.setExtendedState(JFrame.NORMAL);  // Hier wird das Fenster wiederhergestellt</description>
    </item>
</rdf:RDF>
