gpt4 book ai didi

java - ComponentListener 不工作

转载 作者:行者123 更新时间:2023-12-04 16:46:13 24 4
gpt4 key购买 nike

请看下面的代码。

package normal;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class MainForm extends JFrame implements ComponentListener
{
private JTabbedPane tab;

private InsertForm insertForm;
private UpdateDeleteForm updateDelete;
private SearchForm searchForm;

public MainForm()
{
tab = new JTabbedPane();
insertForm = new InsertForm();
updateDelete = new UpdateDeleteForm();
searchForm = new SearchForm();

//Creating the main window
tab.add(insertForm,"Insert");
tab.add(updateDelete,"Update/Delete");
tab.add(searchForm,"Search");
tab.addChangeListener(new TabChangeWork());

getContentPane().add(tab);




// this.setSize(500,500);
this.setTitle("My Phone Book App");
this.setResizable(false);
this.pack();
this.validate();
this.setLocationRelativeTo(null);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

@Override
public void componentResized(ComponentEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}

@Override
public void componentMoved(ComponentEvent e)
{
System.out.println("X Location: "+this.getX());
}

@Override
public void componentShown(ComponentEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}

@Override
public void componentHidden(ComponentEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}

private class TabChangeWork implements ChangeListener
{

@Override
public void stateChanged(ChangeEvent e)
{
JTabbedPane tabSource = (JTabbedPane)e.getSource();

int index = tabSource.getSelectedIndex();
System.out.println("Tab Changed to: "+tabSource.getTitleAt(index));


if(tabSource.getTitleAt(index).equals("Update/Delete"))
{
updateDelete.addNames();
}
}

}
}

在这里,ComponentListener 无法正常工作,因为方法“ComponentMoved”中的操作没有发生。如果移动,我正在尝试获取 JFrame 的新坐标。为什么它不起作用?请帮忙!!

最佳答案

您有 未注册 ComponentListener代码中的任何地方...

像这样做....

component_to_monitor.addComponentListener(this);

关于java - ComponentListener 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11923393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com