Kurze Java Frage - Seite 2

Seite 2 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/kurze_java_frage_201199/page_2 - zur Vollversion wechseln!


tinker schrieb am 28.11.2008 um 21:54

Naja, in dem Fall ist der Aufbau ja sinnvoll. TabelleA fungiert quasi als 'Vater'.

Wenn ein User hergeht und einen Datensatz in TabelleB anlegt, muss er zuerst einen 'Vaterdatensatz' aus TabelleA auswählen. Dann kann er hergehen und alle Werte vom Vater übernehmen, oder er ändert den einen oder anderen.

Ansonsten is das mit der Normalform eh klar. :)


tinker schrieb am 19.12.2008 um 11:54

Hab wieder mal ne kurze Frage:
Wie kann ich auf den Pfad in dem ein jar-File ausgeführt wird zugreifen? Hab einen Ordner in dem das jar-File und ein xml-File liegen, jetzt muss ich aus dem jar heraus auf das xml-File zugreifen. Natürlich dynamisch. Aber wie? Hab bisher irgendwei nichts gefunden.


Lukas schrieb am 19.12.2008 um 12:01

ist das nicht die gleiche frage wie die erste? oder versteh ich da was falsch?


tinker schrieb am 19.12.2008 um 12:16

Oha, stimmt. Aber da hat an COLOSSUS Vorschlag was nicht funktioniert. Ich werds ma nochmal anschaun.
// Aha, passt eh. Hm... zeitweis bin ich etwas überfordert... never mind...


tinker schrieb am 19.01.2009 um 16:58

Muss in einem Programm einen kleinen rtf-Editor zur Verfügung stellen.
Verwende dazu eine JTextPane. Für die Funktionalitäten die ich bisher hab, greif ich auf das StyledEditorKit zurück. Zb.:

Code:
Action action = new StyledEditorKit.AlignmentAction("left", StyleConstants.ALIGN_LEFT);
btAlignLeft.setAction(action);

Derzeit fehlen mir noch Implementierungen für Aufzählungen und Nummerierungen. Aber anscheinend werden diese nicht vom StyledEditorKit zur Verfügung gestellt. Hat jemand irgendwelche Hinweise? Google spuckt nicht wirklich was aus, liegt vor allem daran, das ich nicht weiß wonach ich suchen soll.

tia


prayerslayer schrieb am 19.01.2009 um 20:59

hab jetzt nur ganz kurz gegoogelt und nicht wirklich nachgeschaut, aber warum keine JEditorPane? die unterstützt, was ich so gesehen hab, rtf per default. und dann hab ich noch ein RTFEditorKit gesehen... schaut brauchbar aus.


tinker schrieb am 19.01.2009 um 21:29

JTextPane ist von JEditorPane abgeleitet. Unterstützt rtf auch per default. Und das RTFEditorKit is zum lesen und schreiben von RTF-Files, dafür benutze ich es auch. Bei den Action-Funktionen, um dies mir geht, verfügt es aber nicht um mehr als das StyledEditorKit das ich verwende, also bringt das auch nichts.

Aber danke. Sonst noch wer einen Hinweis?


prayerslayer schrieb am 19.01.2009 um 21:31

Zitat von tinker
JTextPane ist von JEditorPane abgeleitet. Unterstützt rtf auch per default. Und das RTFEditorKit is zum lesen und schreiben von RTF-Files, dafür benutze ich es auch. Bei den Action-Funktionen, um dies mir geht, verfügt es aber nicht um mehr als das StyledEditorKit das ich verwende, also bringt das auch nichts.

ah, ok. danke. kommt davon, wenn man nicht genau schaut :/


tinker schrieb am 20.01.2009 um 15:29

weiß keiner was?


tinker schrieb am 23.01.2009 um 15:57

Das Problem besteht noch immer, also wenn wer was weiß, bitte, nur zu.

Derweil hab ich aber auch ein anderes Problem.
Wie gesagt hab ich im Programm einen kleinen rtf-Editor. Den formatierten Text speichere ich in die DB in ein CLOB-Feld.

So, folgender Aufbau:

Code:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
        try {
            rtf.write(baos, tpEditor.getDocument(), 0, tpEditor.getDocument().getLength());
        
            ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
            BufferedReader in = new BufferedReader(new InputStreamReader(bais));
            
            DataAccess.saveXXX(id, in, 0);
        } catch (Exception ex) {
            [...]
        }
rtf ist vom Typ RTFEditorKit. Mit der Methode write wird einfach der Text, mitsamt formatierungen, aus der TextPane in den OutpuStream geschrieben. Den ließ ich dann mit einem BufferedReader aus und übergib den an die saveXXX Methode:

Code:
@Override
    public void saveXXX(int id, Reader in, int length) throws Exception {
        Connection conn = dbpool.getConnection();

        String sql = "<unwichtig>";
        PreparedStatement stat = conn.prepareStatement(sql);
        stat.setCharacterStream(1, in, length);
        stat.setInt(2, id);

        stat.executeUpdate();

        dbpool.releaseConnection(conn);
    }
So, und mein Problem ist jetzt, das die Methode setCharacterStream eine Längenangabe 'fordert'. 'Fordert' desshalb, weils die Methode auch ohne der Längenangabe gibt, ich dann aber immer eine Exception bekomme (irgendwas mit Zugriff auf Abstract-Methode oder so, ich kanns eh posten wenn gewollt)

Tjo, und jetzt meine Frage:
Wie komm ich beim BufferedReader zu einer Länge?

tia, und falls was unklar sein sollte, bitte sagen


Nico schrieb am 23.01.2009 um 16:11

eventuell kannst die länge schon im try statement vor der "verarbeitung" auslesen und dann mitübergeben?


tinker schrieb am 23.01.2009 um 16:17

Jop, hab ich mir auch schon gedacht:
In ner Schleife und mit readLine() den BufferedReader durchgehen und die Chars zählen. Aber überzeugt bin ich von der Methode nicht :/


DirtyHarry schrieb am 23.01.2009 um 20:04

Blöde Frage, aber warum einen BufferedReader wenn Du eh aus dem Speicher ausliest?

BufferedReaders machen Sinn wenn Du von Disk oder aus dem Netz was liest, aber aus dem Speicher ist es imho nur unnötiger Overhead.

Am ByteArrayInputStream hast Du eine schöne Methode: bais.available() - da sollte eigentlich Deine gewünscht Grösse drinnenstehen.


tinker schrieb am 24.01.2009 um 13:08

setCharacterStream braucht nen Reader.
Aber bais.available() hört sich gut an, danke!


watchout schrieb am 28.01.2009 um 11:53

Zitat von tinker
Derzeit fehlen mir noch Implementierungen für Aufzählungen und Nummerierungen. Aber anscheinend werden diese nicht vom StyledEditorKit zur Verfügung gestellt. Hat jemand irgendwelche Hinweise? Google spuckt nicht wirklich was aus, liegt vor allem daran, das ich nicht weiß wonach ich suchen soll.

tia
afaik sind bullets/numbering nichts anderes als "symbol<indent>moretext", daher würde auch aus Sicht des Frameworks kein Sinn bestehen dafür extra Funktionen anzubieten (nachdem ja rich text nicht vom "user" geschrieben werden soll, ganz im Gegensatz zu zB. HTML) - auch weil die Sache etwas umständlich werden kann.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025