java 适应边框_java – 不可调整大小的窗口边框和定位

What are the problems with settings bounds on non-resizable containers?

假设您调整边界以在平台上看起来很好.假设用户的平台具有不同的字体,比如说更大的FontMetrics.这个例子有点人为,但你明白了.如果更改不可调整大小的容器的边界,请确保无论主机平台的默认字体如何,任何文本都可见.

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.SwingUtilities;

/**

* @see https://stackoverflow.com/a/12532237/230513

*/

public class Evil extends JPanel {

private static final String s =

"Tomorrow's winning lottery numbers: 42, ";

private JLabel label = new JLabel(s + "3, 1, 4, 1, 5, 9", JLabel.LEFT);

public Evil() {

this.add(label);

}

private void display() {

JFrame f = new JFrame("Evil");

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.add(this, BorderLayout.WEST);

f.pack();

int w = SwingUtilities.computeStringWidth(

label.getFontMetrics(label.getFont()), s);

int h = f.getHeight();

f.setSize(w, h);

f.setResizable(false);

f.setLocationRelativeTo(null);

f.setVisible(true);

}

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

new Evil().display();

}

});

}

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值