问题列表 - 第39598页

改变JFileChooser行为:阻止在文件路径JTextField中输入"choose"

向Swing Pros致以问候,这是一个很好的(我希望)问题.

以下是我看到的任务要求和可能的解决方案.我想有人有这样的铁杆经验来分享一些关于这个的想法.

这不需要编码或类似的东西,我只需要一般性建议,关于我需要使用驻留在sun.swing和/或javax.swing.plaf包中的私有符号的事实,哪种方法更可靠.

任务是修改/改变JFileChooser行为(实际上只是一点点).

  1. 当用户在文件名JTextField中按Enter键,并且该字段包含dir的路径时,不要"选择"目录,而是切换到它.是的,对话框配置为接受目录,但我们只需要接受"打开"按钮的点击,并且(可能)双击文件列表表.

  2. 通过在文件名文本字段中输入,阻止用户选择数据超过1GB的目录/文件

以下是一些常规解决方案选项:

一个.聆听JFileChooser提供的基于属性的更改(事后触发哪个AFAICS,并且不会提供我们需要的控制程度).

湾 修改javax.swing.plaf.basic.BasicFileChooserUI(通过refrection,打破私有级封装)并修改引用

private Action approveSelectionAction = new ApproveSelectionAction();
Run Code Online (Sandbox Code Playgroud)

这样我们的自定义操作就会对1和2进行额外检查.这种方法与plaf包链接,如果在此UI类下面的某个类中以某种方式覆盖此操作,则可能会失败.

C.遍历JFileChooser组件层次结构,找到JTextField(显然应该只在组件树中出现一次),使用我们的自定义检查装饰挂在JTextField上的所有动作侦听器.我的调试会话显示这个JTextField是生活在sun.swing.FilePane中的JTextField的一些匿名子类.这种方法似乎更友好,但是对于某些操作系统来说,这个文本字段可能不存在,或者其他一些JTextField也存在于层次结构中.

好吧,似乎公共JFileChooser API不足以实现这种行为,而其他两个选项要么是深度魔术还是不可移植(长期),要么两者兼而有之.

所以,问题是:你会选择哪种方法?为什么?

java swing jfilechooser look-and-feel

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

我可以使用本机编译作为Java混淆

我正在为Java应用程序编写一个插件.我可以对插件进行模糊处理,但它仍然可以很容易地进行逆向工程.

我相信如果我可以将这个插件编译成一个共享库,它大量使用JNI与主应用程序通信,那么逆向工程就会困难得多.我愿意为JNI牺牲一些性能,我编写的应用程序确实支持共享库加载.唯一的问题是我不知道有一个工具可以完成这项工作:gcj似乎依赖于它自己的运行时和IKVM.NET - 在.NET上

确切地说:


public class PluginImpl implements Plugin {
    @Override
    public void startPlugin(PluginContext ctx) {
       ctx.helloWorld();
    }  
}
Run Code Online (Sandbox Code Playgroud)

应转换为


public class PluginImpl implements Plugin {
    @Override
    public native void startPlugin(PluginContext ctx);
}
Run Code Online (Sandbox Code Playgroud)

并且我的startPlugin方法的主体被编译成一个共享库.

(嗯,是的,我知道,我本可以在C中首先编写这个插件)

java java-native-interface native

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

如何在使用Linq的Where子句后选择数组索引?

假设我有数组string[] weekDays = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" };,我想找出包含's'的数组元素的索引.我怎么能用Linq做到这一点?

我已经尝试了int[] indexOfDaysContainingS = weekDays.Where(day => day.Contains("s")).Select((day, index) => index).ToArray();,但这0,1,2可能会返回,因为它可能是IEnumberable<string>在Where()子句之后得到过滤的索引.如果我首先放置Select(),那么我所拥有的只是索引,不能按天来过滤.

我需要改变什么来使其工作并返回1,2,3

c# linq arrays

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

使用流重定向从Java代码启动外部可执行文件

我需要以这样的方式启动外部可执行文件,即用户可以与刚刚启动的程序进行交互.

例如在OpenSuse Linux中有一个包管理器--Zypper.您可以在命令模式下启动zypper,并为其提供安装,更新,删除等命令.

我希望以用户可以与之交互的方式从Java代码运行它:输入命令并查看他启动的程序的输出和错误.

这是我尝试使用的Java代码:

public static void main(String[] args) throws IOException, InterruptedException {
    Process proc = java.lang.Runtime.getRuntime().exec("zypper shell");

    InputStream stderr = proc.getInputStream();
    InputStreamReader isr = new InputStreamReader(stderr);
    BufferedReader br = new BufferedReader(isr);
    String line = null;
    char ch;

    while ( (ch = (char)br.read()) != -1)
        System.out.print(ch);

    int exitVal = proc.waitFor();
    System.out.println("Process exitValue: " + exitVal);
}
Run Code Online (Sandbox Code Playgroud)

但不幸的是我只能看到它的输出:

zypper>
Run Code Online (Sandbox Code Playgroud)

但无论我写什么,我的输入都不会影响已启动的程序.我该怎么办?

java outputstream stream

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

使用Nokogiri将div嵌套在div元素中

对于以下HTML,我想解析它并使用Nokogiri获得以下结果.

