JAVA Applet问题:关于点击按钮d出JDialog的鼠标焦点问题

JAVA Applet问题:关于点击按钮d出JDialog的鼠标焦点问题,第1张

是选择模式么:

可以尝试设置下 setSelectionMode(ListSelectionModelSINGLE_SELECTION);

多行选中可以去修改ListSelectionModel的值~

如果是要编辑的话。。

需要自定义一个继承于DefaultTableModel的类

类似如下:

class MyJTableModel extends DefaultTableModel {

private boolean isCanEditOrNot = false;

public MyJTableModel(Object[][] data, Object[] columnNames) {

setDataVector(data, columnNames);

}

@Override

public boolean isCellEditable(int row, int column) {

return isCanEditOrNot;

}

public void setedit_not() {

isCanEditOrNot = false;

}

public void setedit_can() {

isCanEditOrNot = true;

}

}

然后在d出框的这个JDialog上调用MyJTableModel的对象的 setedit_can() 的方法 ~

这样设置就可以选择可以编辑了哈~

呵呵,我来帮你解决问题吧,其实非常非常简单,是不是有些粗心了?注意public void painComponent(Graphics g) 这句话 这个方法名字你打错了,自然不会执行了,不执行自然就不会画这个渐变的圆了,正确写法:public void paintComponent(Graphics g)即可搞定

artintin说的对的,你点击了按钮之后,你会看到文字周围有一个小框,那叫焦点框,此时按钮是被选中的,你如果敲空格,就相当于你用鼠标点击了按钮,所以你如果要使frame监听有效,必须把焦点集中在frame身上,而不是按钮,按下tab键,按钮上的焦点框会消失,此时是选中frame,你再按一下键盘,会输出dsaf的。

但是这样做,貌似有点麻烦,或者不到位,你可以尝试着加入一句button1setFocusable(false);

按钮点击是有效的,但是不能获得焦点,你每次点击之后,相当于获得焦点之后又立马释放了,这时程序应该稍微好一点。

不过从这个语句来看,他是完全设置这个组件不能获取焦点,貌似也有不好的地方,你应该查资料试着暂时释放它的焦点,而不是永久的阻止它获得焦点。

以上就是关于JAVA Applet问题:关于点击按钮d出JDialog的鼠标焦点问题全部的内容,包括:JAVA Applet问题:关于点击按钮d出JDialog的鼠标焦点问题、关于JAVA的JFrame和JPanel的问题,程序运行后,JPanel 无法显示. 代码如下:、java监听问题,为什么监听失效了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9536930.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存