gpt4 book ai didi

java - 我想添加一个状态栏,该状态栏应出现在显示器屏幕的底部,随显示器尺寸的变化而变化

转载 作者:行者123 更新时间:2023-12-01 13:32:11 25 4
gpt4 key购买 nike

我的查询可能很简单,但它让我陷入困境。我正在Windows 8 PC上使用netbeans7.4和java开发一个软件,我有一个MainForm,它出现在全屏上,只显示菜单栏(顶部)和标签(用于背景图像)。我使用以下代码将其设置为用户的屏幕尺寸

this.setExtendedState(Main_Form.MAXIMIZED_BOTH);

现在我想添加一个状态栏,它应该出现在窗口底部,并且每次在不同尺寸的显示器上运行时都应该识别屏幕底部的位置。

最佳答案

使用BorderLayout,将组件添加到SOUTH位置,这将自动调整水平大小。将标签保持在CENTER位置

查看How to use BorderLayout了解更多详情

Status

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;

public class StatusBarExample {

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

public StatusBarExample() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException ex) {
} catch (InstantiationException ex) {
} catch (IllegalAccessException ex) {
} catch (UnsupportedLookAndFeelException ex) {
}

JPanel statusBar = new JPanel(new FlowLayout(FlowLayout.LEFT));
statusBar.setBorder(
new CompoundBorder(
new LineBorder(Color.DARK_GRAY),
new EmptyBorder(4, 4, 4, 4)));
final JLabel status = new JLabel();
statusBar.add(status);

JLabel content = new JLabel("Content in the middle");
content.setHorizontalAlignment(JLabel.CENTER);

final JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(content);
frame.add(statusBar, BorderLayout.SOUTH);

frame.addComponentListener(new ComponentAdapter() {

@Override
public void componentResized(ComponentEvent e) {
status.setText(frame.getWidth() + "x" + frame.getHeight());
}

});

frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}

}

关于java - 我想添加一个状态栏,该状态栏应出现在显示器屏幕的底部,随显示器尺寸的变化而变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21509059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com