gpt4 book ai didi

java - 如何避免 NetBeans Java 项目中 GWT Horizo​​ntalSplitPanel 的弃用警告?

转载 作者:行者123 更新时间:2023-12-01 19:03:59 25 4
gpt4 key购买 nike

在使用如下实用方法编译代码时是否可以避免弃用警告:

public static void doSthForHorizontalSplitPanel(HorizontalSplitPanel hsp) {...}

以及 Horizo​​ntalSplitPanel 小部件的显式声明和/或创建,例如:

protected HorizontalSplitPanel main;
...
main = new HorizontalSplitPanel();

我的目标是消除这些警告,而不删除 Horizo​​ntalSplitPanel 用法,不提供全局编译器标志 (-Xlint:-deprecation) 和 <就使用 Horizo​​ntalSplitPanel 和我的实用方法对代码可能产生的影响而言,借助最少的手动重构(即尽可能少的代码更改)。

注释 @SuppressWarnings("deprecation") 在方法或类级别似乎不起作用,因为 import Horizo​​ntalSplitPanel 语句,替换已弃用的 Horizo​​ntalSplitPanel 类不是一个选项(暂时)。

我的目标有可能实现吗?如果是这样,最好的方法是什么?

我正在使用 NetBeans 7.1、Java 1.6、GWT 2.3。

最佳答案

标准模式和 SplitlayoutPanel 比已弃用的 Horizo​​ntalSplitPanel 效果更好。尝试此代码,您必须将 Horizo​​ntalSplitPanel 替换为 Horizo​​ntalSplitLayoutPanel。这段代码实际上使用了最新的SplitLayoutPanel,并且方法相当于已弃用的Horizo​​ntalSplitPanel。优点是您不必更改代码。还粘贴了 VerticalSplitPanel 替代 VerticalSplitLayoutPanel 的代码。 VerticalSplitLayoutPanel 经过单元测试并且工作正常。

import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.SplitLayoutPanel;
import com.google.gwt.user.client.ui.Widget;

/**
* author: MKK
* Date: 4/29/13
* Time: 10:41 AM
* /**
*
* GWT depecrated HorizontalSplitpanel as of version 2.0.
* This is a wrapper class which extends new SplitLayoutPanel and has all the methods of deprecated old Splitpanels for
* seamless integration with existing code without breaking.
* Replacement of old HorizontalSplitLayoutPanel with new SplitLayoutPanel
*
*
*/
public class HorizontalSplitLayoutPanel extends SplitLayoutPanel{


private ScrollPanel leftScrollPanel = new ScrollPanel();
private ScrollPanel rightScrollPanel = new ScrollPanel();
private Widget leftWidget;
private Widget rightWidget;


public HorizontalSplitLayoutPanel(){
super();
init();

}
boolean dragged;
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
switch (DOM.eventGetType(event)) {
case Event.ONMOUSEDOWN:
dragged = true;
break;
case Event.ONMOUSEUP:
dragged = false;
break;
case Event.ONMOUSEMOVE:
break;
}
}

public boolean isResizing(){
return dragged;
}

private void init() {
setSize("100%", "100%");
addWest(leftScrollPanel, 300);
add(rightScrollPanel);
sinkEvents(Event.ONMOUSEDOWN | Event.ONMOUSEUP );
}

public HorizontalSplitLayoutPanel(int splitterSize) {
super(splitterSize);
init();
}


public void setLeftWidget(Widget widget){
this.leftWidget = widget;
leftScrollPanel.clear();
leftScrollPanel.add(widget);
setSplitPosition("30%");
setWidgetToggleDisplayAllowed(leftScrollPanel,true);
}

