Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-在jframe调整大小时调整组件大小_Java_Jframe_Size_Screen - Fatal编程技术网

Java-在jframe调整大小时调整组件大小

Java-在jframe调整大小时调整组件大小,java,jframe,size,screen,Java,Jframe,Size,Screen,我想做个游戏。我在多台计算机上进行测试,当我测试它时,我在另一台具有不同屏幕的计算机上看到JFrame中所有组件的大小都发生了变化。 当JFrame重新调整大小时,我如何管理重新调整组件大小 注意:我看到关于这个主题的多个线程,没有一个修复了我的问题 编辑:让我们从以下代码开始: Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); width = screenSize.getWidth();

我想做个游戏。我在多台计算机上进行测试,当我测试它时,我在另一台具有不同屏幕的计算机上看到JFrame中所有组件的大小都发生了变化。 当JFrame重新调整大小时,我如何管理重新调整组件大小

注意:我看到关于这个主题的多个线程,没有一个修复了我的问题

编辑:让我们从以下代码开始:

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        width = screenSize.getWidth();
        height = screenSize.getHeight();
        ImageIcon main_Icon = new ImageIcon(ICON);
        setName("NAME");
        setIconImage(main_Icon.getImage());
        setResizable(false);
        setUndecorated(true);


        character_Label= new JLabel(new ImageIcon(ICON);

        character_Panel= new JPanel();
        character_Panel.add(character_Label);
        character_Panel.setOpaque(false);
        character_Panel.setSize(35, 35);
        character_Panel.setLocation((int) width / 2, 0);

        ImageIcon restart_Button_Icon = new ImageIcon(ICON);
        ImageIcon menu_Button_Icon = new ImageIcon(ICON);

        restart_Button = new JButton();
        restart_Button.setIcon(restart_Button_Icon);
        restart_Button.setSize(110, 45);
        restart_Button.setLocation((int) width / 2 - (restart_Button.getWidth() / 2), (int) height / 2 - 100);
        restart_Button.setVisible(false);
        restart_Button.setContentAreaFilled(false);
        restart_Button.setFocusPainted(false);
        restart_Button.setOpaque(false);

        menu_Button = new JButton();
        menu_Button.setIcon(menu_Button_Icon);
        menu_Button.setSize(110, 45);
        menu_Button.setLocation((int) width / 2 - (menu_Button.getWidth() / 2), (int) (height / 2));
        menu_Button.setVisible(false);
        menu_Button.setContentAreaFilled(false);
        menu_Button.setFocusPainted(false);
        menu_Button.setOpaque(false);

        Danger_1= new JLabel(new ImageIcon(MainActivity.class.getResource(ICON);
        Danger_2= new JLabel(new ImageIcon(MainActivity.class.getResource(ICON);
        Danger_3= new JLabel(new ImageIcon(MainActivity.class.getResource(ICON);
        Danger_4= new JLabel(new ImageIcon(MainActivity.class.getResource(ICON);
        Danger_5= new JLabel(new ImageIcon(MainActivity.class.getResource(ICON);
        Danger_6= new JLabel(new ImageIcon(MainActivity.class.getResource(ICON);

        Danger_1 = new JPanel();
        Danger_1.add(line_Label_1);
        Danger_1.setOpaque(false);
        Danger_1.setSize(300, 30);
        Danger_1.setLocation(0, 200);

    Danger_2 = new JPanel();
        Danger_2.add(line_Label_2);
        Danger_2.setOpaque(false);
        Danger_2.setSize(300, 30);
        Danger_2.setLocation((int) width - Danger_2.getWidth(), 300);

        Danger_3 = new JPanel();
        Danger_3.add(line_Label_3);
        Danger_3.setOpaque(false);
        Danger_3.setSize(300, 30);
        Danger_3.setLocation(0, 400);

        Danger_4 = new JPanel();
        Danger_4.add(line_Label_4);
    Danger_4.setOpaque(false);
        Danger_4.setSize(300, 30);
        Danger_4.setLocation((int) width - Danger_4.getWidth(), 500);

        Danger_5 = new JPanel();
        Danger_5.add(line_Label_5);
        Danger_5.setOpaque(false);
        Danger_5.setSize(300, 30);
        Danger_5.setLocation(0, 600);

        Danger_6 = new JPanel();
        Danger_6.add(line_Label_6);
        Danger_6.setOpaque(false);
    Danger_6.setSize(300, 30);
    Danger_6.setLocation((int) width - Danger_6.getWidth(), 700);

        getContentPane().setBackground(Color.GREEN);
        setSize((int) width, (int) height);
        setLocationRelativeTo(null);
        setVisible(true);
        setLayout(null);
        setExtendedState(JFrame.MAXIMIZED_BOTH);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        add(restart_Button);
        add(menu_Button);
        add(character_Panel);
        add(Danger_Panel_1);
        add(Danger_Panel_2);
        add(Danger_Panel_3);
        add(Danger_Panel_4);
        add(Danger_Panel_5);
        add(Danger_Panel_6);
我现在解释一下

角色面板是移动的主要角色。
危险1、危险2等。。是地面上的尖峰。

在代码开头,您使用屏幕的宽度和高度来设置JFrame的大小

当你设置角色的大小和“危险”时,你应该做同样的事情,但要成比例


例如,如果字符始终高达框架高度的1/10,宽达框架宽度的1/10,则应执行类似于
character.setSize(宽度/10,高度/10)的操作

在代码的开头,您可以使用屏幕的宽度和高度来设置JFrame的大小

当你设置角色的大小和“危险”时,你应该做同样的事情,但要成比例


例如,如果字符始终高达框架高度的1/10,宽达框架宽度的1/10,则应执行类似于
character.setSize(宽度/10,高度/10)的操作

你在JFrame上使用什么布局?如果不查看你的代码,没有人可以帮助你。请共享你的代码。@prasanth,我在使用(null),我会编辑代码,请稍等。你在JFrame上使用什么布局?如果不查看你的代码,没有人可以帮助你。请共享你的代码。@prasanth,我在使用(null),我会编辑代码,请稍等。