Textfeld nicht rechteckig

kodela

Bekanntes Mitglied
Hallo,

ist es möglich, ein Textfeld zu erstellen, welches nicht rechteckig ist? Man könnte sagen, das Tesxtfeld sollte in der Grundform ein Rechteck sein, bei dem an einer Ecke ein Bild eingefügt ist, das natürlich nicht überschrieben werden darf.
 

mihe7

Top Contributor
Wie ich @kodela kenne, geht es um Swing. Da habe ich mal für einen ersten Ansatz was zusammengeschustert:
Java:
public class IconField extends JTextField {

    private final Icon icon;

    public IconField(Icon icon) {
        super(20);
        this.icon = icon;
        setBorder(getBorder());
    }

    @Override
    public void setBorder(Border border) {
        Border newBorder = border;
        if (icon != null) {
            int height = getPreferredSize().height;
            Border outerMargin = BorderFactory.createEmptyBorder(icon.getIconHeight() - height, 0, 0, 0);
            Border innerMargin = BorderFactory.createEmptyBorder(0, 0, 0, icon.getIconWidth());
            Border innerBorder = BorderFactory.createCompoundBorder(border, innerMargin);
            newBorder = BorderFactory.createCompoundBorder(outerMargin, innerBorder);
        }
        super.setBorder(newBorder);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        if (icon != null) {
            icon.paintIcon(this, g, getWidth() - icon.getIconWidth(), 0);
        }
    }

    public static void main(String[] args) throws Exception {
        Image image = ImageIO.read(
                URI.create("https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Achtung.svg/64px-Achtung.svg.png")
                        .toURL());
        Icon icon = new ImageIcon(image);

        SwingUtilities.invokeLater(() -> {
            JPanel panel = new JPanel(new GridLayout(0, 1));
            panel.add(new IconField(icon));
            panel.add(new IconField(icon));

            JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            frame.add(panel, BorderLayout.NORTH);
            frame.pack();
            frame.setVisible(true);
        });
    }
}
 

krgewb

Top Contributor
Hallo kodela. Ich will dir etwas zeigen. Dieses Programm besteht aus zwei Fenstern. Bei dem kleinen Fenster sind die Buttons an den Ecken diagonal zerschnitten.
Wenn das große Fenster verschoben wird, wird das kleine Fenster genauso verschoben.
Möchtest du den Quelltext sehen?
 

Anhänge

  • sdfdff.png
    sdfdff.png
    32,7 KB · Aufrufe: 0

kodela

Bekanntes Mitglied
@mihe7:
Danke für Deine Mühe, die Du Dir mit meiner schrägen Frage gemacht hast, aber es kam bei mir nicht viel raus, außer einem schwarzen Feld mit links oben einem kleinen weißem, kein Textfeld, das war es dann. Sieht von der Form ja so ähnlich aus, wie ich es mir vorgestellt hatte.

Mittlerweile habe ich einen Weg gefunden, für den kein unregelmäßiges Textfeld brauche.
 

Anhänge

  • Test.jpg
    Test.jpg
    16,6 KB · Aufrufe: 0

kodela

Bekanntes Mitglied
@krgewb:
Danke für das Angebot, wäre sicher interessant, wie Du das gemacht hast, aber derzeit geht es mir anderweitig etwas dick ein, so dass ich lieber darauf verzichte, den Code zu studieren.
 

mihe7

Top Contributor
@mihe7:
Danke für Deine Mühe, die Du Dir mit meiner schrägen Frage gemacht hast, aber es kam bei mir nicht viel raus, außer einem schwarzen Feld mit links oben einem kleinen weißem, kein Textfeld, das war es dann. Sieht von der Form ja so ähnlich aus, wie ich es mir vorgestellt hatte.

Mittlerweile habe ich einen Weg gefunden, für den kein unregelmäßiges Textfeld brauche.
Das ist seltsam. Bei mir sieht es so aus:

IconField.gif
 

kodela

Bekanntes Mitglied
@mihe7:

