小编Eng*_*uad的帖子

修改作为method-parameter传递的数组

假设我有一个int数组,我想修改它.我知道我不能将新数组分配给作为参数传递的数组:

public static void main(String[] args)
{
    int[] temp_array = {1};
    method(temp_array);
    System.out.println(temp_array[0]); // prints 1
}
public static void method(int[] n)
{
    n = new int[]{2};
}
Run Code Online (Sandbox Code Playgroud)

虽然我可以修改它:

public static void main(String[] args)
{
    int[] temp_array = {1};
    method(temp_array);
    System.out.println(temp_array[0]); // prints 2
}
public static void method(int[] n)
{
    n[0] = 2;
}
Run Code Online (Sandbox Code Playgroud)

然后,我尝试将一个任意数组赋值给作为参数传递的数组clone():

public static void main(String[] args)
{
    int[] temp_array = {1};
    method(temp_array);
    System.out.println(temp_array[0]); // prints 1 ?!
}
public static void method(int[] n) …
Run Code Online (Sandbox Code Playgroud)

java arrays clone pass-by-value

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

JTreeTable DnD疯狂闪烁的光标

我正在使用JTreeTable由我自己的模型支持的Sun示例的略微修改版本.这将是第三个例子(http://java.sun.com/products/jfc/tsc/articles/bookmarks/上的书签).

除拖放支持外,一切都按预期工作.我想DnD更像是JTree提供的东西.由于JTreeTable是扩展,JTable它提供了JTable.DropLocation用于确定丢弃位置的类,当将内容放入JTreeTable(无路径和无子索引)的树呈现列时,该类不提供足够的信息.我已经通过创建一个DropLocation基于它的组合JTableJTree版本的自定义类来解决这个问题.我还修改了TreeTableCellRenderer由上述JTreeTable实现提供的类的paint方法,以向用户显示此新信息(她现在能够查看新节点是否将放置在所选节点内部,之前或之后,如果在内部树列,正如您所期望的那样a JTree).

但是有一个问题.当在树列内呈现放置位置时,鼠标光标会变得疯狂.它出现然后在几毫秒后消失,或者这种情况发生得如此之快,甚至没有显示拖动光标.这也发生在未经修改的Sun的例子中.我完全不知道为什么会这样.在http://www.java.net/node/663106找到了另一个有同样问题的人,但是那里提供的解决方案似乎将组件的放置位置设置为null,并且无法再使用JTreeTable.getDropLocation()方法检索.我需要这个将它转换为我的修改DropLocation然后根据它绘制的东西.我非常接近我的用例的正确解决方案,我可以品尝它.这个光标闪烁的东西是我的唯一障碍.有任何想法吗?

使用Java 1.6.

PS:我已经决定使用自定义JTreeTable而不是现有组件之一(如Netbeans Outline或者JXTreeTable),因为它们似乎都遇到了JTable.DropLocation问题,并且不支持在所选树节点之前或之后删除(仅在内部) ).如果你知道一个提供这种功能的组件,我会很高兴听到它.

java swing drag-and-drop cursor jtreetable

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

如何使用sendmsg()通过两个进程之间的套接字发送文件描述符?

@cnicutar在这个问题上回答我之后,我试图从父进程向其子​​进程发送文件描述符.基于这个例子,我写了这段代码:

int socket_fd ,accepted_socket_fd, on = 1;
int server_sd, worker_sd, pair_sd[2];
struct sockaddr_in client_address;
struct sockaddr_in server_address;

/* =======================================================================
 * Setup the network socket.
 * =======================================================================
 */

