我是一个完全初学者,试图将Java作为我的第一语言学习。当我将TYPE和Skills添加到窗口时,只显示最后添加的(在这种情况下,技能)。我怎样才能让两者都出现?
谢谢, 猎食
public class Funclass extends JFrame{
FlowLayout layout = new FlowLayout();
String[] Skillz = {"Analytical", "Numerical", "Leadership",
"Communication", "Organisation", "Interpersonal"};
public Funclass(){
super("Title Bar");
JTextField Company = new JTextField("Company Name");
JComboBox TYPE = new JComboBox();
JList Skills = new JList(Skillz);
TYPE.addItem("Choose which type of firm");
TYPE.addItem("Consultancy");
TYPE.addItem("Tech");
Skills.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
add(TYPE);
add(Skills);
}
}
答案 0 :(得分:3)
您忘了添加
setLayout(layout);
在构造函数中。
答案 1 :(得分:1)
您忘记设置已声明为FlowLayout layout = new FlowLayout();
的布局管理器,因此您只需在构造函数中添加this.setLayout(layout);
。
答案 2 :(得分:1)
这不是你问题的直接答案,但如果你刚刚开始学习Java,我认为你应该不会开始尝试用Swing构建用户界面(“Swing”是你正在使用的Java的一部分这里构建一个GUI,它相当复杂)。你真的是在高端跳进去。
关于您的代码的一个小问题。命名变量和方法的Java约定是使用“camel-case”并以小写字符“somethingLikeThis”开头。所以你的变量名都应该是小写的,因为它们都只是单个单词。即。 “技能”,“类型”,“公司”。
我强烈推荐Ken Arnold为Java初学者编写的“Java编程语言”一书。