因此,我正在尝试使用 Netbeans 中的 Java 拖放功能制作一种信使类应用程序。 我对此很陌生。我最初想从文本区域获取一个字符串并将其显示在另一个面板的 JLabel 中。我尝试在以下过程中执行此操作,但没有成功。有人可以帮忙吗?
private void sendButtonActionPerformed(java.awt.event.ActionEvent evt) {
int i=0;
message = messageType.getText();
JLabel messageLabel = new JLabel();
messageLabel.setText(message);
messageLabel.setSize(100, 100);
messageLabel.setAlignmentX(0);
messageLabel.setAlignmentY(0);
JOptionPane.showMessageDialog(null, message);
clientPanel.add(messageLabel);
messageLabel.setVisible(true);
}
最佳答案
我们不知道 clientPanel 使用的是什么布局管理器,因此不知道它接受 JLabel 放入其中的能力如何,所以你直接的问题是无法回答的,除了说你应该总是调用 revalidate()
在容器 (clientPanel) 上,然后是 repaint()
添加或删除组件后,容器会重新布局其组件,然后重新绘制它们。
我建议不要为此创建新的 JLabel。从一开始就设置 GUI(包括所有必要的 JLabel)要容易得多,如果需要,给它们文本、空格,然后在程序中设置现有 JLabel 的文本。
另一方面,如果您希望在 cientPanel 上显示多条消息,请考虑使用 JList<String>
或不可聚焦的 JTextArea。
关于java - 使用 Java 为某种信使应用程序创建动态 JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47797643/