java swing 按钮位置_Java Swing按钮定位

这里的情况如下:我有一个JFrame,我存储了一个图像列表 . 按下右键时,我会在此全屏JFrame中显示下一个图像 . 我想在屏幕的右上角有一个退出JButton,这就是问题所在 . 为此,我每次更改图像时都会创建一个新的JPanel,从框架中删除旧的JPanel,并将JButton添加到新的JPanel中 . 问题如下:当我启动程序时,JButton位于JFrame的中间 . 一旦我按下右键加载下一个图像,JButton就在正确的位置 . 但是,调用方法显示下一个图像的变通方法失败 . 即使我将JButton设置为不可见,直到按下右键并加载第二个图像,它仍将位于屏幕的中心而不是右上角 . 使用以下代码:

BufferedImage image = ImageIO.read(images.get(number));

JPanel panel = new JPanel() {

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

g.drawImage(image, 0, 0, null);

}

};

if (currentPanel != null) {

this.remove(currentPanel);

}

panel.setSize(Gallery.this.getSize());

currentPanel = this.add(panel);

jButton1.setBounds(Gallery.this.getWidth() - jButton1.getWidth(), 0, jButton1.getWidth(), jButton1.getHeight());

panel.add(jButton1);

currentPanel.repaint();

此代码在启动时执行一次 . 那时JButton就在中间 . 加载下一个图像时再次执行,现在JButton处于正确的位置 .

我已经尝试了很多东西,比如将JButton添加到JFrame,将JPanels布局设置为null(使按钮不可见),重绘,打包,无效,我尝试的任何东西似乎都无效 . 是否有人能够指示Swing将JButton放在我的JFrame的右上角?非常感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值