Ja, dass da irgend wie ein Achtungszeichen erscheinen sollte, habe ich dem Quellcode entnommen. Allerdings würde bei dieser Lösung, wenn sie denn bei mir funktionieren würde, das Textfeld selbst nicht beschnitten, nur eingeengt durch das Bild. Und nochmals ja, ich habe von einem Bild gesprochen, das da an einer Stelle eingefügt werden soll. Präzise hätte ich schreiben sollen, an einer Ecke soll ein Objekt gezeichnet werden.

Das ist jetzt aber egal, für die Darstellung auf dem Desktop habe ich die linke obere Ecke für die Darstellung des Hauptobjekts, darunter habe ich einige Anzeigen platziert und die ganze rechte Hälfte ist das Textfeld für Eintragungen durch den Anwender. Dieses Arrangement nutze ich auch für den Ausdruck ohne die Anzeige der Objekte unterhalb des Hauptobjekts. Hier kann der Anwender dann auch Eintragungen vornehmen.

Kurz zur Anwendung selbst: Im Hauptprojekt, einen quadratischen Bereich mit neun Feldern, wird je ein Buchstabe angezeigt, aus denen sollen möglichst viele Wörter gebildet und eingetragen werden. Der Buchstabe in der Mitte muss in jedem Wort vorkommen. Für jedes Wort gibt es entsprechend der Wortlänge Punkte. Für ein Wort mit allen neun Buchstaben gibt es 20 Punkte.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
TheSkyRider Java Geburtsdatum Textfeld Allgemeine Java-Themen 7
S Eclipse TestNG: Textfeld einbinden? Allgemeine Java-Themen 1
T itext: text in ein textfeld hinzufügen Allgemeine Java-Themen 2
J Hilfe bei Datumsberechnung aus Textfeld Allgemeine Java-Themen 10
L nach form submit textfeld an java übergeben? Allgemeine Java-Themen 2
F In ein Textfeld im Browser schreiben? Allgemeine Java-Themen 4
O Input/Output Textfeld: nur Integer annehmen Allgemeine Java-Themen 9
M Datum/Uhrzeit in ein Textfeld schreiben Allgemeine Java-Themen 28
hdi GUI: Ich brauche ein Textfeld mit "Sperre" Allgemeine Java-Themen 12
S Textfeld Parser sinnvoll? Allgemeine Java-Themen 3
S Listener Implentierung bei Eingabe in Textfeld Allgemeine Java-Themen 2
S TextFeld Problem! Allgemeine Java-Themen 4
G Kommazahlen mit Komma in Textfeld darstellen Allgemeine Java-Themen 11
A Textfeld prüfen, ob ein Punkt eingegeben wurde Allgemeine Java-Themen 8
A Problem mit Auslese aus einem Textfeld Allgemeine Java-Themen 3
P Probleme mit Aktualisierung Textfeld im Applet Allgemeine Java-Themen 4
G Textfeld alle 0.5 Sekunden aktualisieren Allgemeine Java-Themen 2
H Datei auslesen und in einem Textfeld ausgeben. Allgemeine Java-Themen 8
M Ein Thread soll ein Textfeld (SWT) ändern Allgemeine Java-Themen 4
A Textfeld soll verschiedene Datumseingaben akzeptieren Allgemeine Java-Themen 5
Zrebna Wieso sollte man Null-Prüfungen nicht mit Optional-Objekten nutzen? Allgemeine Java-Themen 13
G Doppelklick auf Javaprogramm klapt nicht Allgemeine Java-Themen 1
W Timer terminiert nicht Allgemeine Java-Themen 5
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
W Überflüssige Deklaration vermeiden...war da nicht mal was? Allgemeine Java-Themen 3
N lwjgl kann textureSampler nicht finden Allgemeine Java-Themen 4
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
T .Jar kann man nicht ausführen Allgemeine Java-Themen 18
P JDK nicht installiert in Net Object Fusion Allgemeine Java-Themen 7
D Image bewegt sich nicht nach Klicken auf Button Allgemeine Java-Themen 15
N Regex schlägt nicht an Allgemeine Java-Themen 10
Y Wieso krieg ich die Unit Tests nicht hin Allgemeine Java-Themen 55
D Erste Schritte Mp3 Datei kann nicht von der Festplatte geöffnet werden - mit ChatGPT erstellt Allgemeine Java-Themen 7
G Popup wird nicht sichtbar Allgemeine Java-Themen 9
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
OnDemand ApacheCommon FTP Client zuckt nicht Allgemeine Java-Themen 3
T JavaPoet - (noch) nicht existente Typen Allgemeine Java-Themen 2
E Es ist nicht möglich, eine Batch-Anweisung auszuführen. Allgemeine Java-Themen 9
C Was passt hier nicht bei der Calendar-Class Allgemeine Java-Themen 2
T Testing JUnit5: try ... catch arbeitet nicht sauber Allgemeine Java-Themen 6
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
OnDemand MemoryLeak nicht zu finden Allgemeine Java-Themen 26
torresbig Website login Problem - Jsoup, wie bisher, klappt nicht! Allgemeine Java-Themen 31
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
OnDemand Ram Freigabe erfolgt nicht nach Prozessende Allgemeine Java-Themen 18
OnDemand XML desializing Attribute bringt nicht erwartetes Ergebnis Allgemeine Java-Themen 16
T ImageIcon wird nicht angezeigt Allgemeine Java-Themen 6
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
stormyark TikTakToe funktioniert nicht Allgemeine Java-Themen 10
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
Tiago1234 Hauptklasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 38
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
I "Neues" Lizenzmodell Oracle - JRE nicht mehr zur Redistribution freigegeben? Allgemeine Java-Themen 16
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
A code wird nicht ausgeführt Allgemeine Java-Themen 3
Blender3D Alte Beiträge nicht mehr vorhanden Allgemeine Java-Themen 6
M Warum hat Java dieses und jenes nicht... Allgemeine Java-Themen 8
W Bilder werden in App mit Jar-Datei nicht angezeigt Allgemeine Java-Themen 15
Micha43 Applet *.jar läuft nicht auf dem Mac Allgemeine Java-Themen 8
M Warum bekommen ich den Result nicht ? Allgemeine Java-Themen 17
Kiki01 Häufigster Buchstabe lässt sich nicht ermitteln Allgemeine Java-Themen 30
OnDemand RegEx /compilebekomme nicht die erwarteten Werte Allgemeine Java-Themen 9
HerrBolte Seltsamer Fehler nur in der Windows- und nicht in der Java-Console O_O Allgemeine Java-Themen 16
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
P Karate API Test läuft nicht durch . initializationError Allgemeine Java-Themen 21
N nicht static und auch nicht new Allgemeine Java-Themen 3
Z macOS java konnte nicht entfernt werden xpc verbindungsfehler Allgemeine Java-Themen 4
T Schaltfläche wird nicht gefunden Allgemeine Java-Themen 4
boschl2000 Springerproblem-Implementierung funktioniert nicht richtig Allgemeine Java-Themen 1
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
N Gierigen Regex in nicht-gierigen umwandeln Allgemeine Java-Themen 4
N Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 6
AleXusher Hauptklasse startlösung konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 1
G @PostConstruct Annotation nicht mehr gültig ? Allgemeine Java-Themen 7
L Objekte in Set nicht gefunden Allgemeine Java-Themen 13
T Projekt baut nicht mehr/lässt sich nicht mehr ausführen Allgemeine Java-Themen 6
izoards log4j2 will nicht.... Allgemeine Java-Themen 15
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
1Raini Java if-Abfrage funktioniert nicht! Allgemeine Java-Themen 3
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
I serialVersionUID - explizit vergeben oder nicht? Allgemeine Java-Themen 6
MiMa Vorhandenes das nicht existiert?? Allgemeine Java-Themen 7
LimDul Hä? Lambda-Ausdruck geht, Methoden-Referenz nicht Allgemeine Java-Themen 8
O Jar lässt sich auf bestimmten Pc nicht starten Allgemeine Java-Themen 18
T Fremde Typen mockt man nicht? Allgemeine Java-Themen 3
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
LimDul Direktes return eines Array geht nicht Allgemeine Java-Themen 20
B neuroph hält beim XOR lernen nicht an Allgemeine Java-Themen 13
kodela JDialog zeigt Text nicht an Allgemeine Java-Themen 5
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
D Twitch API mit HttpURLConnection läuft nicht? Allgemeine Java-Themen 0
M Test geht auf Travis und mit Github Action schief aber nicht lokal Allgemeine Java-Themen 3
R Threads Clip loop loopt nicht Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben