導航:首頁 > 編程語言 > twaverjava

twaverjava

發布時間:2022-05-09 06:42:33

1. TWaver java chart多組數據顯示在同一個頁面里

圖上只留5個點,添加第6個點的時候,就把第1個點從圖中移除,不單單是移除X坐標的顯示,還要移除圖上對應的點和線。
實際的效果是,圖上一個點都沒有移除,只是把X軸坐標顯示內容給移除了,並且把後面的坐標顯示移到前面的點的坐標上去了,這其實是個bug,第一個點的X坐標應該顯示為1,不能變。
要移除,就要把坐標顯示內容和對應的點和線都一起移除掉。

2. java里邊的TWaverUtil.getRandomColor()

TWaverUtil 應該是自定義的吧

看看自定義的包都導入了嗎

3. 如何給TWaver中的Node對象加右鍵菜單項

選中樹節點,多出一個按鈕,可以用tree.iconsComponentsFunction(用法參考AlarmMappingDemo)。
菜單用Menu.createMenu(用法參考Flex如何定製Menu的Icon)

如果右鍵點擊樹節點時,讓此節點選中最好,不過現在還沒有通過ContextMenuEvent或者MouseEvent獲得TreeData的方法,可以考慮先自己繼承twaver.Tree,添加如下方法(TWaver Flex 1.5版本將添加):
代碼:
public function getTreeDataByContextMenuEvent(event:ContextMenuEvent):TreeData{
var itemRenderer:IListItemRenderer;
var target:DisplayObject = event.mouseTarget;
while (target && target != this) {
if (target is IListItemRenderer && target.parent == listContent) {
if (target.visible) {
itemRenderer = IListItemRenderer(target);
}
break;
}

if (target is IUIComponent){
target = IUIComponent(target).owner;
} else {
target = target.parent;
}
}

if(itemRenderer != null){
return this.getTreeDataByIndex(this.itemRendererToIndex(itemRenderer));
}
return null;
}

public function getTreeDataByMouseEvent(event:MouseEvent):TreeData{
var itemRenderer:IListItemRenderer = this.mouseEventToItemRenderer(event);
if(itemRenderer != null){
return this.getTreeDataByIndex(this.itemRendererToIndex(itemRenderer));
}
return null;
}
默認Menu上的Icon必須通過iconField和iconFunction去指定,但是這兩種方式都必須用嵌入資源Class名字去指定Icon,如果想用動態的圖片(比如URL)作為Menu的Icon,就必須定製一把MenuItemRenderer。

首先寫個類CustomMenuItemRenderer繼承MenuItemRenderer,裡面增加一個如下變數作為自定義Icon的組件:

1
private var image:UIComponent = new UIComponent();
然後裡面重寫measure方法(計算MenuItem的寬高):

01
override protected function measure():void {
02
super.measure();
03

04
if (separatorIcon || listData == null) {
05
return;
06
}
07

08
var imageAsset:IImageAsset = Utils.getImageAsset(data.@iconName);
09
if(imageAsset == null){
10
return;
11
}
12
measuredWidth += imageAsset.width;
13
if(imageAsset.height > measuredHeight){
14
measuredHeight = imageAsset.height;
15
}
16
}
重寫commitProperties方法(重畫並增加Icon,指定Icon寬高):

查看源代碼列印幫助

Java代碼
override protected function commitProperties():void {
super.commitProperties();

if (separatorIcon || listData == null) {
return;
}

var imageAsset:IImageAsset = Utils.getImageAsset(data.@iconName);
if(imageAsset == null){
return;
}
image.width = imageAsset.width;
image.height = imageAsset.height;
image.graphics.beginBitmapFill(imageAsset.getBitmapData());
image.graphics.drawRect(0, 0, image.width, image.height);
image.graphics.endFill();
if(!this.contains(image)){
this.addChild(image);
}
}

重寫updateDisplayList方法(指定Icon的位置,由於Icon在左邊,所以super一把後,再移動Labe等的位置):
Java代碼
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
super.updateDisplayList(unscaledWidth, unscaledHeight);

if (separatorIcon || listData == null) {
return;
}

var imageAsset:IImageAsset = Utils.getImageAsset(data.@iconName);
if(imageAsset == null){
return;
}
if(typeIcon){
typeIcon.x += imageAsset.width;
}
if(label){
label.x += imageAsset.width;
}
}

重寫measuredIconWidth方法(計算Icon的寬度):
Java代碼

