Ana Sayfa

Wicket etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Wicket etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

14 Aralık 2014 Pazar

Apache Wicket Tree Uygulaması


Apache Wicket ile Tree Uygulaması


TestPage.html

<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" xmlns="http://www.w3.org/1999/xhtml">
<body>
<table>
<div wicket:id="tree">
</div>
</table>
</body>
</html>


TestPage.java

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeNode;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.tree.Tree;

public class TestPage extends WebPage {
 private static List items = new ArrayList();
 static {
items.add(new AccordionItem("Title 1", "content 1.1", "content 1.2","content 1.3"));
  items.add(new AccordionItem("Title 2", "content 2.1", "content 2.2"));
  items.add(new AccordionItem("Title 3", "content 3.1"));
  items.add(new AccordionItem("Title 4", "content 3.1", "content 3.2"));
 }

 public TestPage() {
  DefaultMutableTreeNode root0 = new DefaultMutableTreeNode("Root");
  final DefaultTreeModel treeModel = new DefaultTreeModel(root0);
  for (AccordionItem accordionItem : items) {
   DefaultMutableTreeNode root = new DefaultMutableTreeNode(
     accordionItem.title);
   for (String s : accordionItem.childs) {
  final DefaultMutableTreeNode rootChild = new DefaultMutableTreeNode(s);
    root.add(rootChild);
   }
   root0.add(root);
  }
  final Tree tree = new Tree("tree", treeModel) {
   private static final long serialVersionUID = 1L;
   @Override
   protected String renderNode(TreeNode node) {
   DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) node;
    return String.valueOf(treeNode.getUserObject());
   }
   @Override
   protected void onNodeLinkClicked(AjaxRequestTarget target,
     TreeNode node) {
    super.onNodeLinkClicked(target, node);
   DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) node;
    System.out.println(treeNode.getUserObject());
   }
  };
  tree.getTreeState().expandNode(root0);
  add(tree);
 }

 public static class AccordionItem {
  private String title;
  private List childs;

  public AccordionItem(String title, String... content) {
   this.title = title;
   this.childs = Arrays.asList(content);
  }
 }
}
pom.xml

   
                  <dependency>
   <groupId>org.apache.wicket</groupId>
   <artifactId>wicket-spring</artifactId>
   <version>1.5.11</version>
   <exclusions>
    <exclusion>
     <artifactId>spring</artifactId>
     <groupId>org.springframework</groupId>
    </exclusion>
   </exclusions>
  </dependency>
  <dependency>
   <groupId>org.apache.wicket</groupId>
   <artifactId>wicket-core</artifactId>
   <version>1.5.11</version>
  </dependency>
  <dependency>
   <groupId>org.apache.wicket</groupId>
   <artifactId>wicket-datetime</artifactId>
   <version>1.5.11</version>
  </dependency>
  <dependency>
   <groupId>org.apache.wicket</groupId>
   <artifactId>wicket-core</artifactId>
   <version>1.5.11</version>
  </dependency>
  <dependency>
   <groupId>org.apache.wicket</groupId>
   <artifactId>wicket-extensions</artifactId>
   <version>1.5.11</version>
  </dependency>
  <dependency>
   <groupId>org.apache.wicket</groupId>
   <artifactId>wicket-auth-roles</artifactId>
   <version>1.5.11</version>
  </dependency>
  <dependency>
   <groupId>org.apache.wicket</groupId>
   <artifactId>wicket-devutils</artifactId>
   <version>1.5.11</version>
  </dependency>

15 Ekim 2014 Çarşamba

Apache Wicket Framework ile Form işlemleri



<html xmlns:wicket="http://wicket.apache.org">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
 <h2>form</h2>
 <form wicket:id="form">
  <div wicket:id="lbl"></div>
  <input wicket:id="searchH" type="text" />
  <input type="submit" name="Ara" value="Ara" />
   
 </form>
 <br />
        <a href="#" wicket:id="link">TEXT TO REPLACE</a> 
</body>
</html>


import java.io.Serializable;
public class Musteri implements Serializable{

    public String searchH;
    public String getSearchH() {
  return searchH;
 }
 public void setSearchH(String searchH) {
  this.searchH = searchH;
 }
}

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.RepeatingView;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.PropertyModel;

public class HomeData extends WebPage 
{
 private static final long serialVersionUID = 1L;
 private Musteri musteri = new Musteri();
 
 public <T> HomeData() {
                            //Butona tıklanınca çalışır
Form<Musteri> frm = new Form<Musteri>("form", new CompoundPropertyModel<Musteri>(musteri)) {
   private static final long serialVersionUID = 1L;
   @Override
   protected void onSubmit() {
    System.out.println("on submit "+musteri.getSearchH());
   }
  };
  
final Label label = new Label("lbl", new PropertyModel<String>(musteri, "searchH"));
  label.setOutputMarkupId(true);
  
  frm.add(label);  
              // TextField onkeyup özelliğine göre çalışır
frm.add(new TextField<String>("searchH").add(new AjaxFormComponentUpdatingBehavior("onkeyup"){
   private static final long serialVersionUID = 1L;
   @Override
   protected void onUpdate(AjaxRequestTarget target) {
    target.addComponent(label);
    System.out.println(musteri.getSearchH());
   }
  }));
                     //Link popup olarak açılır
 add(new AjaxLink("link"){      
  private static final long serialVersionUID = 1L; 
  @Override                                            
  public void onClick(AjaxRequestTarget target) {        
  target.appendJavascript("window.open('http://www.javamakale.com/')");
   }                                                                   
   });
  add(frm);
 }
}

Apache Wicket Framework ile repeater kullanımı

repeater.html

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<head>
<title>repeat</title>
</head>
<body>
 <div wicket:id="repeater">
  <h3 wicket:id="title"></h3>
  <ul>
   <li wicket:id="childs"><div wicket:id="content"></div></li>
  </ul>
 </div>
</body>
</html>


repeater.java
package org.jtpd.wicket.repeater;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.list.PropertyListView;

public class repeater extends WebPage {
private static List<AccordionItem> items = new ArrayList<AccordionItem>();
static {
 items.add(new AccordionItem("title 1", "content 11", "content 12", "content 13"));
 items.add(new AccordionItem("title 2", "content 21"));
 items.add(new AccordionItem("title 3", "content 31"));
}
public repeater() {
ListView<AccordionItem> view = new PropertyListView<AccordionItem>("repeater", items) {
 private static final long serialVersionUID = 1L;
 @Override
 protected void populateItem(ListItem<AccordionItem> item) {
  item.add(new Label("title"));
  item.add(new PropertyListView<String>("childs") {
   private static final long serialVersionUID = 1L;
   @Override
   protected void populateItem(ListItem<String> item) {
    item.add(new Label("content", item.getModel()));
   }
  });
 }
 };
  add(view);
 }
 public static class AccordionItem {
  private String title;
  private List<String> childs;
  public AccordionItem(String title, String... content) {
   this.title = title;
   this.childs = Arrays.asList(content);
  }
 }
}