小编MBy*_*ByD的帖子

如何以编程方式或动态创建JSF 2中的复合组件

我需要以编程方式在JSF 2中创建复合组件.经过几天的搜索和实验,我找到了这种方法(在java.net上受到Lexi的启发):

/**
 * Method will attach composite component to provided component
 * @param viewPanel parent component of newly created composite component
 */
public void setComponentJ(UIComponent viewPanel) {
    FacesContext context = FacesContext.getCurrentInstance();
    viewPanel.getChildren().clear();

    // load composite component from file
    Resource componentResource = context.getApplication().getResourceHandler().createResource("whatever.xhtml", "components/form");
    UIComponent composite = context.getApplication().createComponent(context, componentResource);

    // push component to el
    composite.pushComponentToEL(context, composite);
    boolean compcompPushed = false;
    CompositeComponentStackManager ccStackManager = CompositeComponentStackManager.getManager(context);
    compcompPushed = ccStackManager.push(composite, CompositeComponentStackManager.StackType.TreeCreation);

    // Populate the component with value expressions 
    Application application = context.getApplication();
    composite.setValueExpression("value", …
Run Code Online (Sandbox Code Playgroud)

java dynamic composite-component jsf-2

11
推荐指数
2
解决办法
2万
查看次数

Android - 自动覆盖触摸/突出显示图像按钮状态

是否可以使用ImageButton来触摸和突出显示状态,而不需要在Android上再增加2个图像资源(另外6个,考虑到h/m/ldpi)?我基本上都在寻找类似于iOS的行为,其中操作系统可以在按钮的触摸状态下放置半alpha覆盖.

我已经尝试setColorFilter(0xFF000000, Mode.MULTIPLY)在onTouch监听器中使用,结果与我之后的结果非常接近 - 但我不确定状态处理的最佳方式来实现这一点:

  1. touchDown事件 - >更改颜色叠加.
  2. touchUp event - >删除颜色叠加,并执行按钮操作.

有更好的方法......或者有人可以帮助填补空白吗?

我不想使用单独的图像有几个原因 - 它是一个iPhone端口,我还没有适当的资产,并且需要更多的设计师时间考虑我有低/中/高创意到考虑.

谢谢!

android overlay imagebutton

11
推荐指数
1
解决办法
1906
查看次数

Java中的主线程与UI线程

在这里作为答案给出的许多Swing片段中,有一个SwingUtilities#invokeLater来自该main方法的调用:

public class MyOneClassUiApp {

    private constructUi() {
        // Some Ui related Code
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new MyOneClassUiApp().constructUi();
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

但根据Threads and Swing的文章,从主线程构造UI是安全的:

一些方法是线程安全的:在Swing API文档中,线程安全方法用以下文本标记:

虽然大多数Swing方法都不是,但这种方法是线程安全的.

应用程序的GUI通常可以构造并显示在主线程中:只要没有实现组件(Swing或其他),以下典型代码是安全的:

public class MyApplication {
public static void main(String[] args) {
   JFrame f = new JFrame("Labels");
   // Add components to 
   // the frame here... 
   f.pack(); 
   f.show(); 
   // Don't do any more GUI work here... 
   } …
Run Code Online (Sandbox Code Playgroud)

java swing multithreading

11
推荐指数
1
解决办法
1万
查看次数

Android JNI函数在主线程上运行?

我对从Android制作的JNI函数调用有疑问.它们是否与Android应用程序在同一个线程上运行?如果本机函数需要更多时间运行,UI是否会冻结?

java-native-interface android android-ndk

11
推荐指数
1
解决办法
3222
查看次数

Android MediaPlayer上的RTP

我使用VLC作为rtsp服务器在Android MediaPlayer上实现了RTSP,代码如下:

# vlc -vvv /home/marco/Videos/pippo.mp4 --sout 
#rtp{dst=192.168.100.246,port=6024-6025,sdp=rtsp://192.168.100.243:8080/test.sdp}
Run Code Online (Sandbox Code Playgroud)

并在Android项目上:


Uri videoUri = Uri.parse("rtsp://192.168.100.242:8080/test.sdp"); 
videoView.setVideoURI(videoUri); 
videoView.start(); 
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果我也想播放实时流RTP,所以我将sdp文件复制到sdcard(/mnt/sdcard/test.sdp)并设置vlc:

# vlc -vvv /home/marco/Videos/pippo.mp4 --sout 
#rtp{dst=192.168.100.249,port=6024-6025} 
Run Code Online (Sandbox Code Playgroud)

我尝试播放流RTP设置本地sdp文件的路径:


Uri videoUri = Uri.parse("/mnt/sdcard/test.sdp");
videoView.setVideoURI(videoUri); 
videoView.start(); 
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误:


D/MediaPlayer( 9616): Couldn't open file on client side, trying server side 
W/MediaPlayer( 9616): info/warning (1, 26) 
I/MediaPlayer( 9616): Info (1,26) 
E/PlayerDriver(   76): Command PLAYER_INIT completed with an error or info PVMFFailure 
E/MediaPlayer( 9616): error (1, -1)
E/MediaPlayer( 9616): Error (1,-1) 
D/VideoView( 9616): Error: 1,-1 
Run Code Online (Sandbox Code Playgroud)

有谁知道问题出在哪里?我错了或者无法在MediaPlayer上播放RTP?干杯乔治

android rtp media-player

10
推荐指数
1
解决办法
1万
查看次数

什么时候发生surfaceDestroyed()

我无法确定何时surfaceDestroyed()发生.我试图让我的线程停止在surfaceDestroyed()方法(SurfaceView)中运行,但看起来我的表面永远不会被破坏...有人能告诉我这是什么时候发生的吗?或者如何触发它?

android surfaceview

10
推荐指数
1
解决办法
2万
查看次数

逃离杰克逊的斜线

我使用Jackson生成JSON对象并将它们直接写入HTML的标记,如下所示:

   <script>
     var data = $SomeJacksonWrapper.toJson($data);
   </script>
Run Code Online (Sandbox Code Playgroud)

如果包含一些字符串'</script>',则此代码会中断.转义正斜杠(/)将解决问题,并且它由JSON的规范赋予.

我如何在杰克逊中启用它?

java json escaping jackson

10
推荐指数
3
解决办法
9018
查看次数

Java的简单自然语言处理启动

我愿意开始开发NLP项目.我不太了解可用的工具.谷歌搜索大约一个月后.我意识到openNLP可以成为我的解决方案.

不幸的是,我没有看到任何关于使用API​​的完整教程.所有这些都缺乏一些一般步骤.我需要从地面开始的教程.我在网站上看到过很多下载但不知道如何使用它们?我需要训练什么吗?这是我想知道的 -

如何安装/设置一个nlp系统,它可以 -

  1. 解析英语句子
  2. 识别不同的词性

java nlp

9
推荐指数
1
解决办法
1万
查看次数

使用图像和提示装饰JTextField

我正在尝试用图像和提示创建一些看起来更漂亮的JTextFields.为此,我做了一个覆盖paintComponent方法的装饰器.我使用装饰器的原因是我想将它应用于其他类型的JTextField,例如JPasswordField.

这是我到目前为止所做的;

在此输入图像描述

左边的表格中看到的问题是,即使我使用了JPasswordField,paintComponent也似乎忽略了我所假设的密码paintComponent,它可能是密码屏蔽符号.

所以问题是,如何避免重复JTextFields和JPasswordFields的代码,但仍然具有不同的功能,如密码屏蔽.

这是装饰器代码;

public class JTextFieldHint extends JTextField implements FocusListener{
private JTextField jtf;
private Icon icon;
private String hint;
private Insets dummyInsets;

public JTextFieldHint(JTextField jtf, String icon, String hint){
    this.jtf = jtf;
    setIcon(createImageIcon("icons/"+icon+".png",icon));
    this.hint = hint;

    Border border = UIManager.getBorder("TextField.border");
    JTextField dummy = new JTextField();
    this.dummyInsets = border.getBorderInsets(dummy);

    addFocusListener(this);
}

public void setIcon(Icon newIcon){
    this.icon = newIcon;
}

@Override
protected void paintComponent(Graphics g) {
        super.paintComponent(g);

        int textX = 2;

        if(this.icon!=null){
            int iconWidth = icon.getIconWidth();
            int iconHeight = icon.getIconHeight(); …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing decorator jtextfield

9
推荐指数
2
解决办法
1万
查看次数

将Lisp转换为C++

我正在研究一种基于lisp(非常小的方案子集)编译成C++的玩具语言,我试图弄清楚如何表示let表达式,

(let ((var 10)
      (test 12))
  (+ 1 1)
  var)
Run Code Online (Sandbox Code Playgroud)

起初我认为执行所有exprs然后返回最后一个,但是返回会杀死我的嵌套let表达式的能力,那么表示let的方法是什么?

此外,任何关于源到源转换的资源都是适用的,我已经用Google搜索,但我所能得到的只是90分钟的方案编译器.

c c++ scheme

8
推荐指数
1
解决办法
594
查看次数