java – 以一种不那么冗余的方式创建多个Jlabel和JTextField?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 以一种不那么冗余的方式创建多个Jlabel和JTextField?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3052字,纯文字阅读大概需要5分钟。
内容图文
任何熟悉java Gui – swing包的人……并且知道如何在某种循环中创建多个摆动对象,如“jlabels和jtextfields”,这样你就不必分别对它们进行冗余设置了吗? …任何人???
例如 – 我必须创建60个Textfields和11个Jlabels等.
我想(如果可能的话)不必像这样单独创建每一个
JLabel jlblName = new JLabel("first one");
JLabel jlblName = new JLabel("first two");
JLabel jlblName = new JLabel("first three");
//etc...
如果可能的话,我想找到一种方法来设置边界,并以更短的方式将标签添加到面板.
我已经尝试了不同的方法来实现这一点 – 使用数组和创建get方法,但仍然没有运气.___.
如果可以,请你帮助我
下面是我到目前为止写的一个例子……但即使它确实有效,它似乎对于serval原因也不实用.
..我也不确定为什么它不起作用.
public class prospectVer2
{
private static int l = 59; //, t = 20, c=11;
public static String getInfo(int b)
{
int a=b;
String [] lah = new String [prospectVer2.l];
lah [0]= "a";
lah [1]= "b";
lah [2]= "c";
lah [3]= "d";
lah [4]= "e";
lah [5]= "f";
lah [6]= "g";
lah [7]= "e";
lah [8]= "f";
lah [9]= "g";
lah [10]= "h";
lah [11]= "i";
lah [12]= "j";
lah [13]= "k";
lah [14]= "l";
lah [15]= "m";
lah [16]= "n";
lah [17]= "o";
lah [18]= "p";
lah [19]= "q";
lah [21]= "r";
lah [22]= "s";
lah [23]= "t";
lah [24]= "u";
lah [25]= "v";
lah [26]= "w";
lah [27]= "x";
lah [28]= "y";
lah [29]= "z";
lah [30]= "aa";
lah [31]= "bb";
lah [32]= "cc ";
lah [33]= " dd";
lah [34]= " ee";
lah [35]= " ff ";
lah [36]= " gg ";
lah [37]= " hh ";
lah [38]= " ii ";
lah [39]= "jj";
lah [40]= "kk";
lah [41]= "ll";
lah [42]= "mm";
lah [43]= "nn";
lah [44]= "oo";
lah [45]= "pp";
lah [46]= "qq";
lah [47]= "rr";
lah [48]= "ss";
lah [49]= "tt";
lah [50]= "uu";
lah [51]= "vv";
lah [52]= "ww";
lah [53]= "xx";
lah [54]= "yy";
lah [55]= "zz";
lah [55]= "aaa";
lah [56]= "bbb";
lah [57]= "ccc";
lah [58]= "ddd";
lah [59]= "eee";
String infos= lah[a];
return infos;
}
public static void main(String[] args)
{
// Declare variables - arrays
// Create Frame and Panel - set size -
JFrame frame = new JFrame("Prospect Assignment");
frame.setSize(700, 900);
JPanel mypanel = new JPanel();
JLabel[] labels = new JLabel[prospectVer2.l];
// Create labels (60) - for loop -
for (int i=0; i<labels.length; i++)
{
labels[i] = new JLabel(prospectVer2.getInfo(i));
mypanel.add(labels[i]);
labels[i].setBounds(i*10+245,i*10+210,120,20);
}
// extra functions for gui
frame.add(mypanel);
mypanel.setLayout(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
顺便说一下,我必须使用javas Swing包复制这个站点
https://cunycitytech.askadmissions.net/emtinterestpage.aspx?ip=prospect
谢谢!
解决方法:
如果您尝试启动代码,问题就会很明显:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 59
at prospectVer2.getInfo(prospectVer2.java:70)
at prospectVer2.main(prospectVer2.java:87)
在你的代码中你有私有静态int l = 59; //,t = 20,c = 11;和l用于指定长度数组.在java数组中从0索引开始,所以它意味着你的情况下最后一个可访问的数组索引应该是58,但你尝试lah [59] =“eee”;.这就是您的代码不起作用的原因.
您可以使用以下解决方案之一:
>增加l:private static int l = 60 ;;
>或删除对第59个索引的访问权限(lah [59] =“eee”;).
内容总结
以上是互联网集市为您收集整理的java – 以一种不那么冗余的方式创建多个Jlabel和JTextField?全部内容,希望文章能够帮你解决java – 以一种不那么冗余的方式创建多个Jlabel和JTextField?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。