我有一个复选框,当用户选择它时,应生成一个带有更多信息的对话框,并在用户做出反应时做一些事情.我的代码基本上看起来像这样:
private void onItemStateChanged(java.awt.event.ItemEvent evt) {
System.out.println("STATE CHANGED!");//TODO debug code
if (evt.getStateChange() == ItemEvent.SELECTED) {
int returnVal = JOptionPane.showConfirmDialog(this, "blablatext");
if (returnVal == JOptionPane.OK_OPTION) {
this.field1TF.setText("");
this.field1TF.setEditable(false);
this.field2TF.setText("");
this.filed2TF.setEditable(false);
}else if(returnVal == JOptionPane.NO_OPTION){
this.field1TF.setText("");
this.field1TF.setEditable(false);
this.field2TF.setText("");
this.field2TF.setEditable(false);
}
} else if(evt.getStateChange() == ItemEvent.DESELECTED){
this.field1TF.setEditable(true);
this.field2TF.setEditable(true);
}
}
Run Code Online (Sandbox Code Playgroud)
我现在的问题是,当我点击它时,我的复选框会一直改变状态两次.它以某种方式与JOptionPane.showConfirmDialog有关,因为如果我对它进行评论,它就会按预期工作.我不知道我应该关心的一些简单的事情,或者我需要做些什么才能得到我想要的反应?(用户点击复选框 - >被问到一个问题 - >选择是/否/取消 - >程序相应地行动)
我正在尝试将 Vuejs 与Vue-Socket.io 插件一起使用,并且对在组件之间传递套接字的正确方法有疑问。
理想情况下,我想在整个应用程序中仅使用一个套接字,因此我想在根实例中实例化该套接字,然后将其传递给需要它作为“prop”的组件。这是正确的做法吗?
如果是这样,我做错了什么?我收到的错误是TypeError: this.socket.emit is not a function
我可能没有正确传递套接字对象。
使用socket的组件有以下脚本
<script>
export default {
name: 'top',
props: ['socket'],
data () {
return {
Title: 'My Title'
}
},
methods: {
button_click: function (val) {
// This should emit something to the socketio server
console.log('clicking a button')
this.socket.emit('vuejs_inc', val)
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
我在根组件中的初始化如下所示:
import Vue from 'vue'
import VueSocketio from 'vue-socket.io'
import App from './App'
import router from './router'
Vue.use(VueSocketio, 'http://127.0.0.1:5000')
Vue.config.productionTip = false …
Run Code Online (Sandbox Code Playgroud) 我有一个Latex文档,我希望$ .. $
用适当的乳胶等效替换所有mathmode标签\( .. \)
.
我已经使用了这个正则表达式:%s/\$\(.\+\)\$/\\(\1\\)/gc
但是当然这很简单,我在一行中有超过1个tagpair,即
This is an example: $ 1+2=3 $ and $4+5=9$
Run Code Online (Sandbox Code Playgroud)
什么是解决这个问题的简单方法?我尝试在我的捕获组中使用这样的集合:\([^\$]\)
但这不匹配.
编辑:原因\([^\$]\)
不匹配是因为我错过了添加量词如下:\([^\$]\+\)
.这也将起作用,因为接受的答案下的评论显示.
architecture ×1
java ×1
javascript ×1
jcheckbox ×1
joptionpane ×1
regex ×1
swing ×1
vim ×1
vuejs2 ×1