小编kle*_*tra的帖子

Netbeans中的JTable右键单击弹出菜单

我想在NetBeans IDE中向JTable添加一个右键单击弹出菜单(看起来像一个简单的任务...大声笑)

我得到了部分工作

  1. 在表单中添加弹出菜单
  2. 将菜单项添加到弹出菜单
  3. 去找JTable的特色
  4. 单击绑定选项卡
  5. 将ComponentPopupMenu值设置为我的弹出菜单

但这只是部分有效.现在,当我右键单击Table时,弹出菜单,但JTable中的选定行不会改变.因此,当调用menuitem的actionPerformed时,我不知道JTable中的哪一行被点击了.

我怎么能得到这个?或者在netbeans中有更简单的方法吗?

我知道还有其他方法(在代码中),但我更喜欢使用netbeans GUI builder.

有没有人曾经这样做过?

谢谢你的帮助!

java netbeans netbeans6.8

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

像JTable单元格编辑器一样使用JSpinner

我正在使用JSpinner像表格单元格编辑器,我有一个恼人的问题:

单元格保持不可编辑模式,直到我点击它,因为不可编辑我的意思是我无法写入它(它没有焦点因此它不接受输入键盘)但我可以改变值 - 向下箭头(键盘).

那么,当我选择一个按键时,我必须做什么来集中我的表格?

除了那个问题,我的SpinnerEditor类运行得很好.

谢谢大家.

java swing focus jspinner tablecelleditor

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

在大量的jTextField中选择所有焦点

我的应用程序中有很多jTextFields(大约34个jTextFields),我希望所有这些文本在获得焦点时选择所有文本,并且在焦点丢失时不选择任何文本.
有没有办法用一个监听器做这个或者我应该为这34个jTextField中的每一个写一个"FocusGained"和一个"FocusLost"?

谢谢

java swing focus selectall jtextfield

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

JTextField/JTextComponent中的选择有限?

考虑一个JFormattedTextField(或任何真正的JTextComponent),其中有一个前缀和一个后缀显示在该字段的实际"文本"周围.

例如,double 3.5将是字符串(通过格式化)"3.50",其前面是前缀"$",后缀"",显示文本为"$ 3.50".

显然,这很容易做到.但是,仍允许用户选择前缀/后缀中的文本,因此可以想象删除部分或全部前缀/后缀.我希望限制用户,使得根本不能选择前缀/后缀(仍然是文本字段的一部分,因此没有JLabel).我几乎可以使用CaretListener(或通过覆盖setCaretPosition/moveCaretPosition)来完成此操作,这会阻止Ca选择整个字段,并且它会阻止使用箭头键移动到前缀/后缀中.但是,鼠标拖动和移位箭头键仍允许选择移动到这些受限区域.

有任何想法吗?

java swing text selection restrict

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

菜单上的java动作监听器,而不是菜单项

我需要启蒙.

如何添加动作actionListener事件绑定到菜单,而不绑定到菜单ITEM这里是演示代码,有效(在menuITEM上)..

menuFileItem.addActionListener(
            new ActionListener(){
                public void actionPerformed(ActionEvent e)
                {
                    System.out.println("It works");
                }
            }
        );
Run Code Online (Sandbox Code Playgroud)

但是当我尝试相同的,但只是在菜单本身它不起作用!

menuFile.addActionListener(
            new ActionListener(){
                public void actionPerformed(ActionEvent e)
                {
                    System.out.println("Plz work... :( ");
                }
            }
        );
Run Code Online (Sandbox Code Playgroud)

可以将监听器添加到菜单中吗?我教过听众可以添加到一切.

java swing menu onclick actionlistener

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

Java SNMP4J Trap应用程序正在冻结GUI

我在Java中有一个SNMP陷阱应用程序,旨在侦听SNMP代理并在JFrame窗口中的JTextArea上打印接收到的SNMP消息.

下面的第一部分是我的源代码,显示了TrapReceiver类的内容.在这个类中,listen方法是充分利用工作的地方.该类在JFrame类中进行实例化,我打算在上面提到的JTeaxtArea上显示消息.我将JTextArea对象的引用,SNMP代理URL和端口发送到TrapReceiver类的构造函数中,然后调用TrapReceiver对象的run方法以在JFrame实例以外的单独线程中开始执行.下面的第二部分展示了我如何在JFrame实例中实例化TrapReeceiver类.

当我运行应用程序时,我注意到JFrame实例(即GUI)正在冻结,并且没有在JFrame实例中提到的JTeaxtArea上打印消息,该实例实例化下面第一部分中所示的类TrapReeceiver.

我的问题是为什么JFrame实例(即GUI)是冻结的,尽管TRapReceiver本身是作为一个单独的线程执行的?此外,我想知道这个冻结问题的可能解决方案是什么.提前致谢.

