Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当您在JLabel中有背景时,如何将Jbuttons设置为特定位置:下面的代码

当您在JLabel中有背景时,如何将Jbuttons设置为特定位置:下面的代码
EN

Stack Overflow用户
提问于 2014-03-26 09:35:35
回答 2查看 385关注 0票数 0

当您在JLabel中有背景时,如何将bottom设置到特定的位置:下面的代码无法使jlabel停留在顶部,而按钮位于南部(底部)?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ButtonsClass extends JFrame
              implements ActionListener {
    JButton b1 = new JButton("button1");
    JButton b2 = new JButton("button2");
    JButton b3 = new JButton("button3");
    JButton b4 = new JButton("button4");
    JLabel label = new JLabel("buttons:");

public static void main(String[] args) {
    new ButtonsClass();
}

public Jukebox() {
    setLayout(new BorderLayout());
    setContentPane(new JLabel(new ImageIcon("image.png")));
    setLayout(new FlowLayout());
    setSize(500,150);
    setTitle("Backgroundwithbuttons");
    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);


   JPanel top = new JPanel();

    top.add(label);
    add("North", top);
    JPanel bottom = new JPanel();
    bottom.add(b1); 
    bottom.add(b2); 
    bottom.add(b3); 
    bottom.add(b4); 
    add("South", bottom); 
    setVisible(true);
}

}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-26 09:46:09

“我不能让jlabel停留在顶部,让按钮保持在南部(底部)”

  • 这是因为您将布局设置为BorderLayout,然后立即将其设置为FlowLayout。有了FlowLayout,您的BorderLayout定位就什么也做不了。 setLayout(新BorderLayout());setContentPane(新ImageIcon(“image.png”));setLayout(新FlowLayout());

只要摆脱setLayout(new FlowLayout());

  • 此外,构造函数也是错误的。 公用点唱机(){ -Should be- public ButtonClass() {
  • 此外,还需要设置设置为内容窗格的JLabel的布局。Yout构造函数应该如下所示 setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);ButtonClass() { JLabel背景=新的JLabel(新的ImageIcon("image.png"));background.setLayout(新的BorderLayout());setContentPane(背景);setTitle(“带有按钮的背景”);setTitle(“带有按钮的背景”);setTitle JPanel top =新的JPanel();top.add(标签);add(顶上的BorderLayout.NORTH);JPanel底部=新的JPanel();bottom.add(JPanel);JPanel();bottom.add(b3);bottom.add(b4);添加(底部,BorderLayout.SOUTH);//pack();setVisible(真);}
  • 另外,add("North", top);是一种不推荐的方法。相反,可以使用add(top, BorderLayout.NORTH),而对add(bottom, BorderLayout.SOUTH)使用相同的
  • 另外,Swing应用程序应该在事件调度线程上运行。您可以通过在main中使用SwingUtilities.invokeLater...包装代码来做到这一点。 公共静态void (String[] args) { SwingUtilities.invokeLater(new ()){ public void (){新ButtonClass();};}
  • 此外,如果希望图像显示在面板后面,则应将面板的不透明属性设置为false。 Top.setOpaque(假);bottom.setOpaque(假);

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ButtonClass extends JFrame
        implements ActionListener {

    JButton b1 = new JButton("button1");
    JButton b2 = new JButton("button2");
    JButton b3 = new JButton("button3");
    JButton b4 = new JButton("button4");
    JLabel label = new JLabel("buttons:");

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new ButtonClass();
            }
        });
    }

    public ButtonClass() {
        label.setForeground(Color.WHITE);
        JLabel background = new JLabel(new ImageIcon(getClass().getResource("/resources/space.png")));
        background.setLayout(new BorderLayout());
        setContentPane(background);
        setTitle("Background with buttons");
        setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);

        JPanel top = new JPanel();
        top.setOpaque(false);
        top.add(label);
        add(top, BorderLayout.NORTH);
        JPanel bottom = new JPanel();
        bottom.setOpaque(false);
        bottom.add(b1);
        bottom.add(b2);
        bottom.add(b3);
        bottom.add(b4);
        add(bottom, BorderLayout.SOUTH);
        setSize(400, 300);
        setVisible(true);
    }

    @Override
    public void actionPerformed(ActionEvent e) {}
}
票数 1
EN

Stack Overflow用户

发布于 2014-03-26 09:45:55

试着使用:

添加(底部,BorderLayout.SOUTH);

而不是:

添加(“南方”,底部);

BorderLayout教程

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22668846