1
override public function get measuredIconWidth():Number {
2
var imageAsset:IImageAsset = Utils.getImageAsset(data.@iconName);
3
if(imageAsset == null){
4
return 0 ;
5
}else{
6
var horizontalGap:Number = getStyle("horizontalGap");
7
return imageAsset.width + horizontalGap;
8
}
9
}
最後用自定義的CustomMenuItemRenderer指定Menu的ItemRenderer,注意使用iconName指定icon的名字(這里為TWaver注冊圖片的名字)。也可以用別的名字,注意把CustomMenuItemRenderer裡面的@iconName換一下

1
var menu:Menu = Menu.createMenu(network, myMenuData, false);
2
menu.labelField = "@label";
3
menu.itemRenderer = new ClassFactory(CustomMenuItemRenderer);
4
var point:Point = network.getLogicalPoint(event.mouseEvent);
5
network.callLater(function():void{
6
menu.show(point.x, point.y);
7
});
指定Menu數據的XML文件如下:

查看源代碼列印幫助
01
<mx:XML format="e4x" id="myMenuData">
02
<root>
03
<menuitem label="www.servasoftware.com" iconName="databox_icon">
04
<menuitem label="TWaver" type="check" toggled="true">
05
<menuitem label="Java" type="radio" groupName="one"/>
06
<menuitem label="Web" type="radio" groupName="one" toggled="true"/>
07
<menuitem label="Flex" type="radio" groupName="one" iconName="bus_icon"/>
08
<menuitem label="Silverlight" type="radio" groupName="one"/>
09
</menuitem>
10
<menuitem type="separator"/>
11
<menuitem label="2BizBox" iconName="data_icon"/>
12
</menuitem>
13
<menuitem label="www.2bizbox.com"/>
14
<menuitem label="twaver.servasoft.com"/>
15
</root>
16
</mx:XML>
17
</code>

4. 關於MS Chart 繪曲線圖、餅圖的問題,曲線圖不需要事實顯示。

TWaver的Demo是很好的學習庫,很多東西都可以從Demo里找到。只要從頭到尾看一遍了,基本上日常應用都可以解決了。
我這個也是參照TWaver Java Demo里的例子寫出來的,看看對你有沒有幫助:

package com;

import java.awt.BorderLayout;
import java.awt.Color;

import javax.swing.JFrame;
import javax.swing.JPanel;

import twaver.Node;
import twaver.TDataBox;
import twaver.TWaverUtil;
import twaver.TaskAdapter;
import twaver.TaskScheler;
import twaver.chart.LineChart;

public class LinkChartDemo extends JPanel{
private TDataBox box = new TDataBox();
private LineChart lineChart = new LineChart(box,"Real Time Line Chart",Color.BLACK,Color.WHITE);

public LinkChartDemo() {
final Node fromNode = new Node();
fromNode.setName("NodeA");
fromNode.putChartColor(Color.RED);
for(int i =0;i<20;i++){
fromNode.addChartValue(TWaverUtil.getRandomInt(100));
}
box.addElement(fromNode);

final Node toNode = new Node();
toNode.setName("NodeB");
toNode.putChartColor(Color.GREEN);
for(int i =0;i<20;i++){
toNode.addChartValue(TWaverUtil.getRandomInt(100));
}
box.addElement(toNode);

//set line chart property
lineChart.setYAxisVisible(true);
lineChart.setYScaleTextVisible(true);
lineChart.setXAxisVisible(true);
lineChart.setXScaleTextVisible(true);
lineChart.setInflexionVisible(true);
lineChart.setValueTextVisible(true);

this.setLayout(new BorderLayout());
this.add(lineChart, BorderLayout.CENTER);

TaskScheler.getInstance().register(new TaskAdapter() {
public void run(long clock) {
if (!lineChart.isShowing()) {
return;
}
fromNode.addChartValue(TWaverUtil.getRandomInt(100));
toNode.addChartValue(TWaverUtil.getRandomInt(100));
if (lineChart.valueCount() > 20) {
lineChart.removeHead(1);
}
}
});
}

public static void main(String[] args) {
JFrame frame = new JFrame();
LinkChartDemo demo = new LinkChartDemo();
frame.setContentPane(demo);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1000, 500);
TWaverUtil.centerWindow(frame);
frame.setTitle("Alarm Table");
frame.setVisible(true);
}
}

5. twaver java怎麼輸出xml

應該是這樣吧:http://blog.csdn.net/sun_ru/article/details/51785988

