
求解JAVA小程序,为什么关闭不了窗口,以及无法连接数据库。
publicclassdongextendsJFrameimplementsActionListener{privateJTextFieldsearchfield;pri...
public class dong extends JFrame implements ActionListener{
private JTextField searchfield;
private JLabel searchlabel;
private JComboBox searchcbo;
private JButton button1;
Vector vector1=new Vector();
Vector vector2=new Vector();
JScrollPane jspane;
private JPanel jp=new JPanel();
JTable table;
static Frame f;
public void go(){
f=new Frame("汽车管理系统");
searchlabel=new JLabel("汽车信息查询");
searchfield=new JTextField("请输入查询条件");
searchcbo=new JComboBox();
button1=new JButton("查询");
searchcbo.addItem("按车号查询");
searchcbo.addItem("按车型查询");
jp.setLayout(new FlowLayout());
jp.add(searchlabel);
jp.add(searchfield);
jp.add(button1);
jp.add(searchcbo);
jp.add(button1);
f.setLayout(new BorderLayout());
f.add(jp,BorderLayout.NORTH);
vector2.add("车号");
vector2.add("车型");
vector2.add("发动机");
vector2.add("排量");
vector2.add("汽缸容积");
vector2.add("工作方式");
button1.addActionListener(this);
//table.setBounds(20,80,400,400);
//this.add(table);
f.setSize(500,500);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String numorname,searchf,sql;
numorname=searchcbo.getSelectedItem().toString();
searchf=searchfield.getText().trim();
if(numorname.equals("按车号查询")){
sql="select * from M5 where number='"+searchf+"'";
}
else
{
sql="select * from M5 where name='"+searchf+"'";
}
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException ce){
System.out.println("SQLException:"+ce.getMessage());
}
try {
Connection cot=DriverManager.getConnection("jdbc:odbc:M5","","");
Statement stm=cot.createStatement();
ResultSet rs=stm.executeQuery(sql);
while(rs.next())
{
Vector vector3=new Vector();
vector3.add(rs.getString("车号"));
vector3.add(rs.getString("车型"));
vector3.add(rs.getString("发动机"));
vector3.add(rs.getString("排量"));
vector3.add(rs.getString("汽缸容积"));
vector3.add(rs.getString("工作方式"));
vector1.add(vector3);
}
stm.close();
cot.close();
}
catch(SQLException ce){
System.out.println("SQLException:"+ce.getMessage());
}
table=new JTable(vector1,vector2);
jspane=new JScrollPane(table);
f.add(jspane,BorderLayout.CENTER);
}
public static void main (String[] args) {
dong app1=new dong();
app1.go();
app1.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{System.exit(0);}
});
}
} 展开
private JTextField searchfield;
private JLabel searchlabel;
private JComboBox searchcbo;
private JButton button1;
Vector vector1=new Vector();
Vector vector2=new Vector();
JScrollPane jspane;
private JPanel jp=new JPanel();
JTable table;
static Frame f;
public void go(){
f=new Frame("汽车管理系统");
searchlabel=new JLabel("汽车信息查询");
searchfield=new JTextField("请输入查询条件");
searchcbo=new JComboBox();
button1=new JButton("查询");
searchcbo.addItem("按车号查询");
searchcbo.addItem("按车型查询");
jp.setLayout(new FlowLayout());
jp.add(searchlabel);
jp.add(searchfield);
jp.add(button1);
jp.add(searchcbo);
jp.add(button1);
f.setLayout(new BorderLayout());
f.add(jp,BorderLayout.NORTH);
vector2.add("车号");
vector2.add("车型");
vector2.add("发动机");
vector2.add("排量");
vector2.add("汽缸容积");
vector2.add("工作方式");
button1.addActionListener(this);
//table.setBounds(20,80,400,400);
//this.add(table);
f.setSize(500,500);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String numorname,searchf,sql;
numorname=searchcbo.getSelectedItem().toString();
searchf=searchfield.getText().trim();
if(numorname.equals("按车号查询")){
sql="select * from M5 where number='"+searchf+"'";
}
else
{
sql="select * from M5 where name='"+searchf+"'";
}
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException ce){
System.out.println("SQLException:"+ce.getMessage());
}
try {
Connection cot=DriverManager.getConnection("jdbc:odbc:M5","","");
Statement stm=cot.createStatement();
ResultSet rs=stm.executeQuery(sql);
while(rs.next())
{
Vector vector3=new Vector();
vector3.add(rs.getString("车号"));
vector3.add(rs.getString("车型"));
vector3.add(rs.getString("发动机"));
vector3.add(rs.getString("排量"));
vector3.add(rs.getString("汽缸容积"));
vector3.add(rs.getString("工作方式"));
vector1.add(vector3);
}
stm.close();
cot.close();
}
catch(SQLException ce){
System.out.println("SQLException:"+ce.getMessage());
}
table=new JTable(vector1,vector2);
jspane=new JScrollPane(table);
f.add(jspane,BorderLayout.CENTER);
}
public static void main (String[] args) {
dong app1=new dong();
app1.go();
app1.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{System.exit(0);}
});
}
} 展开
2个回答
展开全部
frame需要设置默认关闭按钮操作为true才可以直接关闭,详见API介绍;
如果是你说的报错,应该就是没有导入对应的jar包;
如果是你说的报错,应该就是没有导入对应的jar包;
追问
请问该如何设置?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询