event_name = "folk concert 2"   
event_link = "http://www.douban.com/event/12761580/"    
event_date = "20th,11,2010"
Run Code Online (Sandbox Code Playgroud)

我知道 doc.xpath('//div[@class="nof clearfix"]')可以获得每个div元素,但我应该如何继续获得每个元素,event_name尤其是date

HTML

 <div class="nof clearfix">        
          <h2><a href="http://www.douban.com/event/12761580/">folk concert 2</a> <span class="pl2">    </span></h2>
            <div class="pl intro">
              Date?25th,11,2010<br/>
            </div>
 </div>
 <div class="nof clearfix">        
          <h2><a href="http://www.douban.com/event/12761581/">folk concert </a> <span class="pl2">    </span></h2>
            <div class="pl intro">
              Date?10th,11,2010<br/>
            </div>
 </div>
Run Code Online (Sandbox Code Playgroud)

ruby xml nokogiri

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

使用Request.Files [“ files”] MVC上传多个文件

这是我的代码。我想将3个文件上传到我的数据库中

首先在View中,我这样写:<%using(Html.BeginForm(Actionname,Controller,FormMethod.Post,new {enctype =“ multipart / form-data”})){%> ..... ....

这是3个文件更新:

<input type="file" name="files" id="FileUpload1" />
<input type="file" name="files" id="FileUpload2" />
<input type="file" name="files" id="FileUpload3" />
Run Code Online (Sandbox Code Playgroud)

在控制器中,我使用以下代码:

IEnumerable<HttpPostedFileBase> files = Request.Files["files"] as IEnumerable<HttpPostedFileBase>;
foreach (var file in files)
{
byte[] binaryData = null;
HttpPostedFileBase uploadedFile = file;
if (uploadedFile != null && uploadedFile.ContentLength > 0){
 binaryData = new byte[uploadedFile.ContentLength];
 uploadedFile.InputStream.Read(binaryData, 0,uploadedFile.ContentLength);
}
}
Run Code Online (Sandbox Code Playgroud)

但是文件总是返回NULL :(

请帮助我,谢谢。

asp.net-mvc-2

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

如何在android中使用dip和sip

你好,大家好,任何人都可以建议我如何使用设备独立的像素(dip),sip和转换px以使用示例代码进行dip.

java eclipse android

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

如何为Silverlight编译C++/CLI代码?

我有一个C++/CLI库,我想在Silverlight应用程序中使用它.应该可以在任何.NET语言中为Silverlight编写代码,但到目前为止我只研究了如何编译C#.Silverlight似乎无法使用为.NET编译的DLL.

我正在使用Visual Studio 2010和Silverlight 4. Silverlight唯一可用的新项目是C#项目.将代码移植到C#不是一个实用的选择.

如何为Silverlight编译C++/CLI代码?

compiler-construction silverlight c++-cli visual-studio-2010 silverlight-4.0

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

Python元编程:自动生成成员函数

如何编写一个向类添加方法的函数?我有:

class A:
    def method(self):
        def add_member(name):
            self.new_method = def name...?

        add_member("f1")
        add_member("f2")
Run Code Online (Sandbox Code Playgroud)

为了回答我正在尝试做的事情.我试图分解出一些pyqt插槽.我希望能够调用一个函数create_slider来创建一个QSlider和一个QLabel并创建滑块处理代码,并使滑块处理程序更新文本QLabel.这是需要考虑的插槽:

    def on_sample_slider(self, value):
        self.samples = pow(4, value)
        self.sample_label.setText('%d' % self.samples)
Run Code Online (Sandbox Code Playgroud)

这是一个生成一些UI的方法,但是每次调用它时都会生成on_sample_slider方法会很好:

    def insert_labeled_slider(hbox, name, slider_target):
        # name
        hbox.addWidget(QLabel(name))

        # label
        label = QLabel()
        label.setMinimumSize(40, 0)
        hbox.addWidget(self.sample_label)

        #slider
        slider = QSlider(Qt.Horizontal)
        slider.setRange(0, 6)
        slider.setTracking(True)
        slider.setPageStep(1)
        hbox.addWidget(slider)

        self.connect(self.sample_slider, SIGNAL('valueChanged(int)'),
                     self.on_sample_slider)
        self.sample_slider.setValue(0)
        return (label, slider)
Run Code Online (Sandbox Code Playgroud)

最终代码:

def attach_on_slider(obj, name, variable, label, base):
    def on_slider(self, value):
        variable = base**value
        label.setText('%d' % variable) …
Run Code Online (Sandbox Code Playgroud)

python metaprogramming

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

windows服务sql连接问题

我需要你的帮助 !!!!

我想从Windows服务连接到SQL服务器,但它抛出以下异常:

用户'NT AUTHORITY\ANONYMOUS LOGON'登录失败.

我的连接字符串声明如下:

<add name="CoreConnectionString" 
     connectionString="Data Source=10.10.2.102;Initial Catalog=DataBaseName;
                       Integrated Security=True" 
     providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

当我使用用户名和密码而不是Integrated Security = True它可以工作,但在最终部署中我不能使用用户名和密码.

有什么问题我该怎么办?

sql-server windows-services

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