我很抱歉,如果这是一个的n00b问题,但我已经花路太长,这一次我创建的窗口侦听器,窗口事件,以及其他一切,我怎么指定调用什么方法?这是我的代码:
private static void mw() {
Frame frm = new Frame("Hello Java");
WindowEvent we = new WindowEvent(frm, WindowEvent.WINDOW_CLOSED);
WindowListener wl = null;
wl.windowClosed(we);
frm.addWindowListener(wl);
TextField tf = new TextField(80);
frm.add(tf);
frm.pack();
frm.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试获取一个URL,并下载它,我已经完成了其他所有工作,我只是想让窗口关闭.
我在应用程序中显示等待光标时遇到问题.只要鼠标位于定义自己光标的面板上方,就不会出现等待光标.如果面板未更改光标,则会出现等待光标.
我附上了SSCE来准确解释我的问题.
public class BusyCursorTest extends javax.swing.JFrame {
public BusyCursorTest() {
javax.swing.JMenuBar menuBar = new javax.swing.JMenuBar();
javax.swing.JMenu menu = new javax.swing.JMenu("Menu");
javax.swing.JMenuItem wait1 = new javax.swing.JMenuItem("Wait 100 ms");
javax.swing.JMenuItem wait2 = new javax.swing.JMenuItem("Wait 250 ms");
javax.swing.JMenuItem wait3 = new javax.swing.JMenuItem("Wait 500 ms");
javax.swing.JMenuItem wait4 = new javax.swing.JMenuItem("Wait 1000 ms");
menu.add(wait1);
menu.add(wait2);
menu.add(wait3);
menu.add(wait4);
menuBar.add(menu);
setJMenuBar(menuBar);
wait1.addActionListener(getActionListener(this, delayActionListener(100)));
wait2.addActionListener(getActionListener(this, delayActionListener(250)));
wait3.addActionListener(getActionListener(this, delayActionListener(500)));
wait4.addActionListener(getActionListener(this, delayActionListener(1000)));
cursorPanel = new javax.swing.JPanel();
cursorPanel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent e) {
cursorPanel.setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.CROSSHAIR_CURSOR));
}
public void mouseExited(java.awt.event.MouseEvent …Run Code Online (Sandbox Code Playgroud) 我知道setVisible(false),dispose()但他们无法真正关闭JDialog.当我让另一个线程停止时,JDialog的线程仍在运行.
我不能使用System.exit(0),因为其他线程需要运行一段时间.
在代码之后,我最终在程序结束时通过System.exit(0)解决问题.
public class CsUpdateCtrl {
/**
* ??service
*/
private CsUpdateService service;
private CsUpdateCtrl() {
this.service = (CsUpdateService) RmiUtil.getBean(RmiUtil.Service.csupdate);
}
private static final Logger log = Logger.getLogger(CsUpdateCtrl.class.getName());
public static void main(String[] args) throws IOException {
LogUtil.read();
log.info("????????");
CsUpdateCtrl ctrl = null;
try {
ctrl = new CsUpdateCtrl();
} catch (Exception e) {
SwingUtil.lookAndFeel();
SwingUtil.message("???????!");
log.info("???????:" + e.getMessage());
return;
}
ctrl.start(ctrl.service.version());
}
/**
* ?????????????????????
*/
private void start(int version) {
PropertyIO io …Run Code Online (Sandbox Code Playgroud)