有关java中JFrame的问题
各位大虾好,最近我在做一个扫雷的小游戏,我想点击不同的菜单标签能选择不同的游戏等级,也就是不同的窗口大小,请问应该怎么做?还有一个基础的问题,为什么我看大家写的窗口类,大...
各位大虾好,最近我在做一个扫雷的小游戏,我想点击不同的菜单标签能选择不同的游戏等级,也就是不同的窗口大小,请问应该怎么做?
还有一个基础的问题,为什么我看大家写的窗口类,大多数都是先构造,再最后运行一个 new "窗口类"().setVisible(true) 就可以了?
哪位大虾可以帮我详细解释一下吗?
我知道setVisible(true),我想问那个 new "窗口类"()是什么意思? 展开
还有一个基础的问题,为什么我看大家写的窗口类,大多数都是先构造,再最后运行一个 new "窗口类"().setVisible(true) 就可以了?
哪位大虾可以帮我详细解释一下吗?
我知道setVisible(true),我想问那个 new "窗口类"()是什么意思? 展开
展开全部
//写了个例子 你看看吧
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class DynFrame extends JFrame {
private static final long serialVersionUID = 1L;
private int width = 360;
private int height = 300;
private JButton [] bs = new JButton[3];
public DynFrame() {
init();
}
private void init() {
this.setLayout(null);
this.setLocation(200, 200);
for(int i = 0; i < bs.length; i ++) {
bs[i] = new JButton("Lever" + (i + 1));
bs[i].setBounds(10 + i * 100, 20, 100, 20);
final int j = i;
bs[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
DynFrame.this.setSize(width * (j + 1), height * (j +1));
}});
this.getContentPane().add(bs[i]);
}
this.setSize(width, height);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new DynFrame();
}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class DynFrame extends JFrame {
private static final long serialVersionUID = 1L;
private int width = 360;
private int height = 300;
private JButton [] bs = new JButton[3];
public DynFrame() {
init();
}
private void init() {
this.setLayout(null);
this.setLocation(200, 200);
for(int i = 0; i < bs.length; i ++) {
bs[i] = new JButton("Lever" + (i + 1));
bs[i].setBounds(10 + i * 100, 20, 100, 20);
final int j = i;
bs[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
DynFrame.this.setSize(width * (j + 1), height * (j +1));
}});
this.getContentPane().add(bs[i]);
}
this.setSize(width, height);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new DynFrame();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询