小编Ker*_*rry的帖子

具有密码保护的Java,JFileChooser和Windows网络共享

我需要向用户或我的应用程序提供一个对话框,其中指向特定文件,因此最简单的选择是使用JFileChooser.

但是,需要选择的文件位于Windows网络驱动器/共享上,但它映射到运行我的应用程序的主机上的驱动器.网络共享IS密码和JFileChooser确实在其dialoge中显示驱动器,但是在我使用其他程序(例如Windows资源管理器)查看要求输入密码的网络共享之前,它无法浏览驱动器.

JFileChooser是否可以请求用户输入密码?JFileChooser是否从系统收到需要密码/身份验证的通知?在这里使用Sun示例,它只是默默地失败,这不是我想要发生的事情.我希望提示用户输入密码.我可以这样做吗?

java swing jfilechooser windows-share

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

无法显示我的自定义SurfaceView的2个实例

我已经创建了自己的自定义SurfaceView,它可以自行运行,但是当我尝试将两个放在TabWidget中的单独选项卡上时,无论选择哪个选项卡,都会显示一个,并且它总是首先绘制的SurfaceView应用开始.

为了说明问题,我创建了可以编译显示问题的示例代码.

下面的SurfaceView(称为SurfaceViewCircle)只是创建一个位图,默认情况下绘制一个蓝色圆圈然后显示它.有一个公共方法,changeColour(),它将改变位图中的圆形颜色.

其次,我创建了一个XML布局,它只包含一个SurfaceViewCircle实例.

在Activity类中,我创建了一个TabWidget和主机等.然后我将上面的XML充气两次,但在一个实例中,我将SurfaceViewCircle的颜色更改为红色.一旦应用程序运行,无论我选择哪个选项卡,当应用程序退出并显示蓝色圆圈时,红色圆圈始终显示为例外情况.

有人能指出我在使用SurfaceView时错过了一个步骤吗?

这是活动代码:

