java - 使用 Java 为某种信使应用程序创建动态 JLabel

标签 java swing drag-and-drop

因此,我正在尝试使用 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/

相关文章:

java - JTabbedPane - 带有关闭按钮引用的选项卡

ios - Collection View 拖放延迟

java - 用最少的字符表示长

java - 在 JAVAFX TableView 中设置值 - 对象与另一个对象

java - PushBackInputStream和DataInputStream,如何推回一个double?

java - 如何创建一个包含两个图像的 JPanel,其中鼠标悬停时仅显示下面图像的一部分?

java - 如何将水平滚动条锚定到 JScrollPane 的顶部

java - 从 Java 拖放至 Windows 资源管理器

javascript - 拖放在 Firefox 中不起作用

c# - "Double-Checked Locking is Broken"是仅限 Java 的东西吗?