[{"title":"( 85 个子文件 92KB ) mvp4j:MVP4J 是一个有用的框架,它主要基于实用的设计模式 MVP(模型视图展示器),因此它促进了基于开发事件原理的展示层技术的开发,它支持不同的库 Swing、AWT 和 GWT。 它基于 https 上可用的项目-源码","children":[{"title":"mvp4j-master","children":[{"title":"LICENSE <span style='color:#111;'> 11.06KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 294B </span>","children":null,"spread":false},{"title":"mvp4j-parent","children":[{"title":"mvp4j-impl-swing","children":[{"title":"src","children":[{"title":"main","children":[{"title":"resources","children":[{"title":"log4j-old.xml <span style='color:#111;'> 661B </span>","children":null,"spread":false}],"spread":true},{"title":"java","children":[{"title":"org","children":[{"title":"mvp4j","children":[{"title":"impl","children":[{"title":"swing","children":[{"title":"swing","children":[{"title":"JComboBoxModelComponent.java <span style='color:#111;'> 2.34KB </span>","children":null,"spread":false},{"title":"JRadioButtonActionComponent.java <span style='color:#111;'> 10.97KB </span>","children":null,"spread":false},{"title":"utils","children":[{"title":"LoggerUtils.java <span style='color:#111;'> 240B </span>","children":null,"spread":false},{"title":"JtableUtils.java <span style='color:#111;'> 2.36KB </span>","children":null,"spread":false}],"spread":false},{"title":"JTableActionComponent.java <span style='color:#111;'> 9.12KB </span>","children":null,"spread":false},{"title":"JCheckBoxModelComponent.java <span style='color:#111;'> 1.95KB </span>","children":null,"spread":false},{"title":"JRadioButtonModelComponent.java <span style='color:#111;'> 1.48KB </span>","children":null,"spread":false},{"title":"JCheckBoxActionComponent.java <span style='color:#111;'> 10.81KB </span>","children":null,"spread":false},{"title":"JMenuItemActionComponent.java <span style='color:#111;'> 10.34KB </span>","children":null,"spread":false},{"title":"JTextModelComponent.java <span style='color:#111;'> 2.08KB </span>","children":null,"spread":false},{"title":"JSpinnerModelComponent.java <span style='color:#111;'> 1.78KB </span>","children":null,"spread":false},{"title":"AbstractButtonActionComponent.java <span style='color:#111;'> 10.50KB </span>","children":null,"spread":false},{"title":"JSpinnerActionComponent.java <span style='color:#111;'> 10.52KB </span>","children":null,"spread":false},{"title":"JListModelComponent.java <span style='color:#111;'> 2.45KB </span>","children":null,"spread":false},{"title":"WindowActionComponent.java <span style='color:#111;'> 7.09KB </span>","children":null,"spread":false},{"title":"JTextActionComponent.java <span style='color:#111;'> 9.17KB </span>","children":null,"spread":false},{"title":"JLabelModelComponent.java <span style='color:#111;'> 936B </span>","children":null,"spread":false},{"title":"JTableModelComponent.java <span style='color:#111;'> 3.32KB </span>","children":null,"spread":false},{"title":"DefaultConverter.java <span style='color:#111;'> 1.40KB </span>","children":null,"spread":false},{"title":"JListActionComponent.java <span style='color:#111;'> 10.33KB </span>","children":null,"spread":false},{"title":"JComboBoxActionComponent.java <span style='color:#111;'> 11.79KB </span>","children":null,"spread":false},{"title":"SwingAdapter.java <span style='color:#111;'> 4.82KB </span>","children":null,"spread":false}],"spread":false},{"title":"reflect","children":[{"title":"AppControllerReflect.java <span style='color:#111;'> 13.33KB </span>","children":null,"spread":false},{"title":"ActionViewPresenterInfo.java <span style='color:#111;'> 685B </span>","children":null,"spread":false},{"title":"ModelInfo.java <span style='color:#111;'> 886B </span>","children":null,"spread":false},{"title":"ActionInfo.java <span style='color:#111;'> 938B </span>","children":null,"spread":false},{"title":"ModelBindingImpl.java <span style='color:#111;'> 4.39KB </span>","children":null,"spread":false},{"title":"AppControllerReflectFactory.java <span style='color:#111;'> 349B </span>","children":null,"spread":false},{"title":"ModelViewInfo.java <span style='color:#111;'> 637B </span>","children":null,"spread":false},{"title":"ActionBindingImpl.java <span style='color:#111;'> 2.33KB </span>","children":null,"spread":false},{"title":"MVPBindingImpl.java <span style='color:#111;'> 3.58KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 984B </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 51B </span>","children":null,"spread":false}],"spread":true},{"title":"mvp4j-api","children":[{"title":"src","children":[{"title":"main","children":[{"title":"resources","children":[{"title":"org","children":[{"title":"mvp4j.gwt.xml <span style='color:#111;'> 129B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"java","children":[{"title":"org","children":[{"title":"mvp4j","children":[{"title":"utils","children":[{"title":"MvpUtils.java <span style='color:#111;'> 786B </span>","children":null,"spread":false}],"spread":true},{"title":"annotation","children":[{"title":"Action.java <span style='color:#111;'> 1.75KB </span>","children":null,"spread":false},{"title":"MVP.java <span style='color:#111;'> 1015B </span>","children":null,"spread":false},{"title":"Model.java <span style='color:#111;'> 1.44KB </span>","children":null,"spread":false},{"title":"Actions.java <span style='color:#111;'> 434B </span>","children":null,"spread":false}],"spread":true},{"title":"Converter.java <span style='color:#111;'> 1.07KB </span>","children":null,"spread":false},{"title":"exception","children":[{"title":"PropertyNotBindableException.java <span style='color:#111;'> 838B </span>","children":null,"spread":false},{"title":"ActionNotFoundException.java <span style='color:#111;'> 587B </span>","children":null,"spread":false},{"title":"PropertyNotInitializedException.java <span style='color:#111;'> 537B </span>","children":null,"spread":false},{"title":"PropertyNotFoundException.java <span style='color:#111;'> 602B </span>","children":null,"spread":false}],"spread":false},{"title":"adapter","children":[{"title":"MVPAdapter.java <span style='color:#111;'> 1.01KB </span>","children":null,"spread":false},{"title":"ActionBinding.java <span style='color:#111;'> 1.49KB </span>","children":null,"spread":false},{"title":"ActionComponent.java <span style='color:#111;'> 2.66KB </span>","children":null,"spread":false},{"title":"ModelBinding.java <span style='color:#111;'> 1.97KB </span>","children":null,"spread":false},{"title":"MVPBinding.java <span style='color:#111;'> 1.42KB </span>","children":null,"spread":false},{"title":"ModelComponent.java <span style='color:#111;'> 2.63KB </span>","children":null,"spread":false}],"spread":false},{"title":"AppController.java <span style='color:#111;'> 2.60KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 529B </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 51B </span>","children":null,"spread":false}],"spread":true},{"title":"mvp4j-impl-gwt","children":[{"title":"src","children":[{"title":"main","children":[{"title":"resources","children":[{"title":"org","children":[{"title":"mvp4j-impl.gwt.xml <span style='color:#111;'> 133B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"java","children":[{"title":"org","children":[{"title":"mvp4j","children":[{"title":"impl","children":[{"title":"gwt","children":[{"title":"gwt","children":[{"title":"RichTextAreaModelComponent.java <span style='color:#111;'> 1.35KB </span>","children":null,"spread":false},{"title":"CheckBoxModelComponent.java <span style='color:#111;'> 1.84KB </span>","children":null,"spread":false},{"title":"ButtonActionComponent.java <span style='color:#111;'> 9.89KB </span>","children":null,"spread":false},{"title":"RichTextAreaActionComponent.java <span style='color:#111;'> 9.99KB </span>","children":null,"spread":false},{"title":"ListBoxActionComponent.java <span style='color:#111;'> 3.63KB </span>","children":null,"spread":false},{"title":"TreeActionComponent.java <span style='color:#111;'> 7.26KB </span>","children":null,"spread":false},{"title":"RadioButtonModelComponent.java <span style='color:#111;'> 1.34KB </span>","children":null,"spread":false},{"title":"RadioButtonActionComponent.java <span style='color:#111;'> 9.99KB </span>","children":null,"spread":false},{"title":"DefaultConverter.java <span style='color:#111;'> 1.31KB </span>","children":null,"spread":false},{"title":"GwtAdapter.java <span style='color:#111;'> 2.23KB </span>","children":null,"spread":false},{"title":"CheckBoxActionComponent.java <span style='color:#111;'> 9.91KB </span>","children":null,"spread":false},{"title":"ListBoxModelComponent.java <span style='color:#111;'> 2.25KB </span>","children":null,"spread":false},{"title":"TextBoxModelComponent.java <span style='color:#111;'> 1.40KB </span>","children":null,"spread":false}],"spread":false},{"title":"reflect","children":[{"title":"AppControllerReflect.java <span style='color:#111;'> 12.96KB </span>","children":null,"spread":false},{"title":"ActionViewPresenterInfo.java <span style='color:#111;'> 683B </span>","children":null,"spread":false},{"title":"ModelInfo.java <span style='color:#111;'> 911B </span>","children":null,"spread":false},{"title":"ActionInfo.java <span style='color:#111;'> 932B </span>","children":null,"spread":false},{"title":"ModelBindingImpl.java <span style='color:#111;'> 3.13KB </span>","children":null,"spread":false},{"title":"AppControllerReflectFactory.java <span style='color:#111;'> 324B </span>","children":null,"spread":false},{"title":"ModelViewInfo.java <span style='color:#111;'> 635B </span>","children":null,"spread":false},{"title":"ActionBindingImpl.java <span style='color:#111;'> 2.06KB </span>","children":null,"spread":false},{"title":"MVPBindingImpl.java <span style='color:#111;'> 3.26KB </span>","children":null,"spread":false},{"title":"Reflectables.java <span style='color:#111;'> 222B </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 1.73KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 51B </span>","children":null,"spread":false}],"spread":true},{"title":"pom.xml <span style='color:#111;'> 1.74KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 51B </span>","children":null,"spread":false}],"spread":true},{"title":".gitignore <span style='color:#111;'> 189B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]