小编Car*_*ndo的帖子

Java Swing JTable; 右键单击菜单(如何将其设为"选择"并突出显示该行)

简短:我需要一个"右键单击事件"来突出显示单元格行.

我在Java Swing(Netbeans Matisse)的ScrollPane中使用JTable.我在JTable上有一个MouseClicked事件监听器,它执行以下操作:

if (evt.getButton() == java.awt.event.MouseEvent.BUTTON3) {
          System.out.println("Right Click");
          JPopUpMenu.show(myJTable, evt.getX(), evt.getY())
}
Run Code Online (Sandbox Code Playgroud)

问题是......每当我在JTable上执行右键单击时,行都不会突出显示(我将选择设置为行仅btw).我找了几个setSelected()函数但找不到合适的函数.默认情况下,左键单击会自动突出显示该行.如何设置右键点击?

java swing jtable right-click

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

C++动态启用/禁用std :: couts的调试消息

有没有办法在程序内部使用std :: cout定义/取消定义调试消息?

我知道有像#define,#ifnf这样的东西,但我在想是否有更简洁的方法让变量说:

# debug ON
Run Code Online (Sandbox Code Playgroud)

这将打印我的所有调试数据(使用std :: cout).因此,我们将使用这样的代码进行调试:

#ifndef DEBUG
// do something useful
#endif
Run Code Online (Sandbox Code Playgroud)

当你编写100个调试代码时,我发现上面的代码很麻烦.

谢谢!

卡罗

c++ debugging

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

C/C++可以通过查询类来获取实例成员的"列表"吗?

假设我们在C++中有一个结构:

struct foobar
{
      int age; 
      bool hot;
      String name
};
Run Code Online (Sandbox Code Playgroud)

有没有办法以编程方式查询上面的结构来提取其实例成员?例如:

String[] members = magicClass.getInstanceMembers(foobar);
Run Code Online (Sandbox Code Playgroud)

成员会有["age", "hot", "name"]它的价值观.

可能?我问的原因是因为我的结构随着时间的推移发生了变化(添加/删除了变量).我希望能够使用此保存的数据创建自动生成Lua文件.

谢谢

c c++ instance-variables

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

使用等于运算符==在C中比较两个字符串的相等性

int main (int argc, **argv)
{
       if (argv[1] == "-hello")
            printf("True\n");
       else
            printf("False\n");
}
Run Code Online (Sandbox Code Playgroud)
# ./myProg -hello
False

为什么?我意识到strcmp(argv[1], "-hello") == 0返回true ...但为什么我不能使用相等运算符来比较两个C字符串?

c string pointers equality equality-operator

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

Python - 何时可以使用os.system()发出常见的Linux命令

从另一个线程转移,何时使用os.system()发出rm -rf,cd,make,xterm,ls等命令是否合适?

考虑到上述命令的模拟版本(make和xterm除外),我假设使用这些内置python命令而不是使用os.system()更安全

有什么想法吗?我很乐意听到他们的声音.

python linux centos

11
推荐指数
2
解决办法
2461
查看次数

Java JNI - 是否可以使用C++在Java中设置单独的原始数组元素

基本上,我一直在执行以下操作来检索Java实例字段(在本例中为int)并将其设置为新值,如下所示:

jclass cls = env->GetObjectClass(obj);
jfieldID fid = env->GetFieldID(cls, "myVariable", "I");
env->SetIntField(obj, fid, (jint)2012);
Run Code Online (Sandbox Code Playgroud)

但是,我想为java int数组中的单个int元素执行此操作,以便:

jclass cls = env->GetObjectClass(obj);
jfieldID fid = env->GetFieldID(cls, "myVariableArray", "[I");
PSUDOCODE: <"SET myVariableArray[0] = 2013" ... Is there a method for this?>
Run Code Online (Sandbox Code Playgroud)

有这样的事吗?

java java-native-interface

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

Java Swing; 如何使程序在屏幕的最右边开始?

默认情况下,我的Swing程序从显示器的左上角开始.有没有办法让它突然出现在右侧?

那么双显示器呢?我可以让它在正确的显示器上弹出吗?

谢谢.

卡罗

java swing

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

Swing Worker线程不并发

似乎当我实例化12个Swing Worker线程时,前六个开始完成它的任务,它完成AND然后最后六个开始并完成.我正在寻找的行为是所有12个线程同时开始工作并同时完成.

我有以下内容:

for (int i = 0; i < 12; i++ )
{
        myTask m = new Mytask(i, START);
        m.execute();
}
Run Code Online (Sandbox Code Playgroud)

myTask m将以0到100递增一个进度条,增量为25.我发现前六个线程开始递增的异常行为,它们以100结束,然后最后六个线程从0开始递增,然后结束.

是否存在可能具有的Swing Worker线程数量的限制因素?

java swing swingworker

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

instanceof与多态

我遇到了instanceof运营商的麻烦.我试图避免它.基本上,我有以下结构:

class Shape {}
class Triangle extends Shape {}
class Rectangle extends Shape {}

ShapeParser s;
while (s.hasNext())
     parseShape(s.next()); // returns a Shape object

void parseShape(Triangle t) { // do stuff } // KEY POINT HERE
void parseShape(Rectangle t) { // etc }
Run Code Online (Sandbox Code Playgroud)

我正在做的关键点是:我想要对函数执行参数重载,但是它不能正常工作(编译错误).我试图避免:

void parseShape(Shape s)
{
     if (s instanceof Triangle) ...
}
Run Code Online (Sandbox Code Playgroud)

更新:似乎共识是创建一个基类方法:parseShape()来完成提升.我想澄清一下我的问题:这个问题的动机是与观察者模式有关.假设我有以下Observer对象有效负载方法:

    public void update(Observable obj, Shape objectPayload){} 
// note: the objectPayload is usually of type Object
Run Code Online (Sandbox Code Playgroud)

而不是执行:

public void update(Observable obj, Shape objectPayload)
{ …
Run Code Online (Sandbox Code Playgroud)

java polymorphism

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

优化内存读取和写入的长时间运行

我有一个名为reorder.cc的源文件,如下所示:

void reorder(float *output, float *input) {
  output[56] = input[0];
  output[57] = input[1];
  output[58] = input[2];
  output[59] = input[3];
  output[60] = input[4];
  ...
  output[75] = input[19];
  output[76] = input[20];
  output[77] = input[21];
  output[78] = input[22];
  output[79] = input[23];
  output[80] = input[24];
  ...
  output[98] = 0;
  output[99] = 0;
  output[100] = 0;
  output[101] = 0;
  output[102] = 0;
  output[103] = 0;
  output[104] = 0;
  output[105] = input[1];
  output[106] = input[2];
  output[107] = input[3];
  output[108] = input[4];
  output[109] = input[5];
  output[110] = …
Run Code Online (Sandbox Code Playgroud)

c++ memory assembly compiler-optimization

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