6. JAVA Swing中怎麼把樹添加到下拉框中

http://twaver.servasoft.com/twaver-java/%E8%AE%A9jtextfield%E6%B7%BB%E5%8A%A0%E2%80%9C%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E2%80%9D%E5%8A%9F%E8%83%BD.html

參考這個看看,應該能給你點啟示

7. 怎麼讓HTML5的表格支持後台排序與分頁

如果資料庫中有幾千甚至幾萬條數據,一下子顯示出來也是不現實的,立馬就想要了分頁。查看TWaver的API,並沒有發現表格中提供了分頁的功能。算了,還是自己來擴展,想想TWaverJava中分頁的功能,HTML5實現起來應該也不算太難,我們需要定義一個PagedTablePane,panel中包含表格和分頁欄,分頁欄參考了TWaver Java的那種:

仔細看看上面的分頁條,其實也不是那麼復雜,幾個分頁按鈕加上分頁的信息,於是很快就模仿了一個類似的分頁欄,先上圖:

界面實現起來還是比較容易的,主要的是按鈕的操作和分頁信息的顯示,我們需要定義幾個變數:currentPage(當前頁)、countPerPage(每頁的條數)、pageCount(頁數)、count(總數),定義了這幾個變數就可以將上圖中分頁的信息表示出來

8. 請問twaver java如何去掉試用版的水印啊

  1. TWaver是專業的圖形界面組件庫,提供了跨平台,跨瀏覽器的多語言平台組件.
    ,提供專業的拓撲組件、地圖組件、設備圖組件,以及表格、樹圖、屬性表、圖表等豐富的通用圖形界面組件.

  2. waver-java-4.3,最新版本,需要去水印的請聯系[email protected]

  3. TWaver「一站式」UI組件庫,包含網路拓撲圖、地圖、設備面板圖、流程圖、各種Chart圖表、樹、表格及其他通用組件;跨平台、跨設備,適應電信、電力、金融等各行各業;提供強大的API開發介面、完整的文檔和demo樣例代碼,讓您的UI界面更專業、更美觀、更高效;

  4. 獨特的企業級3D呈現引擎,可對各種企業數據進行三維建模並呈現。支持各種3D物體、貼圖紋理、燈光、粒子系統、動畫系統、場景特效,可直接運行在網頁、桌面及各種手持設備上。TWaver3D可視化工具包,結合2D圖形組件,為用戶帶來革命性的全新視覺感受和交互體驗;

  5. Mono Design設計平台,包含強大的2D/3D建模工具和豐富的2D/3D模版庫,讓您在拖拖拽拽中建立復雜的3D圖形和應用場景。從電信機房、數據中心、車間廠房,到3D拓撲圖/流程圖、電信設備、IT設施,乃至家居傢具、山水花草人物,包羅萬象,為您所用。

9. 如何用BlazeDS前後台數據交互

一般來講有兩種方式:構造XML數據,傳送到前台後,通過XMLSerializer反序列化到DataBox中;後台構建Java對象,通過BlazeDS傳送到前台後,映射成TWaver Flex的數據對象,然後直接添加到DataBox中。

10. java中兩個繪制的兩個圖形怎麼用一跳帶箭頭的線連接起來(Swing...) 就如visio類似...麻煩了.

gef 或者 jgraph 或者 twaver jar包都可以 不過twaver是付費的

閱讀全文

與twaverjava相關的資料

熱點內容
cad最下面的一排命令都什麼意思 瀏覽:456
pythonimportcpp 瀏覽:850
W10的系統怎麼給U盤加密 瀏覽:370
華為手機代碼編程教學入門 瀏覽:762
和彩雲沒會員怎樣解壓 瀏覽:634
androidimageview保存 瀏覽:387
新買店鋪什麼伺服器 瀏覽:883
文件夾能直接刻錄嗎 瀏覽:493
androidxmpp刪除好友 瀏覽:969
javac哪個前景好 瀏覽:427
中華英才網app為什麼不能搜索了 瀏覽:660
伺服器域名是什麼意思 瀏覽:52
Linux導出mysql命令 瀏覽:159
無詐建鄴是什麼app 瀏覽:228
python中的雙色球 瀏覽:167
python解釋器里如何換行 瀏覽:412
python編寫格式 瀏覽:576
用python做出來的軟體 瀏覽:469
伺服器指示燈代表什麼 瀏覽:702
做一個單片機銷售需要知識 瀏覽:777