仅当我点击另一个控件时,MessageText属性才会更新.更重要的是,如果我按下任何按钮,它的Click处理程序不会执行,而是执行MessageText集.我打破了我的头脑.
<TextBox x:Name="messageText" Grid.Row="1" Grid.Column="0"
TextWrapping="Wrap" Text="{Binding Path=MessageText, Mode=TwoWay}"/>
Run Code Online (Sandbox Code Playgroud)
private void ChatView_Loaded(object sender, RoutedEventArgs e)
{
DataContext = viewModel;
}
Run Code Online (Sandbox Code Playgroud)
public string MessageText
{
get
{
return this.messageText;
}
set
{
this.messageText = value;
OnProperyChanged("MessageText");
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个问题.
public class Jaba {
public static void main(String args[]) {
Integer i = new Integer(0);
new A(i);
System.out.println(i);
new B(i);
System.out.println(i);
int ii = 0;
new A(ii);
System.out.println(ii);
new B(ii);
System.out.println(ii);
}
}
class A {
public A(Integer i) { ++i; }
}
class B {
public B(int i) { ++i; }
}
Run Code Online (Sandbox Code Playgroud)
在我看来,将int\Integer作为Integer传递给函数并在该引用上生成++应该更改底层对象,但在所有情况下输出都是0.这是为什么?
我正在开发一个解决方案,我有一个使用WCF DataService的WPF项目,该项目位于另一个ASP .NET项目中以访问数据.
我需要提供一定程度的安全性,以确保只有经过身份验证的用户才能访问该服务.在网上冲浪后,我试图完成这一切.实现它的正确方法是什么?
假设我有一堂课
class Key {
public boolean equals(Object o) {
Key k = (Key)o;
return i == k.i;
}
private int i;
}
Run Code Online (Sandbox Code Playgroud)
我想知道为什么在equals方法中我没有得到关于访问ki的错误,因为它是私有的?
我正在尝试为我的JTextArea设置documentFilter.重写insert(...)方法后,我承认它永远不会被调用.怎么了?一段代码:
package jaba;
import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
public class Main extends JFrame {
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(640, 480);
setLayout(new FlowLayout());
add(txt);
Document doc = txt.getDocument();
if (doc instanceof AbstractDocument) {
((AbstractDocument)doc).setDocumentFilter(new DocumentFilter() {
@Override
public void insertString(DocumentFilter.FilterBypass fb,
int offset, String string, AttributeSet att)
throws BadLocationException {
if (string.toLowerCase().contains("ass")) {
super.insertString(fb, offset, "###", att);
} else {
super.insertString(fb, offset, string, att);
}
}
});
} else {
txt.setText("error setting filter");
}
}
public static void main(String[] args) …Run Code Online (Sandbox Code Playgroud) 我遇到了一个问题.我的图像太大,所以它扩大了相应的JMenuItem.我不想开发自行车
ImageIcon image = new ImageIcon(new ImageIcon("/home/template/img.jpg")
.getImage().getScaledInstance(32, 32, Image.SCALE_DEFAULT));
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以实现吗?
我使用 netbeans 从 JavaFX 教程创建了一个简单的应用程序,它可以工作。但是当我打开 html 文件时,它说我需要安装 JavaFX 才能查看页面的内容,尽管它已经安装了,这可以通过从建议的链接下载 JavaFX 并尝试再次安装来证明:它写道“已安装相同版本的 JavaFX”。有什么问题?
Object[] objs = new Object[5];
for (int i = 0; i < 5; ++i) {
int j = i + 1;
Object obj = objs[i];
}
Run Code Online (Sandbox Code Playgroud)
我对上面的循环有两个问题:
j变量和obj引用,还是只创建一次然后只重新分配值?++i而不是i++作为单个指令来增加值?使用 Qt 编写聊天。有问题。我客户端的 QTcpSocket 保持连接状态,但服务器发出 newConnection() 信号。不需要网络会话。这是为什么?这是一些代码:
ChatClient::ChatClient(QObject *parent)
: QObject(parent) {
tcpSocket = new QTcpSocket(this);
QNetworkConfigurationManager manager;
if (QNetworkConfigurationManager::NetworkSessionRequired
& manager.capabilities()) {
qDebug() << "Network session required";
}
connect(tcpSocket, SIGNAL(error(QAbstractSocket::SocketError)),
this, SLOT(error(QAbstractSocket::SocketError)));
connect(tcpSocket, SIGNAL(connected()),
this, SLOT(requestForID()));
connect(tcpSocket, SIGNAL(readyRead()),
this, SLOT(receiveMessage()));
tcpSocket->connectToHost("192.168.0.100", PORT);
}
void ChatClient::requestForID() {
qDebug() << "Connected, requesting for ID";
QByteArray segment;
QDataStream out(&segment, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_7);
out << (quint16)0 << ID;
out.device()->seek(0);
out << (quint16)(segment.size() - sizeof(quint16));
tcpSocket->write(segment);
}
Run Code Online (Sandbox Code Playgroud)
requestForID() 永远不会被执行
ChatServer::ChatServer(QObject *parent)
: QObject(parent) {
tcpServer …Run Code Online (Sandbox Code Playgroud) 以下代码虽然看起来很正确但不起作用:
import java.util.*;
public class Jaba {
public static void main(String args[]) {
Random rand = new Random();
int[] array = new int[10];
for (int i = 0; i < array.length; ++i) {
array[i] = rand.nextInt(30);
}
Queue<Integer> que = new PriorityQueue<Integer>();
Collections.addAll(que, Arrays.asList(array));
}
}
Run Code Online (Sandbox Code Playgroud)
应该修复什么?
java ×6
swing ×2
wpf ×2
c# ×1
data-binding ×1
dataservice ×1
document ×1
for-loop ×1
javafx ×1
jtextarea ×1
qt ×1
qtcpsocket ×1
wcf ×1
xaml ×1