我试图用面板将一个窗口分成几个部分,但它们都调整为一个巨大的框架 导入精灵。*; 导入javax.swing.*; 导入java.awt.*; 公共班机{ 公共卫生=100; 公共int ArmourPt=0; 公共int黄金=250; 公共静态JLabel Goldlbl=新JLabel(“Gold”); 公共静态JLabel Healthlbl=新JLabel(“健康:”); 公共静态JLabel ArmourPtLbl=新JLabel(“装甲点”); 公共静态JFrame主窗口=新建JFrame(); 公共静态智力伤害(智力伤害,智力装甲){ 伤害=伤害-护甲+伤害/伤害+护甲/伤害*伤害-护甲+伤害+25; 如果(返回损坏
当执行此操作时,应该将两个面板移到一边,并且具有不同的大小,总计为Y和350 X。相反,它只会使它们的大小相同,并在窗口周围形成一个边框 我如何让它这样做 (编辑)我已经纠正了打字错误。只有统计面板才做它应该做的。我试图用面板将一个窗口分成几个部分,但它们都调整为一个巨大的框架 导入精灵。*; 导入javax.swing.*; 导入java.awt.*; 公共班机{ 公共卫生=100; 公共int ArmourPt=0; 公共int黄金=250; 公共静态JLabel Goldlbl=新JLabel(“Gold”); 公共静态JLabel Healthlbl=新JLabel(“健康:”); 公共静态JLabel ArmourPtLbl=新JLabel(“装甲点”); 公共静态JFrame主窗口=新建JFrame(); 公共静态智力伤害(智力伤害,智力装甲){ 伤害=伤害-护甲+伤害/伤害+护甲/伤害*伤害-护甲+伤害+25; 如果(返回损坏,java,swing,jpanel,awt,Java,Swing,Jpanel,Awt,当执行此操作时,应该将两个面板移到一边,并且具有不同的大小,总计为Y和350 X。相反,它只会使它们的大小相同,并在窗口周围形成一个边框 我如何让它这样做 (编辑)我已经纠正了打字错误。只有统计面板才做它应该做的。 另外,我不想使用布局管理器。我想自己设置所有内容的大小。您输入了一个错误。您添加统计面板两次 此外,您可能需要设置布局管理器 编辑:响应您的编辑。 与所有面板一样,内容窗格将默认为Flow布局。如果要自己设置大小和位置,则需要将其设置为使用其他布局管理器或不使用布局管理器。我建议不
另外,我不想使用布局管理器。我想自己设置所有内容的大小。您输入了一个错误。您添加统计面板两次 此外,您可能需要设置布局管理器 编辑:响应您的编辑。 与所有面板一样,内容窗格将默认为Flow布局。如果要自己设置大小和位置,则需要将其设置为使用其他布局管理器或不使用布局管理器。我建议不要这样做,因为您的代码将无法轻松处理不同的分辨率和屏幕大小 以下是有关不使用布局管理器进行编码的信息
尝试使用
GridBaglayout
默认情况下,内容窗格可能有一个布局管理器。尝试调用
MPanel.setLayout(null)代码>在添加组件之前。@user2839482我更新了我的答案以匹配您的编辑。谢谢!我不想使用布局管理器。事情需要精确定位。不,内容窗格总是默认为BorderLayout,而不是FlowLayout。
import Sprites.*;
import javax.swing.*;
import java.awt.*;
public class Main {
public int Health = 100;
public int ArmourPt = 0;
public int Gold = 250;
public static JLabel Goldlbl = new JLabel("Gold:");
public static JLabel Healthlbl = new JLabel("Health:");
public static JLabel ArmourPtLbl = new JLabel("Armour Points");
public static JFrame MainWindow = new JFrame();
public static int CalcDamage(int Damage, int Armour){
int ReturnDamage = Damage - Armour + Damage / Damage + Armour / Damage * Damage - Armour + Damage + 25 ;
if(ReturnDamage < 0){
ReturnDamage = 0;
}
return ReturnDamage;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MainWindow.setSize(1500, 700);
MainWindow.setTitle("Ampventure");;
JPanel MPanel = (JPanel)MainWindow.getContentPane();
JPanel StatsPanel = new JPanel();
StatsPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 4));
StatsPanel.setSize(350, 450);
StatsPanel.setLocation(0, 0);
StatsPanel.setMaximumSize(new Dimension (350, 450));
MPanel.add(StatsPanel);
JPanel InvPanel = new JPanel();
InvPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK, 4));
InvPanel.setSize(350, 250);
InvPanel.setLocation(0, 450);
StatsPanel.setMaximumSize(new Dimension (350, 250));
MPanel.add(InvPanel);
MainWindow.setVisible(true);
}
}