小编Hov*_*els的帖子

Java:在JTextPane上注册<ENTER>键

我正在使用具有JTextPane的java创建应用程序.我想能够在enter按下键时(或当用户进入下一行时)执行一些代码.我在网上看了一下,没有找到解决方案.使用C#解决这个问题会更好吗?如果没有,我如何在JTextPane的keyTyped()事件中注册Enter键?如果C#是一个不错的选择,我将如何在C#中执行此操作?

这是我认为可行的解决方案......但没有

//Event triggered when a key is typed
private void keyTyped(java.awt.event.KeyEvent evt) {
    int key = evt.getKeyCode();
    if (key == KeyEvent.VK_ENTER) {
        Toolkit.getDefaultToolkit().beep();
        System.out.println("ENTER pressed");
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么上面的例子不起作用是因为无论我按哪个键,我得到一个0的keyCode.我更喜欢用Java解决这个问题但是C#也可以工作,也许更好.另外,请尝试用示例而不是链接回答问题(除非您确实需要).谢谢!

java swing keycode jtextpane actionlistener

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

在两个JPanel对象之间发送消息

我有一个包含JPanel的Java JFrame.在JPanel中,有两个独立的JPanel.当用户单击第一个JPanel中的按钮时,需要将消息发送到另一个JPanel,通知它单击了哪个按钮.在像这样的对象之间发送消息的最简单方法是什么?

java oop user-interface swing jpanel

8
推荐指数
2
解决办法
6468
查看次数

包含整数和字符串的Arraylist

我想创建一个应该包含整数和字符串的Arraylist.这可能吗?

我创建了两个Arraylist,如下所示:

ArrayList<Integer> intList=new ArrayList<Integer>();
    intList.add(1);
    intList.add(2);

ArrayList<String> strList=new ArrayList<String>();
    strList.add("India");
    strList.add("USA");
    strList.add("Canada");
Run Code Online (Sandbox Code Playgroud)

我想将intList和strList放入一个新的ArrayList中.

我能这样做吗?如果是这样,怎么样?

java generics arraylist

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

使用printf打印一个布尔值

我想打印一个booleanprintf,但我不知道如何.我正在寻找的是像这个虚构的代码

boolean car = true;
System.out.printf("%b",car);
Run Code Online (Sandbox Code Playgroud)

预期产量应为:

true
Run Code Online (Sandbox Code Playgroud)

我该怎么办?或者还有其他方法可以获得预期的输出吗?

java printf boolean

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

制作JFrame和Observable对象

我有一个类,比方说MyJFrame我代表我的应用程序的GUI.它实现了接口Observer并覆盖了该方法update.

public class MyJFrame extends JFrame implements Observer{
  ...
  public void update(Observable arg0, Object arg1){
     ...
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我想让我的JFram成为一个Observable对象,但我不能,因为它已经扩展了类JFrame.我试图在我的类中创建一个Observable类型的变量.

public class MyJFrame extends JFrame implements Observer{
  Observable observable = new Observable();
Run Code Online (Sandbox Code Playgroud)

这里的问题是我可以将Observer添加到这个可观察字段,我也可以通知观察者但是我不能调用该方法setChanghed()(因为它被声明为protected),必须在通知之前调用它.

你对我能实现它有什么想法吗?

谢谢!!

java swing observable observer-pattern

7
推荐指数
2
解决办法
6058
查看次数

如何在开头拆分带有空格字符的字符串?

快速举例:

public class Test {
    public static void main(String[] args) {
        String str = "   a b";
        String[] arr = str.split("\\s+");
        for (String s : arr)
            System.out.println(s);
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望数组arr包含2个元素:"a"和"b",但结果中有3个元素:""(空字符串),"a"和"b".我该怎么做才能做到正确?

java regex string split

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

JDialog的动作监听器,用于单击按钮

我有主要的应用程序在哪里是值与表.然后,我点击"添加"按钮,新的CUSTOM(我自己制作)JDialog类型弹出窗口出现.在那里我可以输入值,做一些滴答并点击"确认".所以我需要从对话框中读取该输入,因此我可以将此值添加到主应用程序中的表中.当按下"确认"按钮时我该怎么听,所以我可以在那之后读取该值?

addISDialog = new AddISDialog();
addISDialog.setVisible(true);
addISDialog.setLocationRelativeTo(null);
//somekind of listener...
//after "Confirm" button in dialog was pressed, get value
value = addISDialog.ISName;
Run Code Online (Sandbox Code Playgroud)

java swing jdialog jbutton actionlistener

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

Java Swing图形故障?

故障的图像
在此输入图像描述

我通过从教科书中复制示例来学习Java,一旦我使用GUI类,我就遇到了一些奇怪的故障,如果这是正确的术语.正如您在图像上看到的那样,部分文本丢失了.

生成此对话框的代码也不复杂:

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import javax.swing.Timer;

public class InnerClassTest {
    public static void main(String[] args) {
        TalkingClock clock = new TalkingClock(1000, true);
        clock.start();

        // keep program running until user selects "OK"
        JOptionPane.showMessageDialog(null, "Quit program?");
        System.exit(0);
    }
}

class TalkingClock {
    /*
     * COnstructs a talking clock
     * @param interval the interval between messages (in milliseconds)
     * @param beep true if the clock should beep
    */
    public TalkingClock(int interval, boolean beep) {
        this.interval = …
Run Code Online (Sandbox Code Playgroud)

java graphics user-interface swing visual-glitch

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

JFileChooser.showSaveDialog()没有显示出来

我正在使用Eclipse IDE,我正试图showSaveDialog(null)从另一个方法调用,而这个方法又是从main调用的,但是当我调用它时没有任何反应.

主要:

public static void main(String[] args) {
    Main main = new Main();
    main.pt = main.new PlayThread();
    main.generateSound(getSamples(2), 500);
    main.play(main.sound, 1);
    if(new Scanner(System.in).nextLine().equals("save")){
        System.out.println(main.save());
    }
}
Run Code Online (Sandbox Code Playgroud)

调用之前的所有代码都main.save()可以正常工作,并且main.save()像这样开始:

public boolean save(){
    System.out.println("Calling save");
    try{
    String saveName = getSaveTo("C:/");
    System.out.println("I'm here now");
Run Code Online (Sandbox Code Playgroud)

虽然getSaveTo()看起来像:

public String getSaveTo(String def){
    JFileChooser chooser = new JFileChooser();
    System.out.println("Save called");
    //chooser.setCurrentDirectory(new File(def));
    int resp = chooser.showSaveDialog(null);
    if(resp == JFileChooser.APPROVE_OPTION){
        return chooser.getSelectedFile() + ".wav";
    }else return null;
}
Run Code Online (Sandbox Code Playgroud)

在执行前几个函数后main …

java file-io swing jfilechooser file

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

在JFrame之间传递值

我有两个Jframe,其中frame1有一些文本字段,当点击frame1上的一个按钮时,我打开另一个JFrame,其中包含一个搜索框和一个包含搜索结果的JTable.

当我在JTable上单击结果行时,我希望特定值反映在frame1文本字段中.

我尝试将JFrame1的对象作为参数传递,但我对如何实现这一点并不清楚.任何帮助将受到高度赞赏.谢谢

java swing jframe

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