我使用JFrame
,我想,只要用户从原始大小(400x300)调整大小并且width
达到某个值,就可以做一些事情,让我们来电话这是一个打印命令。我用:
import javax.swing.JFrame;
public class DC extends JFrame {
public DC() {
setSize(400, 300);
setVisible(true);
if (getWidth() >= 1000) System.out.print("Thousand");
}
public static void main(String[] args) {
DC dc = new DC();
dc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
这有效,但仅限于我从一开始就setSize(1000, 300)
,而不是在用户调整框架大小时。我知道要摇摆这样,我认为这不是解决这个问题的方法。我应该在哪里解决这个问题? TY
答案 0 :(得分:2)
您的新修改代码(只要窗口宽度大于等于1000就会打印出数千个) ----
import java.awt.Component; //import these 3 header files
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import javax.swing.JFrame;
public class DC extends JFrame {
public DC() {
setSize(400, 300);
setVisible(true);
// if (getWidth() >= 1000) System.out.print("Thousand");
addComponentListener(new ComponentAdapter()
{
public void componentResized(ComponentEvent evt) {
Component c = (Component)evt.getSource();
if(c.getWidth()>=1000) //This will print Thousand
{
System.out.println("Thousand");
}
}
});
}
public static void main(String[] args) {
DC dc = new DC();
dc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}