PS:我已经验证了TrapReceiver工作正常并且可以在没有GUI的情况下作为独立应用程序运行时将消息打印到标准输出,但是由于某些可能的线程同步问题,这个GUI正在以某种方式冻结.我尝试运行TrapReceiver而不用线程,即使在这种情况下,GUI仍然处于冻结状态.

第一部分

 package com.[Intenionally removed].snmp;

 import java.io.IOException;
 import javax.swing.JTextArea;
 import org.snmp4j.*;
 import org.snmp4j.mp.MPv1;
 import org.snmp4j.mp.MPv2c;
 import org.snmp4j.security.Priv3DES;
 import org.snmp4j.security.SecurityProtocols;
 import org.snmp4j.smi.OctetString;
 import org.snmp4j.smi.TcpAddress;
 import org.snmp4j.smi.TransportIpAddress;
 import org.snmp4j.smi.UdpAddress;
 import org.snmp4j.transport.AbstractTransportMapping;
 import org.snmp4j.transport.DefaultTcpTransportMapping;
 import org.snmp4j.transport.DefaultUdpTransportMapping;
 import org.snmp4j.util.MultiThreadedMessageDispatcher;
 import org.snmp4j.util.ThreadPool;

 public class TrapReceiver implements CommandResponder, Runnable {

   private String targetSnmpAgentURL;
   private int targetSnmpAgentPort;
   private JTextArea outConsole;

   public TrapReceiver() {
   } 

   public TrapReceiver(JTextArea outConsole) {
       this.outConsole = outConsole;
   }


   public TrapReceiver(JTextArea outConsole, String targetSnmpAgentURL, int  targetSnmpAgentPort) {
       this.targetSnmpAgentURL = targetSnmpAgentURL; …
Run Code Online (Sandbox Code Playgroud)

java swing multithreading jframe snmp4j

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

java.lang.NumberFormatException:对于输入字符串:"20,475.00"

我想要获得我的系统的运行平衡.为此,我从列AMOUNT获取jtable中所有数字的总和,并将总和减去txtLoanAmount中的值.这是我的代码片段:

String LoanAmount = txtLoanAmount.getText();
float f = Float.valueOf(LoanAmount.trim()).floatValue();
float balance = 0; 
float sum = 0;

for(int i=0;i<=tableLedger.getRowCount()-1;i++) {
    sum = sum + Float.parseFloat(tableLedger.getModel().getValueAt(i, 2).toString());
}
balance = f - sum;
System.out.println(balance);
Run Code Online (Sandbox Code Playgroud)

现在我收到错误消息:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "20,475.00"
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?任何帮助将不胜感激.谢谢

java numberformatter

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

如何取消正在运行的任务并将其替换为同一线程上的新任务?

我想取消正在运行的任务并将其替换为同一线程上的新任务。

在下面的代码中,我使用了一个单线程执行器来启动一个新任务并捕获一个Future代表它的。然后我用Future取消了任务。但是,任务并没有取消。

  1. 为什么我的代码不起作用?
  2. 如何取消正在运行的任务并将其替换为同一线程上的新任务?

示例代码:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.concurrent.Executors;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

class Task implements Runnable {
    public void run() {
        System.out.println("New task started");
        int i = 0; while (true) i++;
    }
}

public class TaskLauncher extends JFrame {
    private JButton button = new JButton("Start new task");
    private ExecutorService executor = Executors.newSingleThreadExecutor();
    private Future<?> future;

    public TaskLauncher() {
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event) …
Run Code Online (Sandbox Code Playgroud)

java concurrency swing

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

Jtable更新选定的行

我有一个jtable有一个编辑按钮,当我选择一行并单击编辑按钮和编辑字段,然后单击保存按钮,该行不更新,我必须刷新我的表以更改该行!

我的代码:

        if (e.getSource() == editButton) {
        selectedRow = uTable.getSelectedRow();
        if (selectedRow >= 0) {
            editUser(selectedRow);
        } else {
            JOptionPane.showMessageDialog(null, "Select a row");
        }
    }

    public void editUser(int row) {
    UserInformation userInf = userModel.getSelectedMember(row);
    NewUserFrame_Edit edit = new NewUserFrame_Edit(userInf, row);
}

...
Run Code Online (Sandbox Code Playgroud)

我的NewUserFrame_Edit类:

public class NewUserFrame_Edit extends javax.swing.JFrame {

private AllUser userModel;
private int selectedrow;
private String gender;

public NewUserFrame_Edit(AllUser userModel,UserInformation userinf, int row) {
...
this.userModel = userModel;
    jTextField1.setText(userinf.getFname().toString().trim());
    jTextField2.setText(userinf.getLname().toString().trim());

    if (userinf.getGender().equals("Male")) {
        jRadioButton1.setSelected(true);
    } else {
        jRadioButton2.setSelected(true);
    } …
Run Code Online (Sandbox Code Playgroud)

java swing jtable

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

如何在 JavaFX 中创建具有垂直/列标题的表格

有没有办法创建带有垂直标题的表格视图?我在 javafx 中没有看到任何选项可以执行此操作。

javafx

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