【发布时间】:2016-09-26 21:42:13
【问题描述】:
我正在尝试将组件添加到我的 JPanel,但是它们的大小不正确并且不在正确的位置。这是我的组件代码。
button = new JButton();
button.setSize(100, 100);
button.setLocation(400, 400);
button.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR));
vm.panel.add(button);
它也在我正在绘制的其他东西的后面,所以它是不可见的(这就是我制作光标十字准线的原因,以查看我的按钮在哪里)。这是我画的。
g.drawImage(ImageIO.read(getClass().getResourceAsStream("/background.jpg")), 0, 0, vm.panel.getWidth(), vm.panel.getHeight(), null);
g.setColor(Color.WHITE);
g.fillRoundRect(200, 200, 880, 560, 100, 100);
g.setColor(Color.BLACK);
g.setFont(new Font("Arial", Font.PLAIN, 48));
g.drawString("Login", 575, 300);
【问题讨论】:
-
首先,绘图时不要加载图像。那会破坏你的表现。第二,你在哪里画画?它应该在
paintComponent(Graphics)。可能需要更多代码。 -
@Obicere 糟糕,我没有把它放在paintComponenet 中。组件现在可以正确绘制,但是按钮的大小和位置设置不正确。
-
1) 为了尽快获得更好的帮助,请发帖 minimal reproducible example 或 Short, Self Contained, Correct Example。 2) 例如,获取图像的一种方法是热链接到在this Q&A 中看到的图像。
-
改变按钮大小的策略: 1) 给它一个不同大小的图标。 2) 缩短或延长它显示的文本,或使用不同的字体大小。 3) 更改margin thickness