java additem 错,Java错误:IllegalArgumentException:向容器添加窗口

我一直收到错误:

Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container

at java.awt.Container.checkNotAWindow(Container.java:483)

at java.awt.Container.addImpl(Container.java:1084)

at java.awt.Container.add(Container.java:966)

at Lab2.EmployeeGUI.main(EmployeeGUI.java:28)

有人可以帮助我,告诉我我做错了什么吗?

我是初学程序员.

package Lab2;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

/**

*

* @author Jim Doyle

*/

public class EmployeeGUI extends JFrame implements ActionListener {

JTextField fName, mName, lName, phone, sal, years;

JComboBox boxTitle, boxDept;

DefaultListModel lstdefault;

JList project;

DbWork dbw = new DbWork("Lab2");

DbWork Title = new DbWork("Lab2");

DbWork Dept = new DbWork("Lab2");

DbWork Prjs = new DbWork("Lab2");

DbWork PrjList = new DbWork("Lab2");

public static void main(String[] args) {

EmployeeGUI app = new EmployeeGUI();

JFrame frame = new JFrame("Employee Interface by Jim Doyle");

frame.getContentPane().add(app, BorderLayout.CENTER);

frame.setSize(300, 300);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public EmployeeGUI() {

JPanel labels = new JPanel();

labels.setLayout(new GridLayout(8,1));

labels.add(new JLabel("First Name"));

labels.add(new JLabel("MI"));

labels.add(new JLabel("Last Name"));

labels.add(new JLabel("Title"));

labels.add(new JLabel("Telephone"));

labels.add(new JLabel("Salary"));

labels.add(new JLabel("Department"));

labels.add(new JLabel("Years in Service"));

getContentPane().add(labels, BorderLayout.WEST);

JPanel fields = new JPanel();

fields.setLayout(new GridLayout(8,1));

fName = new JTextField(15);

mName = new JTextField(15);

lName = new JTextField(15);

phone = new JTextField(15);

sal = new JTextField(15);

years = new JTextField(15);

boxTitle = new JComboBox();

boxDept = new JComboBox();

fields.add(fName);

fields.add(mName);

fields.add(lName);

fields.add(boxTitle);

fields.add(phone);

fields.add(sal);

fields.add(years);

getContentPane().add(fields, BorderLayout.CENTER);

JPanel prjinfo = new JPanel();

prjinfo.setLayout(new GridLayout(1,2));

prjinfo.add(new JLabel("Project Description"));

project = new JList();

lstdefault = new DefaultListModel();

// add items to title combo box

while(Title.nextRecord()) {

String txtTit = Title.getField(1);

if(txtTit!=null) {

boxTitle.addItem(Title.getField(1));

}

}

// add items to department combo box

while(Dept.nextRecord()) {

String txtDept = Dept.getField(2);

if(txtDept!=null) {

boxDept.addItem(Dept.getField(2));

}

}

while(PrjList.nextRecord()) {

lstdefault.addElement(PrjList.getField(1));

}

project = new JList(lstdefault);

project.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

prjinfo.add(project);

getContentPane().add(prjinfo, BorderLayout.SOUTH);

}

public void actionPerformed(ActionEvent e) {

String button = e.getActionCommand();

if(button == "First") {

if(dbw.firstRecord()) {

Execute();

}

}

else if(button == "Next") {

if(dbw.nextRecord()) {

Execute();

}

}

else if(button == "Save") {

String sql = "UPDATE FirstName, MiddleName, LastName, WorkPhone, Salary, YearsInService FROM Employee;";

dbw.processQuery(sql);

}

}

private void action() {

boxTitle.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

JComboBox b = (JComboBox)e.getSource();

String ntitle = (String)b.getSelectedItem();

updateTitle(ntitle);

}

});

}

private void Execute() {

fName.setText(dbw.getField(1));

mName.setText(dbw.getField(2));

lName.setText(dbw.getField(3));

phone.setText(dbw.getField(5));

sal.setText(dbw.getField(6));

years.setText(dbw.getField(8));

String ftext = dbw.getField(4);

int dx = TitleList(ftext);

boxTitle.setSelectedIndex(dx);

String dtext = dbw.getField(7);

int dx2 = DeptList(dtext);

boxDept.setSelectedIndex(dx2);

action();

}

int TitleList(String title) {

int dx = 0;

for(int z=0; z

if(title.equals(boxTitle.getItemAt(z))) {

dx = z;

}

}

return dx;

}

int DeptList(String dept) {

int dx = 0;

for(int z=0; z

if(dept.equals(boxDept.getItemAt(z))) {

dx = z;

}

}

return dx;

}