复制
相关文章
【CSS】CSS 背景设置 ② ( 背景位置 | 背景位置-方位值设置 )
background-position 属性值 可以是 length 长度 , 也可以是 position 方位 ;
韩曙亮
2023/03/30
4K0
【CSS】CSS 背景设置 ② ( 背景位置 | 背景位置-方位值设置 )
【CSS】CSS 背景设置 ③ ( 背景位置-长度值设置 | 背景位置-长度值方位值同时设置 )
文章目录 一、背景位置-长度值设置 二、背景位置-长度值方位值同时设置 三、完整代码示例 一、背景位置-长度值设置 ---- 长度值设置 效果展示 : 设置背景位置为具体值 10px 50px : 粉色区域是盒子的区域 , 图片背景位于盒子位置 x 轴方向 10 像素 , y 轴方向 50 像素 ; 在水平方向上 , 背景图片距离盒子左边界有 10 像素 , 在垂直距离上 , 背景图片距离盒子上边界有 50 像素 ; /* 设置背景位置 - x 轴方向 10 像素 , y 轴方向 50 像素 */ bac
韩曙亮
2023/03/30
2.8K0
【CSS】CSS 背景设置 ③ ( 背景位置-长度值设置 | 背景位置-长度值方位值同时设置 )
pycharm背景设置为黑色_pycharm设置护眼背景颜色
pycharm更改整体背景颜色(黑-白) 打开pycharm: 1、左上角File —- Settings
全栈程序员站长
2022/09/25
1.7K0
pycharm背景设置为黑色_pycharm设置护眼背景颜色
.NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
使用 Visual Studio 可以帮助我们在发生异常的时候中断,便于我们调试程序出现异常那一时刻的状态。如果没有 Visual Studio 的帮助(例如运行已发布的程序),当出现某个或某些特定异常的时候如何能够迅速进入中断的环境来调试呢?
walterlv
2023/10/22
4360
.NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
idea设置背景颜色为黑色(eclipse背景颜色设置黑色)
黑夜给了我黑色的眼睛我却用它来寻找光明。既然是黑色的眼睛那就设置一波黑色背景吧。在黑色额背景中寻找光明。
全栈程序员站长
2022/07/28
3.7K0
idea设置背景颜色为黑色(eclipse背景颜色设置黑色)
HTML设置图片为页面背景
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132486.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/13
4.1K0
HTML设置图片为页面背景
设置背景图片位置与大小 原
在使用背景图片时,为了使图片在不同的地方重复使用,制作图片的时候可以适当的把图片做的大些,css写样式的时候可以定义图片的大小
tianyawhl
2019/04/04
1.4K0
设置背景图片位置与大小
                                                                            原
网站下面的备案怎么设置?设置的过程当中有花销吗?
网站下面的备案怎么设置呢?既然想长时间使用某一网站,那么自然要完成备案的过程,备案的过程中是否会产生某些花销呢?
用户8715145
2021/09/30
1.7K0
Stylish样式如何设置为特定网址不生效?
因为Stylish不支持云端备份恢复,所以换成xStyle。但是xStyle并没有类似Stylish可以特殊设置的地方,所以只能在代码上进行处理了。
吴蛋蛋
2023/03/14
1K0
Stylish样式如何设置为特定网址不生效?
python 设置背景图片 和 label显示位置
matinal
2023/10/13
2550
python 设置背景图片 和 label显示位置
Vue之设置视频为背景图
前排提示:这个是基于vue的 添加依赖 找到项目的package.json文件在dependencies中加入依赖 json "vue-video": "^0.1.7", "vue-video-player": "^5.0.2", "video.js": "^7.10.2", "videojs-contrib-hls": "^5.15.0", 效果如下: json "dependencies": { "axios": "0.18.0", "echarts": "^4.1.0", "elemen
shaoshaossm
2023/02/03
2.2K0
pycharm如何设置背景为自己的图片_扣扣空间背景图片怎么设置
打开Pycharm点击左上角File,然后选择找到Settings点击进入,如图:
全栈程序员站长
2022/09/27
1.7K0
pycharm如何设置背景为自己的图片_扣扣空间背景图片怎么设置
如何将Eclipse设置为中文版[通俗易懂]
我们知道Eclipse一个开放源代码的、基于Java的可扩展开发平台,不管学习还是工作都是一款不错的集成开发环境(IDE),但是对于一些初学者看到Eclipse上满满的英文字母可能会感到无从下手,汉化后可能还好点。
全栈程序员站长
2022/08/20
4.1K0
如何将Eclipse设置为中文版[通俗易懂]
如何将EasyCVR通道设置为默认在线?
EasyCVR平台具有强大的数据接入、处理及分发能力,可支持海量视频的轻量化接入与汇聚管理。平台可支持多协议、多类型设备接入,包括:国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等。
TSINGSEE青犀视频
2023/05/19
1.1K0
IntelliJ Idea如何将设置tab设置为4个空格
在阅读Nacos源码时,想提交贡献一些源码,但发现经过本地IDE修改之后,空行处被修改了,这是因为本地使用的tab进行缩进,而Nacos源码使用的是4个空格。
程序新视界
2021/12/07
3.2K0
IntelliJ Idea如何将设置tab设置为4个空格
【CSS】CSS 背景设置 ⑨ ( 背景半透明设置 )
在使用时 , 可以 省略 0.x 前面的 0 , 直接使用 .x 作为透明度值 , 如 :
韩曙亮
2023/03/30
3.2K0
【CSS】CSS 背景设置 ⑨ ( 背景半透明设置 )
Echarts设置背景的网格线为虚线
用Echarts写了一个折线图之后,现在不太喜欢背景网格线的实线 需要改成虚线 Echarts设置背景的网格线为虚线的关键属性 yAxis: { splitLine: {
王小婷
2021/04/09
4.2K0
Echarts设置背景的网格线为虚线
Edittext In Listview,当listview的item中有edittext时,怎么保存edittext的值?
http://blog.csdn.net/lxk_1993/article/details/50527886
103style
2022/12/19
8630
Edittext In Listview,当listview的item中有edittext时,怎么保存edittext的值?
ubuntu 18.04下Chromium设置为系统设置
在ubuntu 18.04下挂上ss后firefox能直接上gg了但是chromium上不去 会出现下面两种情况
Enterprise_
2019/06/14
2.8K0
ubuntu 18.04下Chromium设置为系统设置
(四) 如何将socket设置为非阻塞模式
1. windows平台上无论利用socket()函数还是WSASocket()函数创建的socket都是阻塞模式的: SOCKET WSAAPI socket( _In_ int af, _In_ int type, _In_ int protocol ); SOCKET WSASocket( _In_ int af, _In_ int type, _In_ int
范蠡
2018/04/04
4.6K0

相似问题

添加Jbuttons和Jlabel

11

在JPanel上的特定位置设置JButtons

10

将android背景设置为特定位置

10

将do_shortcode()替换为直接函数,当您在短代码中有短代码时

10

如何将JLabel随机放置在GridLayout of JButtons上?

36
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文