if((socket_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
{
    perror("socket()");
    exit(EXIT_FAILURE);
}

if((setsockopt(socket_fd, SOL_SOCKET,  SO_REUSEADDR, (char *) &on, sizeof(on))) < 0)
{
    perror("setsockopt()");
    exit(EXIT_FAILURE);
}

server_address.sin_family = AF_INET;                 /* Internet address type */
server_address.sin_addr.s_addr = htonl(INADDR_ANY);  /* Set for any local IP */
server_address.sin_port = htons(port);               /* Set to the …
Run Code Online (Sandbox Code Playgroud)

c sockets linux network-programming file-descriptor

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

如何将Java Swing应用程序实现到触摸屏

我们已经建立了销售点系统,现在我们需要将其实施到触摸屏?我们是否需要依次更改任何代码才能使其正常工作.

我们正在使用键盘输入值 - 比方说数量 - 当我专注于JTextField时,是否有一种java方式弹出键盘(如android)?

java swing touchscreen on-screen-keyboard

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

Java EE计划任务

我需要在Weblogic 10.3服务器上安排定期运行任务(例如每6个小时,或者每天12点).该任务基本上从数据库中检索一些数据,并用它做一些业务逻辑.

实现这一目标的最佳方法是什么?我搜索了互联网,发现了一些解决方案:

  • 使用定时服务.
  • 工作经理.
  • EJB计时器.

顺便说一下,我还在学习JavaEE,所以这可能是一个基本问题,或者我遗漏了一些东西.

java ejb weblogic scheduled-tasks java-ee

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

有没有办法在JOptionPane showInputDialog中只有OK按钮(而且没有CANCEL按钮)?

我已经看到这可以在其他类型的对话框窗口中使用,例如"showConfirmDialog",其中可以指定按钮的数量及其名称; 但使用"showInputDialog"时是否可以实现相同的功能?我似乎无法在API中找到这种类型的东西.也许我只是错过了它,但任何帮助都表示赞赏.

java swing jdialog joptionpane

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

Spinner的滚动条样式

我试图改变旋转器内部的滚动条的样式和位置,但它不起作用.

MainActivity.java:

package com.example.testapp;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}
Run Code Online (Sandbox Code Playgroud)

activity_main.xml中:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Spinner
        android:entries="@array/items"
        android:verticalScrollbarPosition="left"
        android:scrollbarThumbVertical="@drawable/scrollbar_style"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

绘制/ scrollbar_style.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="#FF196C96" />
    <corners android:radius="5dp" />
    <size android:width="2dp" />

</shape>
Run Code Online (Sandbox Code Playgroud)

价值/ strings.xml中:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">TestApp</string>
    <string name="action_settings">Settings</string>

    <string-array name="items">
        <item>Item 1</item>
        <item>Item 2</item>
        <item>Item 3</item>
        <item>Item 4</item>
        <item>Item 5</item> …
Run Code Online (Sandbox Code Playgroud)

java android android-custom-view android-layout android-spinner

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

如何设置JTree"ctrl"选择模式始终启用

我有一个实现多选逻辑的JTree.

当我按下鼠标+ Ctrl键进行所有选择时,这非常有用.如果用户在按下Ctrl键的情况下进行选择,则会破坏我的逻辑.

我真的不明白为什么它会中断但我认为可能的解决方案是始终指示TreeSelectionModel已按下Ctrl键进行选择.

你会建议什么?

java user-interface swing jtree

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

Windows表单C#按代码更改用户控件

我有一个窗体,我不想让任何其他窗体形式只是一个窗体和不同的用户控制如何在用户控件之间进行更改,例如隐藏一个并以编程方式显示其他用户控件?


private void Btt_info_Click(object sender, EventArgs e)
{
    Frm_Main frm_main = new Frm_Main();
    frm_main.Controls["panel1"].Controls.Clear();
    UC_Info uc_info = new UC_Info();
    frm_main.Controls["panel1"].Controls.Add(uc_info);
}
Run Code Online (Sandbox Code Playgroud)

我添加了这个,但它不起作用

c# user-controls winforms

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

运行 javafx 应用程序、Netbeans 11、java 12、javafx 13 的问题

尝试运行一个简单的 hello world 示例,但出现以下错误,我不明白:

Graphics Device initialization failed for :  d3d, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
Run Code Online (Sandbox Code Playgroud)

如何解决?我是否需要一些尚未包含的库、插件、配置?

这是我的 pom:尝试使用 Java 9,10,11,12 和 JavaFX 12 & 13 并得到相同的错误。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.mycompany</groupId>
<artifactId>mavenproject3</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.release>11</maven.compiler.release>
    <javafx.version>13</javafx.version>
</properties>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <release>${maven.compiler.release}</release>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>0.0.4</version>
            <configuration>
                <mainClass>com.mycompany.mavenproject3.MainApp</mainClass>
                <executable>C:\Program Files\Java\jdk-12\bin\java</executable>
            </configuration>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency> …
Run Code Online (Sandbox Code Playgroud)

java netbeans javafx maven

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