private void updateTitle(String title) {

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

今天狂想自杀,找了两个星期的工具,原来我已经有了。

人爱偷懒,没办法。上网时,偶然间,发现了一个叫ReSharper的工具,这个东西的虽然支持重构,据大家的介绍,但功能不是很强,但我偶然发现里面的live template功能,可以极大地提高编程的效…

UICollectionView——整体总结

前言 这几天有时间看了下UICollectionView的东西,才发觉它真的非常强大,很有必要好好学习学习。以前虽然用过几次,但没有系统的整理总结过。这两天我为UICollectionView做一个比较全面的整理。包括基本使用,自定义布局&#xff0c…

java Class对象返回的都是指向同一个java堆地址上的Class引用

一旦类被加载了到了内存中,那么不论通过哪种方式获得该类的Class对象,它们返回的都是指向同一个java堆地址上的Class引用。jvm不会创建两个相同类型的Class对象 public class Cat {static {System.out.println("wwwww");} }class T1 {public s…

matlab基础与实例教程,MATLAB基础与实例教程

系统全面,实例丰富 考虑到Matlab进行仿真和运算分析时的基础知识和实践操作,讲解从基础的变量、函数、数据类型等入手,涉及到数学分析、图形可视化、Simulink仿真、文件读写等,全面地介绍了Matlab的分析方法。 精心编排&#xff0…

Android开发技巧——ViewPager加View情况封装PagerAdapter的实现类

ViewPager是Android的support库中的一个控件。 ViewPager Fragment的使用,已经有FragmentAdapter的实现可以帮助我们快速进行开发了; ViewPager View都要自己去继承PagerAdapter并实现,重写那些写过一次又一次的方法,于是以下对…

近300万记录的论坛还用这个分页存储过程

http://www2.gliet.edu.cn/club2/bbs/list_new_today.asp用于列出今日最新贴的。有个想不明的问题是为什么DeclareSqlText Varchar(1000)声明为1000个字符大了,但超过255字符之后exec(SqlText)就会出错。自动把后面的cut掉了?ALTERPROCEDUREbbsListNewTo…

php横排代码,20行代码原生js实现文字横向轮播

20行代码实现文字横向轮播效果1 页面布局代码恭喜793765***获得 50元超市充值卡卡奖励恭喜793765***获得 50元超市充值卡卡奖励恭喜793765***获得 50元超市充值卡卡奖励恭喜793765***获得 50元超市充值卡卡奖励恭喜793765***获得 50元超市充值卡卡奖励恭喜793765***获得 50元超…

JAVA项目中classpath路径详解

classpath是什么路径? 1.classpath指的是类路径,也就是编译之后的target文件夹下的WEB-INF/class文件夹。 2.resources文件夹存放的是各种配置文件,当项目被编译时resources下的所有配置文件均被放在 WEB-INF/class文件夹下。也就是类路径下…

将一张表的主键(ID)重置为从1开始自增排列

如果你有一张表,你的主键是ID,然后由于测来测去的原因,你的ID不是从1开始连续的自增了。 终于有一天,使用这张表的某个系统要导入正式数据了,强迫症这时候就表现的明显了,浑身不自在, 这时候你就…

涉险获胜和兵不血刃

两场比赛,两种心情。昨天的羽毛球混双决赛,除了第一局以外,中国队一直处于落后追赶的局面,让人看得心惊肉跳,手心也直冒汗。好在张军、高崚的斗志始终旺盛,互相鼓励,最终拖垮了英国选手而卫冕成…

matlab 图像的色彩强度,图像色彩增强的问题,,,小白给跪,

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼img_srcrgb2gray(img_src);img_srcdouble(img_src);[M,N]size(img_src);L256;for i1:Mfor j1;Nif img_src(i,j)R(i,j)0;G(i,j)4*img_src(i,j);B(i,j)L;elseif img_src(i,j)<L/2R(i,j)0;G(i,j)L;B(i,j)4*img_src(i,j)2*L;elseif …

Idea运行项目报错:java.lang.OutOfMemoryError: Java heap space/ java.lang.OutOfMemoryError: GC overhead 解决方法

问题 使用Idea运行代码量比较多的项目时&#xff0c;会报错&#xff1a;java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: GC overhead limit exceeded java.lang.OutOfMemoryError: GC overhead limit exceeded 仔细看了整个报错过程&#xff0c;堆…

数据库读写分离(aop方式完整实现)

http://blog.csdn.net/machunlin2010/article/details/46471983转载于:https://www.cnblogs.com/baihaojie/p/6742171.html

C#设计模式(10)-Adapter Pattern

内容篇幅较长,请点击这里阅读全文

Leaning Method

001用分布在两个地方的两台办公电脑开发一个项目&#xff0c;计划使用gitee同步代码。具体应该怎么操作&#xff1f; 要使用 Gitee 同步代码&#xff0c;你可以按照以下步骤进行操作&#xff1a; 在两台办公电脑上都安装 Git 客户端&#xff0c;并在 Gitee 上创建一个项目仓库…

wamp php文件怎么创建数据库,phpmyadmin怎么创建数据库

phpmyadmin怎么创建数据库?1、首先登陆phpmyadmin&#xff0c;有两种方法&#xff0c;第一钟是直接点击wampserver图标&#xff0c;再点击phpmyadmin即可登陆进来是最常用的方法&#xff1b;其次是在浏览器地址中输入http://localhost:8080/phpmyadmin(注意8080是端口号&#…

maven的三大生命周期

一、Maven的生命周期 Maven的生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。 Maven的生命周期是抽象的&#xff0c;即生命周期不做任何实际的工作&#xff0c;实际任务由插…

文言的理解 —— 古时的别称(地名)

圣女果&#xff08;cherry tomato&#xff09;&#xff0c;也就是小番茄&#xff1b;- 车厘子&#xff0c;也即是樱桃&#xff1b;- 凤梨&#xff0c;也就是菠萝&#xff1b;新疆的称呼在清以后才有&#xff0c;清以前统称为西域&#xff1b;1. 国家篇 东南亚&#xff1a; 暹罗…

php $start_date-sub(,PHP DateTime类常用方法总结

实例化&#xff1a;$date new DateTime();$date new DateTime(2018-01-01);$date new DateTime(tomorrow);$date new DateTime(2 day);$date new DateTime(1408950651);设置日期时间&#xff1a;$date->setTimestamp(1514739661);$date->setDate(2020, 8, 8);$date-…

static{}静态代码块与{}普通代码块和构造代码块之间的区别

public class TestStatic {{System.out.println("构造代码块");}TestStatic() {System.out.println("构造函数代码块");}//类级别的初始化&#xff0c;只是在类加载的时候做一次static {System.out.println("static静态代码块");} } 1.静态代码块…