public void setRightWidget(Widget widget){
try {
this.rightWidget = widget;
rightScrollPanel.clear();
rightScrollPanel.add(widget);
setSplitPosition("30%");

} catch (Exception e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}


public void removeWidget(Widget widget){
try {
if( leftScrollPanel.getWidget()== widget){
leftScrollPanel.remove(widget);
return;
}
rightScrollPanel.remove(widget);
} catch (Exception e) {
}

}


public void setSplitPosition(String percent){
if( percent.toLowerCase().indexOf("px") > -1){
percent = percent.replace("px","").trim();
int p = Integer.parseInt(percent);
setSplitPosition(p);
return;
}
percent = percent.replace("%","").trim();
int p = Integer.parseInt(percent);
double size = (getOffsetWidth()*p)/100.0;
if( p < 1.0 ){
size = 600;
}
setWidgetSize(leftScrollPanel, size);
}

public void setSplitPosition(int pixels){
setWidgetSize(leftScrollPanel, pixels);

}


public void hideLeftWidget() {
leftScrollPanel.clear();
setWidgetMinSize(leftScrollPanel,0);
}

public void showLeftWidget(){
leftScrollPanel.add(leftWidget);
}
public void hideRightWidget() {
rightScrollPanel.clear();
setWidgetMinSize(rightScrollPanel,0);
}

public void showRightWidget(){
rightScrollPanel.add(rightWidget);
}
}

import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.SplitLayoutPanel;
import com.google.gwt.user.client.ui.Widget;

/**
*
* GWT depecrated VerticalSplitPanel as of version 2.0.
* This is a wrapper class which extends new SplitLayoutPanel and has all the methods of deprecated old Splitpanels for
* seamless integration with existing code without breaking.
* Replacement of old VerticalSplitPanel with new SplitLayoutPanel
*
*
*/
public class VerticalSplitLayoutPanel extends SplitLayoutPanel {

private Widget topWidget;
private Widget bottomWidget;
private int offset=100;

private ScrollPanel topScrollPanel = new ScrollPanel();
private ScrollPanel bottomScrollPanel = new ScrollPanel();




public VerticalSplitLayoutPanel() {
super();
init();
}

public VerticalSplitLayoutPanel(int splitterSize) {
super(splitterSize);
init();

}

private void init() {
setSize("100%", "100%");
//int clientH = Window.getClientHeight()-offset;
// double size = clientH * 50/100;
addNorth(topScrollPanel, getOffsetHeight()/2.0);
add(bottomScrollPanel);

sinkEvents(Event.ONMOUSEDOWN | Event.ONMOUSEUP );
}

boolean dragged;
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
switch (DOM.eventGetType(event)) {
case Event.ONMOUSEDOWN:
dragged = true;
break;
case Event.ONMOUSEUP:
dragged = false;
break;
case Event.ONMOUSEMOVE:
break;
}
}

public boolean isResizing(){
return dragged;
}

public void setTopWidget(Widget widget){
topScrollPanel.add(widget);
}

public void setBottomWidget(Widget widget){
bottomScrollPanel.add(widget);
}


public void removeWidget(Widget widget){
try {
if( topScrollPanel.getWidget()== widget){
topScrollPanel.remove(widget);
return;
}
bottomScrollPanel.remove(widget);
} catch (Exception e) {
}

}


public void setSplitPosition(String percent){
if( percent.toLowerCase().indexOf("px") > -1){
percent = percent.replace("px","").trim();
int p = Integer.parseInt(percent);
setSplitPosition(p);
return;
}
percent = percent.replace("%","").trim();
int p = Integer.parseInt(percent);
int oH = getOffsetHeight();
if( oH == 0 ){
oH = (Window.getClientHeight()-offset);
}
double h = (oH*p)/100.0;
setWidgetSize(topScrollPanel, h);

}


public void setSplitPosition(int pixels){
setWidgetSize(topScrollPanel, pixels);

}



public void setOffset(int size){
this.offset = size;
}

}

关于java - 如何避免 NetBeans Java 项目中 GWT Horizo​​ntalSplitPanel 的弃用警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10986578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com