小编Rei*_*vax的帖子

创建自定义阻止Java Swing提示

这个问题解决了.

我正在开发基于Java Swing的投影,并且应用程序的外观和感觉是完全自定义的.我们试图在整个程序中保持一致的外观,并且默认的Java对话框窗口不一样.

当前问题需要控制阻止对用户提示的调用.与JOptionPane.showConfirmDialog()类似,在这种情况下,静态调用会生成一个窗口,并停止程序流,直到用户选择一个选项.它还返回选项的值.请注意,GUI本身没有逻辑锁定,但用户无法与其余部分进行交互.

int n = JOptionPane.showConfirmDialog(this,
    "Are you sure?",
    "Confirm"
    JOptionPane.YES_NO_OPTION);
Run Code Online (Sandbox Code Playgroud)

我想使用自定义外观和使用字符串复制此功能.理想情况下,我的代码如下所示:

String result = CustomPrompt.showPrompt(this,
    "Please enter your name", //Text
    "Prompt.",                //Title
    "John Smith");            //Default
Run Code Online (Sandbox Code Playgroud)

这通常用于密码输入,我理解密码的返回类型不同,但这是一个例子.这可以通过在几个类中使用一系列按钮和事件监听器来完成,但代码的可读性和应用程序的可靠性会降低.

框架将通过NetBeans构建并从那里进行定制.我知道Swing中已存在这样的提示,但它的外观和感觉完全不同.

总结的问题是:如何使用自定义框架以阻止方式提示用户输入.

该问题的解决方案如下:

public class PromptForm extends JDialog
{
    transient char[] result;

    public char[] getResult()
    {
        return result;
    }
    public PromptForm(Frame parent)
    {
        super(parent, true);
        initComponents();
    }
    public void prompt()
    {
        this.setVisible(true);
    }
    public static char[] promptForPassword(Frame parent)
    {
        PromptForm pf = new PromptForm(parent);
        pf.prompt();
        return pf.getResult();
    }
    private void jButton1ActionPerformed(java.awt.event.ActionEvent …
Run Code Online (Sandbox Code Playgroud)

java swing jdialog blocking joptionpane

6
推荐指数
1
解决办法
1839
查看次数

将工作表保存为CSV,Excel公式保持不变

我完全在VBA for Excel工作.我的解决方案必须完全是程序化的,而不是用户驱动的.解决方案的要求是用户启动单个宏来获取工作簿并将8个页面保存到单独的CSV文件中,保留公式并丢弃公式解析.我有一系列工作表(sht),我迭代并保存它们.以下代码完美地完成了这一点.

For i = LBound(sht) To UBound(sht)
    If (SheetExists(csv(i))) Then
        Sheets(sht(i)).SaveAs _
                fullpath & csv(i) & ".csv", _
                FileFormat:=xlCSV, _
                CreateBackup:=False
    End If
Next i
Run Code Online (Sandbox Code Playgroud)

其中fullpath包含文件保存位置的完整路径,并且我编写了一个布尔函数,用于测试工作簿中是否存在工作表.

问题:

我需要CSV文档包含Excel公式,而不是公式评估的公式.公式的结果可以丢弃. 微软网站说:

如果单元格显示公式而不是公式值,则公式将转换为文本.所有格式,图形,对象和其他工作表内容都将丢失.欧元符号将转换为问号.

这意味着SaveAs函数可能永远不会做我想要它做的事情,但我需要一些方法来创建文件.理想情况下,我希望保持Excel能够完全逃脱CSV单元格的能力.Java和SQL程序将读取CSV文件,可以根据需要正确解析Excel函数.

csv excel vba excel-vba excel-formula

5
推荐指数
1
解决办法
7457
查看次数

标签 统计

blocking ×1

csv ×1

excel ×1

excel-formula ×1

excel-vba ×1

java ×1

jdialog ×1

joptionpane ×1

swing ×1

vba ×1