Java 在netbeans中,此代码中的适当事件是什么?
我有一个内部框架,但每次激活任何内部框架时,组合框中的值都会在下拉列表中重复,如何防止这种情况发生 事实上,我的问题是当任何其他内部框架被激活时,组合框开始复制Java 在netbeans中,此代码中的适当事件是什么?,java,swing,Java,Swing,我有一个内部框架,但每次激活任何内部框架时,组合框中的值都会在下拉列表中重复,如何防止这种情况发生 事实上,我的问题是当任何其他内部框架被激活时,组合框开始复制 private void formInternalFrameActivated(javax.swing.event.InternalFrameEvent evt) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con=
private void formInternalFrameActivated(javax.swing.event.InternalFrameEvent evt) {
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con= DriverManager.getConnection("jdbc:odbc:ref","sa","niit@123");
Statement st1=con.createStatement();
ResultSet rs1=st1.executeQuery("select opid from patient");
while(rs1.next())
{
opid_combo.addItem(rs1.getString(1));
}}
catch(Exception e)
{
System.out.println(e);
}
您应该在重新加载组合框值之前清除它们
private void formInternalFrameActivated(javax.swing.event.InternalFrameEvent evt) {
// Remove items first
opid_combo.removeAllItems()
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con= DriverManager.getConnection("jdbc:odbc:ref","sa","niit@123");
Statement st1=con.createStatement();
ResultSet rs1=st1.executeQuery("select opid from patient");
while(rs1.next())
{
opid_combo.addItem(rs1.getString(1));
}
}
catch(Exception e)
{
System.out.println(e);
}
}
吹毛求疵
当我在这里的时候。每次激活帧时重新加载项目可能不是一个好主意。如果您需要在某个时间重新加载组合框,您可能应该提供一个“刷新”选项
另外,在事件调度线程的上下文中这样做也不是一个好主意,因为它会使应用程序在每次切换帧时“暂停”。相反,使用类似a的方法在后台加载值在重新加载之前,您应该清除组合框值
private void formInternalFrameActivated(javax.swing.event.InternalFrameEvent evt) {
// Remove items first
opid_combo.removeAllItems()
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con= DriverManager.getConnection("jdbc:odbc:ref","sa","niit@123");
Statement st1=con.createStatement();
ResultSet rs1=st1.executeQuery("select opid from patient");
while(rs1.next())
{
opid_combo.addItem(rs1.getString(1));
}
}
catch(Exception e)
{
System.out.println(e);
}
}
吹毛求疵
当我在这里的时候。每次激活帧时重新加载项目可能不是一个好主意。如果您需要在某个时间重新加载组合框,您可能应该提供一个“刷新”选项
另外,在事件调度线程的上下文中这样做也不是一个好主意,因为它会使应用程序在每次切换帧时“暂停”。相反,使用类似于的方法在后台加载值
我的问题是当任何其他内部框架被激活时,组合框开始复制
private void formInternalFrameActivated(javax.swing.event.InternalFrameEvent evt) {
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con= DriverManager.getConnection("jdbc:odbc:ref","sa","niit@123");
Statement st1=con.createStatement();
ResultSet rs1=st1.executeQuery("select opid from patient");
while(rs1.next())
{
opid_combo.addItem(rs1.getString(1));
}}
catch(Exception e)
{
System.out.println(e);
}
不要在internalFrameActivated
事件中加载数据。而是使用internalFrameOpened
事件,并且只能在第一次执行
我的问题是当任何其他内部框架被激活时,组合框开始复制
private void formInternalFrameActivated(javax.swing.event.InternalFrameEvent evt) {
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con= DriverManager.getConnection("jdbc:odbc:ref","sa","niit@123");
Statement st1=con.createStatement();
ResultSet rs1=st1.executeQuery("select opid from patient");
while(rs1.next())
{
opid_combo.addItem(rs1.getString(1));
}}
catch(Exception e)
{
System.out.println(e);
}
不要在
internalFrameActivated
事件中加载数据。请改为使用internalFrameOpened
事件,并且只能在第一次执行此操作。尝试在向组合框添加字符串之前清除组合框。此外,什么方法包含上述代码?尝试在向组合框添加字符串之前清除组合框。另外,什么方法包含上述代码?