Zum Inhalt springen

madbat

Mitglieder
  • Gesamte Inhalte

    26
  • Benutzer seit

  • Letzter Besuch

  1. joah hab ich schon, kann allgemein auf keien classen zugreifen bis auf die zwei die schon existieren... kann man irgendwie eine sicherung machen, das man nicht auf nicht eingetragene klassen zugreifen kann? vielleicht muss ich da nochwas nachtragen, weil in die standard sachen isse komplet eingetragen
  2. an der Meldung nichts, nur warum sie aufblöbt, da ich ja auf eine class und kein package verwiesen hab
  3. Die Klasse gibt es: package de.xyz.proto; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; public class Customers { public Customers(){ } public String getOptions() throws IOException{ String out = new String(); File customersFile = new File("/customers.cust"); FileInputStream fis = new FileInputStream(customersFile); BufferedInputStream bis = new BufferedInputStream(fis); DataInputStream dis = new DataInputStream(bis); Properties props = new Properties(); props.load(dis); dis.close(); bis.close(); fis.close(); int size = Integer.parseInt(props.getProperty("size")); int last = 0; for (int i = 0; i < size; i++) { last++; out = out + ("\n<Option Value=\"" + i + "\">" + props.getProperty("name" + i) + "</Option>"); } out = out +("\n<Option Value=\"" + (last++) + "\">Leerer Datensatz...</Option>"); out = out +("\n<Option Value=\"" + (last++) + "\">Aktuellen Datensatz speichern...</Option>"); out = out +("\n<Option Value=\"" + (last++) + "\">Aktuellen Datensatz loeschen.../Option>"); return out; } } [/PHP]
  4. Mojn Mojn, ich hab da mal wieder ein Problem mit dem bösen EE, ich muss einfach nur auf eine java classe zugreifen, standardmäßig habe ich so angefangen: <select name="savedCustomers" Size="1" type="submit"> <%@ page import="de.xyz.proto.Customers" %> <% Customers cs = new Customers(); %> <%= cs.getOptions(); %> </select> [/PHP] Aber egal wie ich es drehe oder wende ich komme einfach nicht dran, er sage mir immer: [PHP]org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 6 in the generated java file Only a type can be imported. de.tcom.proto.Customers resolves to a package An error occurred at line: 51 in the jsp file: /result.jsp Customers cannot be resolved to a type 48: 49: <%@ page import="de.xyz.proto.Customers" %> 50: <% 51: Customers cs = new Customers(); 52: %> 53: </select></td> 54: </tr> An error occurred at line: 51 in the jsp file: /result.jsp Customers cannot be resolved to a type 48: 49: <%@ page import="de.xyz.proto.Customers" %> 50: <% 51: Customers cs = new Customers(); 52: %> 53: </select></td> 54: </tr> Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439) org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) org.apache.jasper.compiler.Compiler.compile(Compiler.java:312) org.apache.jasper.compiler.Compiler.compile(Compiler.java:299) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) Langsam krieg ich die Kriese, das irgendwie nie sowas klappt wie es vorher schon mal geklappt hat... Grüße, madbat
  5. madbat

    Servlet verfügbar machen

    Okay hab mir ne kleine Test.jsp geschrieben die nichts anderes macht als auf mein Servlet zuzugreifen, jetzt bekomme ich einen http 500 Error, ClassNotFound Danke für den Link, werd mich mal durchackern, müsste ich die Einstellungen dann für jeden Container typ ändern, da der Kunde leider nicht weiss wodrauf es nachher laufen soll.
  6. madbat

    Servlet verfügbar machen

    Ich kann es nichtmals über http aufrufen, genau wie die beiden anderen Klassen auch nicht, aber an die anderen kann ich mit dem oben genannten Befhel ohne Probleme Daten übermitteln verarbeitung und zurückschicken lassen... instantiier wird meiner Meinung nach alles Richtig... Container ist Tomcat, aber ich habe leider keine Ahnung wie ich das überprüfe
  7. madbat

    Servlet verfügbar machen

    <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name> Reseller_Client</display-name> <servlet> <description> </description> <display-name> Reseller_Servlet</display-name> <servlet-name>Reseller_Servlet</servlet-name> <servlet-class> de.blah.bbb.test.Reseller_Servlet</servlet-class> </servlet> <servlet> <description> </description> <display-name> Result_Servlet</display-name> <servlet-name>Result_Servlet</servlet-name> <servlet-class> de.blah.bbb.test.Result_Servlet</servlet-class> </servlet> <servlet> <description> </description> <display-name> Customer_Servlet</display-name> <servlet-name>Customer_Servlet</servlet-name> <servlet-class> de.blah.bbb.test.Customer_Servlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Reseller_Servlet</servlet-name> <url-pattern>/Reseller_Servlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Result_Servlet</servlet-name> <url-pattern>/Result_Servlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Customer_Servlet</servlet-name> <url-pattern>/Customer_Servlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>[/PHP] Reseller_Servlet und Result_Servlet sind auch erreichbar nur Customer_Servlet net...
  8. Hey ich hab mal wieder ein Problem, ich habe eine Projekt von jemand übernommen, und musste dieses jetzt um ein Servlet erweitern, ich habe sie brav in der web.xml verfügbar gemacht, und sie im gleichen package liegen wie die anderen servlets auch, nur wenn ich auf sie zugreifen will, mit <form action="<%=request.getContextPath()%>/My_Servlet"> und ihr daten übermitteln von einer Inputfrom bekomme ich andauernd einen 404 das sie nicht gefunden werden kann. Habe ich was vergessen, fällt spontan jemandem ein warum sie evtl nicht gefunden werden kann? Grüße madbat
  9. Morgen, cool ich danke dir ganz vielmals, ich habe nach wie vor weiter versucht die tags irgendwie einzubauen, aber es hat nicht wirklich geklappt, wenn ich mir deine quells angucke, dann habe ich eindeutig zu wenige unterschiedliche Quellen überschrieben, außerdem habe ich es nicht wirklich hinbekommen mir mit BlockView eine vernünftige Ansicht zu erstellen. Vielen lieben Dank, madbat
  10. So ich hab mal ein bisschen im Netz gesucht und hab es tatsächlich geschafft einen neuen Tag hinzuzufügen: Fieldset Layout: /* * Fieldset.java * * Created on 09.03.2010, 11:36:34 */ package entwicklung; /** * * @author madbat */ public class Fieldset extends javax.swing.JPanel { /** Creates new form Fieldset */ public Fieldset(String content) { this(content, ""); } public Fieldset(String content, String headLine) { initComponents(); this.content.setText(content); this.headline.setText(headLine); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { headline = new javax.swing.JLabel(); jPanel1 = new javax.swing.JPanel(); content = new javax.swing.JLabel(); org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(entwicklung.EntwicklungApp.class).getContext().getResourceMap(Fieldset.class); setBackground(resourceMap.getColor("Form.background")); // NOI18N setName("Form"); // NOI18N setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); headline.setBackground(resourceMap.getColor("headline.background")); // NOI18N headline.setText(resourceMap.getString("headline.text")); // NOI18N headline.setFocusable(false); headline.setName("headline"); // NOI18N headline.setOpaque(true); add(headline, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 0, -1, -1)); jPanel1.setBackground(resourceMap.getColor("jPanel1.background")); // NOI18N jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); jPanel1.setName("jPanel1"); // NOI18N content.setText(resourceMap.getString("content.text")); // NOI18N content.setName("content"); // NOI18N javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(content) .addContainerGap(324, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(content) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 7, 370, 30)); }// </editor-fold> // Variables declaration - do not modify private javax.swing.JLabel content; private javax.swing.JLabel headline; private javax.swing.JPanel jPanel1; // End of variables declaration } [/PHP] HTML-Tag-Erweiterung: [PHP]public class ownHTML extends HTML { public static class ownHTMLTag extends Tag{ protected ownHTMLTag(String id){ super(id); } protected ownHTMLTag(String id,boolean causesbreak,boolean isblock){ super(id,causesbreak,isblock); } public static final Tag fieldset=new UnknownTag("fieldset"); } } HTML-EditorKit mit neuem Tag enthalten: public class MyEditorKit extends HTMLEditorKit { @Override public ViewFactory getViewFactory() { return new OwnHTMLFactory(); } public static class OwnHTMLFactory extends HTMLEditorKit.HTMLFactory implements ViewFactory{ @Override public View create(Element ele){ Object attr = ele.getAttributes().getAttribute(StyleConstants.NameAttribute); if (attr instanceof ownHTML.ownHTMLTag | attr instanceof HTML.Tag){ //Start processing for the custom tag if(ele.getName().equals("fieldset")){ return new ComponentView(ele){ @Override protected Component createComponent(){ String content = "content\nline1\nline2"; String headline = "headline"; Fieldset field = new Fieldset(content, headline); return field; } }; }else { return super.create(ele); } }else{ return null; } } }[/PHP] Eigene Browser Komponente: [PHP]public class OwnBrowserPane extends JEditorPane { EditorKit kit = new MyEditorKit(); public OwnBrowserPane() { this.setEditorKit(kit); } } rufe ich jetzt @Action public void ddd() { String text="<fieldset>test</fieldset>"; ownBrowserPane.setText(text); }[/PHP] auf erhalte ich den Output folgendermaßen: [PHP]test<fieldset><legend>headline</legend>content</fieldset> Wenn mir einer sagen kann, wie ich es schaffe den Text zwischen den Tags zu erhalten wäre mein Problem gelöst (:
  11. genauso meine ich das, nur muss ich jetzt noch was für den legend Befehl haben, also die Überschrift, aber ich denke mal das sollte auch möglich sein. Kenne mich mit html tags leider nicht mehr so gut aus wie früher, da ich sie schon lange nicht mehr intensiv gebraucht habe. so wie du geraten hast klappt es leider auch nicht, der HTMLParser ist echt bescheiden, naja habe jetzt einfach mal <p style=\"border-width:thin; border-style:solid; \">content</p> genommen, dass funktioniert, nur muss ich jetzt noch den <legend> befehl emulieren, sprich die Überschrift, jemand ne Idee? Grüße, madbat
  12. Morgen, kennt von euch jemand eine Möglichkeit im JEditorPane übergansweise, bis Swing es unterstützt, den fieldsetTag einzubinden... fertige freie Lösungen, und/oder codeSchnipsel, und denkanstöße willkommen. Mein Freund google liefert zwar einen Treffer mit dem HTMLKit, aus den sun Foren, nur leider funktioniert, trotz dem Workarround zur Fehlerbehebung der Code bei mir nicht. Meine erste Idee war es einfach zu gucken, ob im Text ein <fieldset> vorkommt, "<fieldset>Textblahblah</fieldset>" das zu löschen, eine paint methode aufzurufen die an die betreffende Stelle ein Rectangle zeichnet und darinnen den Text. Probleme bei der Methode wären: a) Geschwindigkeit Text wird durchsucht (ich denke zum zweiten mal, da um die Standard Tags zu erstellen der text auch schon druchsucht worden ist) Positionierung b.1) die genaue Position des Rectangles herauszubekommen, da sie abhängig is von Breite, Buchstabengröße etc. b.2) die Größe des Rectangles müsste sich je nach Textinhalt richten, mit den Oben genannten Formationsproblemem c) Formatierung es müsste für sämtliche borderstyles und ähnliches eine neue Methode geschrieben werden... Vielleicht fällt von euch jemandem eine andere Möglichkeit ein, ich würde sogar pfuschen und das fieldset mit anderen html-tags darstellen wenn möglich... Grüße madbat
  13. Ich hab da sganze mit den Events und Listenern immer noch nicht ganz verstanden, irgendwie ist mir das ganze System fremd, auch nach mehrmaligen Lesen der javaInsel bin ich noch nicht dahinter gestiegen warum es denn jetzt zwar im Test so funktioniert wie es soll, aber im richtigen System nicht... Falls jemand also nen gutes Tut zu den Anfängen von eigenen Eventhandlern hat, dann immer her damit... Also ich wollte meine Events nicht ganz so abstrakt einbauen, weil ich leider nicht ganz verstanden habe welche Klasse bei dir für was genau zuständig ist, hier mal meine implementiern: public class ListenSetOutput { ContentPanel parent; public ListenSetOutput(ContentPanel parent){ this.parent = parent; } public void echo(String txt){ parent.echo(parent.getTxt() + txt); } public void cls(){ parent.cls(); } } [/PHP] [PHP] //Aus der MainGui Klasse, hab einfach mal auf nen menuItem die action setText druffgeknallt //MainGui ruft sämtliche Klassen auf, die etwas mit der GUI zu tun haben, und wird selber nur von //der Main Non-Gui Klass aufgerufen, die nachher noch die ganzen Methoden etc aufruft... [...] public ListenSetOutput listenSetText = new ListenSetOutput(contentPanel); @Action public void setText() { listenSetText.echo("test Event"); } [...] public class ContentPanel extends javax.swing.JPanel { public ContentPanel() { initComponents(); } public void echo(String txt){ txtOutput.setText(txtOutput.getText()+txt); //jScrollPane1.getVerticalScrollBar().setValue(jScrollPane1.getVerticalScrollBar().getMaximum()); } public void cls(){ txtOutput.setText(""); } public String getTxt(){ return txtOutput.getText(); } @SuppressWarnings("unchecked") private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); txtOutput = new javax.swing.JEditorPane(); setName("Form"); jScrollPane1.setName("jScrollPane1"); org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(ibm2.IBM2App.class).getContext().getResourceMap(ContentPanel.class); txtOutput.setContentType(resourceMap.getString("txtOutput.contentType")); txtOutput.setText(resourceMap.getString("txtOutput.text")); txtOutput.setComponentPopupMenu(new ibm2.GUI.popupMenu.CopyPaste(txtOutput) ); txtOutput.setName("txtOutput"); jScrollPane1.setViewportView(txtOutput); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 544, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 458, Short.MAX_VALUE) ); } private javax.swing.JScrollPane jScrollPane1; private static javax.swing.JEditorPane txtOutput; }[/PHP]
  14. soo ich habe mir da jetzt mal was zusammengedichtet, die frage ist, habe ich jetzt alle aufgaben richtig verteilt, wobei die system out methode hierbei jetzt für das füllen vom textfeld verantwortlich ist, also es klappt alles, ich weiss nur nicht ob alles an der richtigen stelle steht... package de.test; public interface ListenKlass { public void printInt(EventKlass evt); } package de.test; public class EventKlass { int wert; public EventKlass(int i){ this.wert = i; } } package de.test; public class Ebene1Class1 { ListenKlass lk; int wert; public Ebene1Class1(ListenKlass lk, int i) { this.lk = lk; this.wert = i; } public void printOut(){ lk.printInt(new EventKlass(wert)); } } public class MainClass { /** * @param args */ public static void main(String[] args) { ListenKlass LK = new ListenKlass(){ @Override public void printInt(EventKlass evt) { System.out.println(evt.wert+""); } }; Ebene1Class1 eins = new Ebene1Class1(LK, 14); eins.printOut(); System.out.println("\n"); Ebene1Class1 zwei = new Ebene1Class1(LK, 12); zwei.printOut(); } }[/PHP]
  15. ich kann dir nicht ganz folgen, ich weiss wie ich eventlistener dazu bringe mir nen popup zu zeigen, oder auf buttons etc zu reagieren, aber wie bringe ich sie dazu über klassen hinweg miteinander zu kommunizieren, reicht es qwenn ich einfach zu der contentpane einen action(?)Listener adde und dann in meiner nonGUI class ein new actionEvent(textZumSchreiben evt) erstelle?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...