java Swing设计的窗口如何禁止缩小,而不禁止放大呢?注:不想用setResizable(false)这样也不能放大了。求帮忙。看到网上说,代码里的两种方法管用?但并不管用
package testSwing;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
public class testMenuBar extends JFrame {
public testMenuBar(){
setSize(600,500);
//方法1
setMinimumSize(new Dimension(600,500));
setLocationRelativeTo(null);
setDefaultCloseOperation(3);
setLayout(new FlowLayout(FlowLayout.CENTER));
JMenuItem item1=new JMenuItem("打开文件");
JMenuItem item2=new JMenuItem("新建文件");
JMenu menu1=new JMenu("文件");
menu1.add(item1);
menu1.add(item2);
JMenuItem item3=new JMenuItem("清除数据");
JMenuItem item4=new JMenuItem("保存数据");
JMenu menu2=new JMenu("数据");
menu2.add(item3);
menu2.add(item4);
JMenuBar menuBar=new JMenuBar();
menuBar.add(menu1);
menuBar.add(menu2);
setJMenuBar(menuBar);
//方法2
addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
int width = getWidth();
int height = getHeight();
// 检查宽度或高度是否小于最小尺寸
if (width < 600 || height < 500) {
setSize(Math.max(width, 600), Math.max(height, 500));
}
}
});
setVisible(true);
}
public static void main(String[] args){
new testMenuBar();
}
}
代码如下,确保不小于初始窗口