小编Ale*_*eng的帖子

如何将VBScript转换为可执行(EXE)文件?

我查看了将VBScript转换为(*.vbs)可执行文件的信息,并意识到大多数可用的工具实际上是将脚本包装在可执行文件中.尝试了一些工具,并没有达到预期的效果.我尝试使用IExpress(在Windows XP中)创建Win32自解压cab文件,但它在Windows 7计算机上没有正确调用.

所以我正在寻找一种将vbs编译成exe的方法.我正在尝试将当前脚本移植到VB Express 2008中,但我在此处没有Visual Basic的先验知识.有很多错误,但我仍在尝试.

任何人都可以请教我应该如何从这里开始?我的意思是,自解压存档是一种可行的方式而不是独立的可执行文件吗?但是说像Winzip我不知道如何让它在提取后运行脚本.

有任何想法吗?

vbscript executable iexpress

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

设置JList显示的行数(Java)

问题:我有一个方法可以从解析的ArrayList创建一个列表.我设法在GUI中显示列表,没有滚动条.但是,我有问题设置它只显示ArrayList的大小.意思是,如果大小为6,则显示的列表中应该只有6行.下面是我正在使用的代码.我尝试设置visibleRowCount如下,但它不起作用.我尝试打印出结果,它显示了更改.

private void createSuggestionList(ArrayList<String> str) {
    int visibleRowCount = str.size();
    System.out.println("visibleRowCount " + visibleRowCount);
    listForSuggestion = new JList(str.toArray());
    listForSuggestion.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    listForSuggestion.setSelectedIndex(0);
    listForSuggestion.setVisibleRowCount(visibleRowCount);
    System.out.println(listForSuggestion.getVisibleRowCount());
    listScrollPane = new JScrollPane(listForSuggestion);
    MouseListener mouseListener = new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent mouseEvent) {
            JList theList = (JList) mouseEvent.getSource();
            if (mouseEvent.getClickCount() == 2) {
                int index = theList.locationToIndex(mouseEvent.getPoint());
                if (index >= 0) {
                    Object o = theList.getModel().getElementAt(index);
                    System.out.println("Double-clicked on: " + o.toString());
                }
            }
        }
    };
    listForSuggestion.addMouseListener(mouseListener);
    textPane.add(listScrollPane);
    repaint();
}
Run Code Online (Sandbox Code Playgroud)

总结一下:我希望JList显示与解析的ArrayList的大小一样多的行,而不需要滚动条 …

java swing jlist

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

如何配置JComboBox在创建时不选择FIRST元素?

问题:

更新:

来自Java SE 6 API:

public JComboBox()使用默认数据模型创建JComboBox.默认数据模型是一个空的对象列表.使用addItem添加项目.默认情况下,数据模型中的第一项将被选中.

所以我改为JComboBox(模型),因为API说:

public JComboBox(ComboBoxModel aModel) 创建一个JComboBox,从现有的ComboBoxModel获取其项目.由于提供了ComboBoxModel,使用此构造函数创建的组合框不会创建默认的组合框模型,并且可能会影响插入,移除和添加方法的行为方式.

我尝试了以下方法:

    DefaultComboBoxModel model = new DefaultComboBoxModel();
    model.setSelectedItem(null);
    suggestionComboBox = new JComboBox(model);
    suggestionComboBox.setModel(model);
Run Code Online (Sandbox Code Playgroud)

但无法使其工作,第一项仍在被选中.

任何能够提出工作实例的人都会非常感激.


帖子的老部分:

我正在使用JComboBox,并尝试setSelectionIndex(-1)在我的代码中使用(此代码放在caretInvoke())

suggestionComboBox.removeAllItems();
    for (int i = 0; i < suggestions.length; i++) {
        suggestionComboBox.addItem(suggestions[i]);
    }
    suggestionComboBox.setSelectedIndex(-1);
    suggestionComboBox.setEnabled(true);
Run Code Online (Sandbox Code Playgroud)

这是添加到窗格时的初始设置:

    suggestionComboBox = new JComboBox();
    suggestionComboBox.setEditable(false);
    suggestionComboBox.setPreferredSize(new Dimension(25, 25));
    suggestionComboBox.addActionListener(new SuggestionComboBoxListener());
Run Code Online (Sandbox Code Playgroud)

当caretInvoke触发ComboBox初始化时,即使在用户选择元素之前,actionPerformed已经被触发(我在这里尝试了一个JOptionPane):http : //i126.photobucket.com/albums/p109/eXPeri3nc3/StackOverflow/combo1.png http://i126.photobucket.com/albums/p109/eXPeri3nc3/StackOverflow/combo2.png http://i126.photobucket.com/albums/p109/eXPeri3nc3/StackOverflow/combo3.png

问题是:当用户从ComboBox中选择一个元素时,我的程序会自动插入所选文本.因此,无需用户选择任何内容,它就会自动插入.

在这种情况下如何克服这个问题?谢谢.

这是我的SSCCE :(最后)

package components;


import java.awt.BorderLayout;
import java.awt.Dimension;
import …
Run Code Online (Sandbox Code Playgroud)

java swing jcombobox

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

如何使用Caret从JTextPane告诉它在哪一行?(JAVA)

问题:我有CaretListener和DocumentListener监听JTextPane.

我需要一个能够在JTextPane中判断哪条线是插入符号的算法,这是一个说明性示例:

替代文字

结果:第3行

替代文字

结果:第2行

替代文字

结果:第4行

如果该算法可以分辨出哪行插入符号是在JTextPane的,它应该是很容易的子无论是在括号中的图片(插入符号是人物之间mmetadata):

替代文字

-

这就是我将从JTextPane检索到的整个文本分成句子的方式:

String[] lines = textPane.getText().split("\r?\n|\r", -1);
Run Code Online (Sandbox Code Playgroud)

中的句子textPane用\n分隔.

问题是,我如何操纵插入符让我知道它在哪个位置和哪条线?我知道插入符号的点说它在哪个位置,但我不知道它在哪一行.假设我知道插入符号是哪一行,那么我就可以lines[<line number>]从那里操作并操纵字符串.

简而言之:如何使用CaretListener和/或DocumentListener来了解插入符当前所在的行,并检索该行以进行进一步的字符串操作?请帮忙.谢谢.

如果需要进一步澄清,请告诉我.谢谢你的时间.

java string algorithm jtextpane listener

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