2014-02-05 49 views
0

我需要創建一個具有項目列表的GUI。用戶應該能夠爲每個項目add new itemedit description。應用程序關閉後,信息應存儲在根目錄中。如何創建靈活的菜單?有沒有API?

我知道如何使項目的這個名單,但我不知道我怎麼能允許用戶添加新的項目。任何人都可以給我一個代碼示例嗎?

特別是,我需要知道我怎樣才能使這項工作add new item

+0

您可能想使用窗口構建器。也簡單地保持在一個文件中的項目,並閱讀他們的名單.. – CHEBURASHKA

回答

3

這是一個很寬泛的問題,但是使用擺動,你可以創建一個包含在其中的對象JList。對於按鈕add new btn,您將附加一個ActionListener,它基本上會創建一個新對象,並確保將此對象添加到JList

在此之後成立的一些行爲,將允許你點擊它會轉換這會爲您介紹一個可編輯的TextView /開啓新的Swing的JPanel列表視圖中的對象。

將所有這些更改提交到數據庫中。

當然,說起來容易做起來難。閱讀關於java swing gui的實現。

這裏有一些資源12

編輯:改變列表視圖來的jList(已與Android最近工作)

+0

+1的答案。但非常模糊。大家都知道這個鏈接。 – CHEBURASHKA

2

這可以在一百萬個不同的方式來完成。如果你可以利用的角度,這裏是一個例子

HTML標記下拉菜單

<li class="dropdown" ng-controller="DropdownCtrl"> 
    <a class="dropdown-toggle"> 
    Click me for a dropdown, yo! 
    </a> 
    <ul class="dropdown-menu"> 
    <li ng-repeat="choice in items"> 
     <a>{{choice}}</a> 
    </li> 
    </ul> 
</li> 

的下拉菜單設置初始值。通常情況下,您將使用ajax/rest調用從後端應用程序中檢索此信息。

function DropdownCtrl($scope) { 
    $scope.items = [ 
    "The first choice!", 
    "And another choice for you.", 
    "but wait! A third!" 
    ]; 
$scope.newItem={}; 
    } 

下一步是創建一個表單讓用戶添加到菜單中。有些人喜歡......

<!doctype html> 
<html ng-app> 
    <head> 
    <script src="http://code.angularjs.org/1.2.11/angular.min.js"></script> 
    <script src="script.js"></script> 
    </head> 
    <body> 
    <div ng-controller="Controller"> 
     <form novalidate class="simple-form"> 
     Name: <input type="text" ng-model="newItem.name" /><br /> 
     Description: <textarea ng-model="newItem.description"></textarea><br /> 

     <button ng-click="reset()">RESET</button> 
     <button ng-click="addToDropdown()">SAVE</button> 
     </form> 
     <pre>form = {{user | json}}</pre> 
     <pre>master = {{master | json}}</pre> 
    </div> 
    </body> 
</html> 

然後,編寫一個控制器將其添加到現有項目列表中,並將更新發送到後端。這樣

function Controller($scope) { 

function addToDropdown(){ 
    $scope.items.push(angular.copy(newItem)); 
    $scope.newItem={}; 
} 
    } 

東西,你可以發佈此數據重新使用$http service或角或稱爲Restangular模塊後端。

這是開始的基本指南。希望能幫助到你。

+0

+1爲答案。但是,問題是關於java不是html或javascript – CHEBURASHKA