java jframe中的button不能自动显示出来_如何使JFrame自动调整大小以显示所有按钮...

我有一个简单的swing应用程序,它包含一个JLabel和三个按钮 . 这三个按钮位于自己的JPanel中,它与JLabel一起位于JFrame中 . JPanel使用flowlayout管理器水平排列按钮,JFrame使用BorderLayout管理器垂直排列JLabel和JPanel .

我的问题是当我启动应用程序时,在使用过程中,其中一个按钮上的文本发生变化,这会增加其宽度 . 但是,窗口没有调整大小以适应这个并且其中一个按钮消失 . 我想再次调用pack(),但JFrame是我的构造函数中的局部变量,同样,我不应该告诉我的程序调整大小,对吧?我一直无法在谷歌或这里找到任何帮助我,但必须有一个简单的解决方案,我错过了什么?代码如下 .

playButton = new JButton("Play");

pauseButton = new JButton("Pause");

stopButton = new JButton("Stop");

curTrackLabel = new JLabel("No Track Selected");

JFrame myFrame = new JFrame("MediaPlayer");

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

myFrame.setTitle("MediaPlayer");

myFrame.setLocation(400,300);

JPanel topPanel = new JPanel();

topPanel.setLayout(new BorderLayout());

myFrame.add(topPanel);

JPanel buttonPanel = new JPanel(new FlowLayout());

buttonPanel.add(playButton);

buttonPanel.add(pauseButton);

buttonPanel.add(stopButton);

topPanel.add(buttonPanel, BorderLayout.CENTER);

topPanel.add(curTrackLabel, BorderLayout.NORTH);

playButton.addActionListener(new playButtonHandler());

pauseButton.addActionListener(new pauseButtonHandler());

stopButton.addActionListener(new stopButtonHandler());

myFrame.pack();

myFrame.setVisible(true);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值