public class TestActivity extends Activity  {
/** Called when the activity is first created. */

private TabHost mTabHost;
private Context mTabHostContext;
private View surfaceView1, surfaceView2;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    /*
     * Setup tabs
     */
    setContentView(R.layout.maintabs);
        setupTabHost(); //Prepares the TabHost from code rather than XML;
    mTabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider); //Sets a thin dividing line
    mTabHostContext = mTabHost.getContext();
    surfaceView1 = LayoutInflater.from(mTabHostContext).inflate(R.layout.surfaceviewindependent, null);
    SurfaceViewCircle s = (SurfaceViewCircle)surfaceView1.findViewById(R.id.circle1);
    /*
     * Change the colour to red …
Run Code Online (Sandbox Code Playgroud)

tabs android surfaceview

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

HttpURLConnection和使用特定的网络适配器

我想使用Java类HttpURLConnection连接到(本地网络)上的特定设备.我需要使用特定的网络适配器,因为将运行我的程序的机器安装了2个网络适配器.一个适配器位于更广泛的公司网络上,并动态分配IP,而第二个适配器是机器本地的网络,并具有静态IP.这是我想要限制我的程序的第二个本地网络.

使用HttpURLConnection的是方便,因为它减轻了我不必解析服务器响应等,并在数据获得连胜,我需要的,而不是做这样的事情的这种.但是,因为我需要将我的HTTP请求限制到特定的网络适配器,所以我不能100%确定我的HTTP请求是通过所需的适配器发送的.我对HttpURLConnection如何工作的理解是正确的,即它依赖于操作系统来选择合适的网络适配器来使用?

java network-programming httpurlconnection

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

具有有界扩展枚举参数的通用方法 - 无法访问values()方法

我想写一个泛型方法,它采用扩展Enum的有界参数.例如,如果我有一个枚举如下:

public enum InputFlags{
    ONE (0000001),
    TWO (0000002),
    THREE (00000004);

    public final int value;

    InputFlags(int value){
        this.value = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我可以做以下事情:

for (InputFlags ifg : InputFlags.values()){
            // Do something with ifg
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试在返回参数有界的泛型方法中执行上述操作,则无法访问该values()方法:

public static <T extends Enum> T getFlags(int f){
        T.values(); // NOT allowed, even though I have bounded by extending Enum.
}
Run Code Online (Sandbox Code Playgroud)

好像我无法访问values()泛型方法.这是Enums的特点还是有办法解决这个问题?

java generics enums

5
推荐指数
2
解决办法
648
查看次数

Tomcat Servlet中的SQL执行时间比普通Java程序慢得多

但是由于种种原因,今天早上我的两个查询变得很慢,性能有所提高。我不知道为什么。
我对服务器没有权限,也许有人更改了某些内容。
问题不再存在

简而言之:

  • s.executeQuery(sql)在服务器上的tomcat servlet中运行非常慢
  • 在没有servlet(简单Java程序)的情况下,同一查询在同一台计算机上运行良好
  • 并非所有查询在Servlet中的速度都很慢。只有几个大的
  • 同一个servlet在另一台机器上快速运行

更新

请阅读文字下方的更新!

我有一个servlet执行SQL请求并通过JSON发送回结果的工具。由于某些原因,某些请求需要花费大量时间才能执行,但是当我在任何Oracle SQL Client中运行它们时,它们都不会立即执行。

我说的是同一SQL的1秒与5分钟的区别(不是那么复杂)。

如何解释呢?有没有一种方法可以提高基于Java的SQL请求的性能?

我正在使用执行查询的传统方式:

java.sql.Connection conn = null;
java.sql.Statement s = null;
ResultSet rs = null;

String dbDriver = "oracle.jdbc.driver.OracleDriver";
String dbConnectionString = "jdbc:oracle:thin:@" + dbHost + ":" + dbPort + ":" + dbSid;

Class.forName(dbDriver).newInstance();
conn = DriverManager.getConnection(dbConnectionString, dbUser, dbPass);
s = conn.createStatement();
s.setQueryTimeout(9999);
rs = s.executeQuery(newStatement);
ResultSetMetaData rsmd = rs.getMetaData();

// Get the results
while (rs.next()) {
// collect the results
}

// …
Run Code Online (Sandbox Code Playgroud)

java performance tomcat6 ojdbc

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

API 网关授权方接受 ID_token 但不接受 Access_Token

我正在使用 API Gateway 和 Authorizer 来控制对 S3 存储桶中文件夹的访问。授权方配置为使用 Cognito 用户池。此用户池具有 OAuth 范围phoneemail与之关联,还有一个自定义范围,我打算授予对 S3 存储桶的读取访问权限。

但是,我发现授权方只会接受 ID 令牌以授予访问权限,如果我通过访问令牌,则返回未经授权。根据亚马逊文档,应该可以使用访问令牌。

我在请求访问令牌时遵循了here给出的方向,例如我设置了这样的auth变量:

var authData = {
        ClientId : '<removed>', 
        AppWebDomain : '<removed',
        TokenScopesArray : ['openid','email', 'domain.com/content/content.read'], 
        RedirectUriSignIn : '<removed>',
        RedirectUriSignOut : '<removed'
    }
Run Code Online (Sandbox Code Playgroud)

我曾假设访问令牌就是我所需要的,这就是它的目的,但我无法让它工作。

amazon-s3 amazon-web-services amazon-cognito

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

用于创建 Lambda 的 AWS Java SDK 版本

我正在尝试按照此处描述的指南开发 AWS Java lambda 函数,该指南描述了RequestHandler接口的实现并引用了 AWS-lambda-java-core 库。但是,我正在尝试使用此处推荐的最新 SDK,但这完全不同,并且RequestHandler界面似乎不再存在。

我不清楚我需要的 Java 库的名称和版本是什么。是否有关于所有不同版本的 AWS Java 库的指南以及任何更新的示例?我不得不承认我对 AWS Java 库版本和命名完全感到困惑,并且不完全知道我需要添加哪些/什么作为依赖项,只是为了在 Java 中创建一个简单的 AWS Lambda 函数。

java amazon-web-services aws-java-sdk

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

创建一个在手机上安装应用程序后仅触发一次的功能

我正在使用ApacheCordova/Phonegap开发移动应用程序.我需要一个功能,每次安装时都会向我发送一次短信.如果我将我的功能放在"DeviceReady"上,它将在每次应用程序打开时运行.在安装应用程序或第一次运行时,是否有任何解决方案可以运行该功能?

任何建议将不胜感激.

android cordova multi-device-hybrid-apps visual-studio-cordova

4
推荐指数
2
解决办法
2967
查看次数

文本太长时阻止按钮调整大小?

我只是想知道在为其分配长文本时是否可以阻止Button调整大小.

我想在我的布局中放置2行4个按钮,但是当我将文本改为一个时,它会自动调整大小来压缩其他按钮,因此没有任何大小均匀.

我尝试过重量,重量和重力,但我不得不承认我对这些属性缺乏了解!

到目前为止这是我的XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/linearLayout1" 
    android:background="@drawable/backgroundrepeat" 
    android:orientation="vertical"
    android:weightSum="2">
    <ScrollView android:id="@+id/scrollView1" 
        android:layout_height="wrap_content" 
        android:layout_width="match_parent" 
        android:layout_weight="2">
        <TextView android:id="@+id/textView1" 
            android:layout_width="match_parent" 
            android:text="TextView" 
            android:layout_height="wrap_content">
        </TextView>
    </ScrollView>
    <LinearLayout android:layout_height="wrap_content" 
        android:id="@+id/linearLayout3" 
        android:layout_width="match_parent" 
        android:layout_weight="1"
        android:weightSum="4.0"
        android:gravity="left">
        <Button android:text="Button" 
            android:id="@+id/button1" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" android:layout_weight="1.0">
        </Button>
        <Button android:text="Button" 
            android:gravity="center"
            android:id="@+id/button2" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" android:layout_weight="1.0">
        </Button>
        <Button android:text="Button" 
            android:id="@+id/button3" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" android:layout_weight="1.0">
        </Button>
        <Button android:id="@+id/button4" 
            android:layout_height="wrap_content" 
            android:layout_width="wrap_content" 
            android:text="Button" android:layout_weight="1.0">
        </Button>
    </LinearLayout> 
    <LinearLayout android:layout_height="wrap_content" 
        android:id="@+id/linearLayout3" 
        android:layout_width="match_parent" 
        android:layout_weight="1"
        android:weightSum="4.0"
        android:gravity="left">
        <Button android:text="Button" 
            android:id="@+id/button5" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" android:layout_weight="1.0">
        </Button>
        <Button android:text="Button" …
Run Code Online (Sandbox Code Playgroud)

android

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

是否可以在XML中传递构造函数参数?

我正在编写一个扩展Fragment的类,我想在XML文件中使用它.对于我的类,我有一个构造函数,它接受一个参数,指定片段应如何布局其UI.

我想在XML中使用我的类,但是也想指定这个布局参数,但是可以将它包含在XML中吗?

android

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