【问题标题】:How to get component name in swing?如何在swing中获取组件名称?
【发布时间】:2015-04-20 04:13:48
【问题描述】:

我想获取面板上的组件名称,并添加以下代码:

package mvc.view;

import mvc.DAO.MusBandDAO;
import mvc.DAO.MusBandDAOImpl;
import mvc.model.MusBand;

import javax.swing.*;
import javax.swing.border.BevelBorder;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Vector;

public class SecondView extends JFrame {
JPanel bot = new JPanel();

public SecondView() {
    setTitle("Test");
    setSize(900, 600);
    setResizable(false);
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    bot.setName("bot");
    bot.setLayout(new BorderLayout());

    JTextArea textArea = new JTextArea();
    textArea.setName("groupList");
    JTextArea textArea1 = new JTextArea();
    textArea.setName("groupList1");
    JTextArea textArea2 = new JTextArea();
    textArea.setName("groupList2");

    JPanel panela=new JPanel();
    panela.add(textArea);
    panela.add(textArea1);
    panela.add(textArea2);
    getContentPane().add(panela);

    Component[] components = panela.getComponents();
    for (int i = 0; i < components.length; i++)
            System.out.println(">> "  + components[i].getName());
}
}

但是不行,直接在控制台下写:

>>0 groupList2

>>1 个空

>>2 null 最后添加的元素的名称是 true,但对于其他只是 null.. 什么问题? 谢谢

【问题讨论】:

  • 为了尽快获得更好的帮助,请发布MCVE(最小完整可验证示例)或SSCCE(简短、自包含、正确示例)。发布 MCVE 需要做的第一件事是删除非 J2SE 导入/依赖项。然后添加一个main(String[]),这样我们就可以在屏幕上看到它了。
  • 顺便说一句 - public class SecondView extends JFrame {public class FirstView extends JFrame { 吗?见The Use of Multiple JFrames, Good/Bad Practice?

标签: java swing components panel


【解决方案1】:

您仅为textArea 设置名称。对于所有三个组件,您使用相同的语句:textArea.setName("groupList"); 将其更改为:

JTextArea textArea = new JTextArea();
textArea.setName("groupList");
JTextArea textArea1 = new JTextArea();
textArea1.setName("groupList1");
JTextArea textArea2 = new JTextArea();
textArea2.setName("groupList2");

【讨论】:

    猜你喜欢
    • 2011-06-24
    • 2014-03-17
    • 1970-01-01
    • 2017-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多