小编Ely*_*deh的帖子

JavaFX的TextField的值更改侦听器

我想添加一种listenerJavaFX's TextField的用户,当用户更改其值时TextField,应用程序会在控制台上打印一些内容.

我搜索过,我发现了以下非常相似的问题:JTextField的值更改侦听器

提到的问题的答案是非常明确和有效的,但不幸的是它只对JTextField(Not JavaFX's TextField)有用,因为它说你应该像这样使用DocumentListener:

// Listen for changes in the text
textField.getDocument().addDocumentListener(new DocumentListener() {
  public void changedUpdate(DocumentEvent e) {
    warn();
  }
  public void removeUpdate(DocumentEvent e) {
    warn();
  }
  public void insertUpdate(DocumentEvent e) {
    warn();
  }
Run Code Online (Sandbox Code Playgroud)

但是在JavaFX的TextFields中你无法做到这一点.所以?解决办法是什么?

(用代码描述可能非常好,但如果不可能,任何提示将不胜感激)

java javafx documentlistener javafx-8

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

波斯语(阿拉伯语)字母的正则表达式,没有任何数字

在Java中,我正在寻找一个接受任何波斯语(或阿拉伯语)字母的正则表达式,除了任何波斯语(或阿拉伯语)数字.为了只有字母,我发现了一个非常好的正则表达式:

[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]

虽然它是真的并且对我有用,但我们知道我们可以使用\\p{L}+正则表达式接受来自世界上所有语言的所有字母,在我的情况下(阿拉伯语 - 波斯语)我可以修改它并使用[\\p{InArabic}]+$.

但是,通过使用[\\p{InArabic}]+$不仅所有阿拉伯(波斯语)字母都将被接受,而且阿拉伯数字也是可接受的,如1 2.

所以我的问题是如何修改[\\p{InArabic}]+$为接受字母而不是数字,或者换句话说我如何限制[\\p{InArabic}]+$不接受任何数字?

请注意,波斯语(阿拉伯语)的数字如下:1 2 3 4 5 6 7 8 9 0

java regex arabic persian

12
推荐指数
2
解决办法
4607
查看次数

如何拖动未修饰的窗口

我有这个未修饰的窗口:

public static void initStartPage(final Stage primaryStage) {

        final Stage startPage = new Stage();
        startPage.initStyle(StageStyle.UNDECORATED);
        //startPage.initOwner(primaryStage);
        //startPage.toFront();
        Scene scene = new Scene(agentsPanel(), 900, 500);
        startPage.setScene(scene);
        startPage.show();

    }
Run Code Online (Sandbox Code Playgroud)

我很感兴趣如何让它拖动可拖动?我希望我将鼠标光标放在它上面以拖动它来改变它的位置.

PS

我测试了这个解决方案,但它不起作用:

private static FlowPane flow;
    private static BorderPane bpi;

    public static void initStartPage(final Stage primaryStage) {

        final Stage startPage = new Stage();
        startPage.initStyle(StageStyle.UNDECORATED);
        startPage.initOwner(primaryStage);
        //startPage.toFront();
        Scene scene = new Scene(agentsPanel(primaryStage), 900, 500);
        startPage.setScene(scene);
        startPage.show();

    }

    private static double xOffset = 0;
    private static double yOffset = 0;

    public static BorderPane agentsPanel(final …
Run Code Online (Sandbox Code Playgroud)

javafx javafx-2 javafx-8

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

"StringBuilders不是线程安全"的含义

我已经阅读了一些关于Java程序设计语言中的Strings和StringBuilders的好处和缺点的文章.在其中一篇文章中,作者写道:String.

现在我无法理解它的含义.能否请你告诉我的差异StringBuilder,StringBuffer以及String特别是在"线程安全"的情况下.(用代码描述可能非常好,但如果不可能,任何提示将不胜感激).

java string stringbuilder multithreading stringbuffer

8
推荐指数
3
解决办法
7565
查看次数

oracle数据库中的波斯字符编码

我在将(“?”或“?”)等波斯字符保存到 oracle 数据库时遇到问题。我从客户端收到正确的编码,但是当我将相关记录插入数据库时​​,它将以这样的阿拉伯语编码保存(“?”)。

我的应用程序的规格是:

  • Linux 上的 WebLogic 应用服务器 12c
  • Oracle 11g(瘦驱动)
  • OpenJPA 2.2.2

我将以下属性设置到 WebLogic 设置文件中,但它不起作用。

export NLS_LANG=AMERICAN_AMERICA.AR8MSWIN1256
export NLS_LANG=AMERICAN_AMERICA.UTF8
-Dfile.encoding=UTF-8
Run Code Online (Sandbox Code Playgroud)

oracle unicode weblogic utf-8 farsi

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

JavaFX中的样式按下按钮

Button我的FXML文件中有一个,我在下面给它一个样式CSS

.button {
    -fx-background-color: linear-gradient(#ff5400, #be1d00);
    -fx-background-radius: 30;
    -fx-background-insets: 0;
    -fx-text-fill: white;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

你可以看到按钮有一个新的很棒的风格,但每当我点击它,它仍然像以前一样,你无法理解是否点击了...

当我搜索时,我在这个链接中找到了一个解决方案:按下CSS,但是如果你注意到它是Web浏览器和JavaFX使用的CSS不支持它.

那么解决方案是什么?我希望我的按钮在用户点击或点击时更改其外观.

css java javafx

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

为什么spring数据(JPA)的delete方法没有任何返回值?

Spring Data JPA在服务层使用了一个delete方法,但是不知道为什么这个deleteById方法和delete方法都没有返回值。

如果我们仔细检查 delete 方法的实现,有一个if 语句,当要删除的实体不存在时,它不返回任何内容。

public void delete(T entity) {

    Assert.notNull(entity, "Entity must not be null!");

    if (entityInformation.isNew(entity)) {
        return;
    }

    Class<?> type = ProxyUtils.getUserClass(entity);

    T existing = (T) em.find(type, entityInformation.getId(entity));

    // if the entity to be deleted doesn't exist, delete is a NOOP
    if (existing == null) {
        return;
    }

    em.remove(em.contains(entity) ? entity : em.merge(entity));
}
Run Code Online (Sandbox Code Playgroud)

就我个人而言,我认为Boolean在这种情况下返回一个值可能是一种合适的方法,因为控制器层将知道删除状态,并且可以为视图层提供更可靠的警报消息。

java spring spring-data-jpa

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

SQL Server 中的阿拉伯语全文搜索

我在 SQL-Server 中的阿拉伯语全文搜索中遇到问题,此链接说我们可以在全文搜索中使用阿拉伯语。

为了进行更多描述,我在包含阿拉伯语和英语文本的专栏之一上启用了全文搜索。

当我对英文输入使用全文搜索时,一切正常,但在阿拉伯语中则不然。

请注意,我还使用其他只有阿拉伯语内容的表测试了我的查询,但我还是一无所获。

使用的查询是这样的:

select * from tbl where freetext(title, '"*???*"')

SELECT * FROM sys.dm_fts_parser('"??????????? ?????? ??????? ?? ???? ?????"', 1025, 0, 0) WHERE special_term <> 'Noise Word' AND display_term IS NOT NULL

sql-server full-text-search sql-server-2012 sql-server-2014

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

没有布局管理器的响应式JFrame

我试图做两个按钮JFrame,我调用setBounds它们的方法来设置它们的位置和大小,我也传递nullsetLayout1 because I want to use组件的setBounds`方法.

现在我想用我的代码做一些事情,每当我调整框架按钮时,装饰将以适当的形式改变,如下面的图片:

在调整大小之前 调整大小后

我知道可以使用从JPanel类中创建一个对象并向其添加按钮,最后将创建的面板对象添加到框架中,但由于某种原因(由教授指定),我现在不允许这样做.

有什么办法或者你有什么建议吗?

我的代码是这样的:

public class Responsive
{
    public static void main(String[] args)
    {
        JFrame jFrame = new JFrame("Responsive JFrame");
        jFrame.setLayout(null);
        jFrame.setBounds(0,0,400,300);

        JButton jButton1 = new JButton("button 1");
        JButton jButton2 = new JButton("button 2");

        jButton1.setBounds(50,50,100,100);
        jButton2.setBounds(150,50,100,100);

        jFrame.add(jButton1);
        jFrame.add(jButton2);

        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

java swing jframe layout-manager null-layout-manager

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

如何更改特定列表视图的项目或元素的颜色

我有一个ListView,由一个String数组膨胀.在ListView的顶部,我添加了一个按钮,我希望每当用户点击按钮时,4项的颜色会自动更改.

这是我的活动代码:

    public class MainActivity extends Activity
    {
    String[] countryNames = {"Germany", "France", "Italy", "Spain", "Russia", "USA", "Iran", "China", "Inida"};
    Button button;
    ListView listView;

    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.listview);

        button = (Button) findViewById(R.id.button_changeColor);

        ListViewAdapter adapter = new ListViewAdapter(getApplicationContext());//
        listView = (ListView) findViewById(R.id.listView_1);//
        listView.setAdapter(adapter);//


        button.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                // here i want to change the the color 4th item.
            }
        });


    }


    private …
Run Code Online (Sandbox Code Playgroud)

android listview android-layout android-listview

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

JavaFX在执行流程时不确定进度条

我试图插入我的数据库的一个表,但这个过程需要几分钟.

我希望在我的应用程序尝试插入时有一个不确定的进度条.为了有进度条,我想使用JavaFX,但我不知道如何实现它,直到插入数据库进程结束才显示它.

java javafx progress-bar javafx-8

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

尝试读取文本文件时输出错误

我想阅读并打印文本文件到控制台,所以我用下面的代码做了这个

File file = new File("G:\\text.txt");
FileReader fileReader = new FileReader(file);
int ascii = fileReader.read();

while (ascii != -1)
{
result = result + (char) ascii;
ascii = fileReader.read();
}
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)

虽然我得到了正确的结果,但在某些情况下我会得到一些奇怪的结果.假设我的文本文件中包含此文本:

Hello to every one
Run Code Online (Sandbox Code Playgroud)

为了得到一个文本文件我用过记事本,当我改变编码模式时,我的代码会得到奇怪的输出.

安西:大家好

Unicode:ÿþhellotoeveryone

Unicode大端:þÿhellotoeveryone

UTF-8:你好

为什么我会得到这些奇怪的输出?我的代码有问题吗?或者还有其他原因

java character-encoding java-io

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

如何在 Liferay 7 或 DXP 表单 themeDisplay 中获取创建帐户链接

在 Liferay 6 中,可以获取各种类型的链接,例如,您可以使用 从 themeDiplay 获取 CreateAccount 链接themeDisplay.getURLCreateAccount().toString()。检查这个链接

最近我已经迁移到 Liferay 7。在我的自定义主题中,当我处理.ftl我想要的文件时create account link,但我找不到任何合适的方法。虽然你可以找到getURLSignIn()getURLSignOut。检查这个链接

有没有机会通过 themeDisplay 找到创建帐户的 url?如果不是我该怎么办?

liferay liferay-theme liferay-7 liferay-dxp

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